| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
2959: Rework how we send diagnostics to client r=matklad a=kiljacken
The previous way of sending from the thread pool suffered from stale diagnostics due to being canceled before we could clear the old ones.
The key change is moving to sending diagnostics from the main loop thread, but doing all the hard work in the thread pool. This should provide the best of both worlds, with little to no of the downsides.
This should hopefully fix a lot of issues, but we'll need testing in each individual issue to be sure.
Co-authored-by: Emil Lauridsen <[email protected]>
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The previous way of sending from the thread pool suffered from stale
diagnostics due to being canceled before we could clear the old ones.
The key change is moving to sending diagnostics from the main loop
thread, but doing all the hard work in the thread pool. This should
provide the best of both worlds, with little to no of the downsides.
This should hopefully fix a lot of issues, but we'll need testing in
each individual issue to be sure.
|
|\ \
| |/
|/|
| |
| |
| |
| |
| | |
2990: Use name only when searching for an import candidate r=me a=SomeoneToIgnore
Co-authored-by: Kirill Bulatov <[email protected]>
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
2993: vscode: fix bundling by switching to es2015 target modules system r=matklad a=Veetaha
Quick fix
Co-authored-by: Veetaha <[email protected]>
|
| | | |
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
2991: vscode: updated rollup typescript so it typechecks the bundle r=Veetaha a=Veetaha
See [this happy update](https://github.com/rollup/plugins/blob/master/packages/typescript/CHANGELOG.md#v300) from `@rollup/typescript-plugin` changelog)
I also added a utility script to view the latest dependencies versions (`dry-run` variant) and update them in batch. Beware, that it bumps versions even if the major version of them has changed (for updating only within one major version there is a cli option, but I didn't want add a whole bunch of scripts)
Some of the dependencies major versions are out of date:
```
~/my/projects/rust-analyzer/editors/code (feature/refactoring-vscode-ext) $ npm run bump-deps:dry-run
> [email protected] bump-deps:dry-run /home/veetaha/my/projects/rust-analyzer/editors/code
> npm-check-updates
Checking /home/veetaha/my/projects/rust-analyzer/editors/code/package.json
[====================] 16/16 100%
jsonc-parser ^2.1.0 → ^2.2.0
@rollup/plugin-commonjs ^11.0.1 → ^11.0.2
@rollup/plugin-node-resolve ^6.1.0 → ^7.1.0
@types/node ^12.12.25 → ^13.7.0
rollup ^1.30.1 → ^1.31.0
tslint ^5.20.1 → ^6.0.0
vsce ^1.71.0 → ^1.72.0
```
Co-authored-by: Veetaha <[email protected]>
|
| | | |
|
|/ / |
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| | |
2989: vscode extension: migrate from any to unknown where possible r=Veetaha a=Veetaha
`unknown` type is the stricter version of `any` and it should always be prefered (like `const` over `let`).
It lets you assign any value to it, but doesn't let you carry out arbitrary operations on them without an explicit type check (like `typeof unknownValue === 'string'`).
Co-authored-by: Veetaha <[email protected]>
|
| | |
|
| | |
|
| | |
|
|\|
| |
| |
| |
| |
| |
| |
| | |
2987: vscode refactoring: use more laconic export snytax, split huge string literal r=matklad a=Veetaha
Co-authored-by: Veetaha <[email protected]>
|
| | |
|
|/
|
|
| |
several lines
|
|\
| |
| |
| |
| |
| |
| |
| | |
2986: vscode extension cleanup: migrate to prefer-const tslint rule r=matklad a=Veetaha
Co-authored-by: Veetaha <[email protected]>
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| | |
2985: Avoid premature pessimization r=matklad a=matklad
Co-authored-by: Aleksey Kladov <[email protected]>
|
|/
|
|
|
|
| |
The extra allocation for message should not matter here at all, but
using a static string is just as ergonomic, if not more, and there's
no reason to write deliberately slow code
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
2979: vscode: now we are actually using tslib r=matklad a=Veetaha
We had an incorrect setup where `tslib` was in `devDependencies`.
FYI:
tslib is a runtime dependency, it contains functions that are used by transpiled JavaScript in order not to inline them in each file.
For example:
```ts
// foo.ts (source code)
import * as foo from "foo";
// ---------------------------
// foo.js (compiled output)
"use strict";
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
const foo = __importStar(require("foo"));
```
As you see, `tsc` generated that `__importStar` helper function in compiled output. And it generates it per each file if you don't enable `"importHelpers": true`. Now with `importHelpers` enabled we get the following picture:
```ts
// foo.ts (source code)
import * as foo from "foo";
// ---------------------------
// foo.js (compiled output)
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const foo = tslib_1.__importStar(require("foo"));
```
It saves some bundle size, but I am not entirely sure wheter we want that. Discussions are welcome!
Co-authored-by: Veetaha <[email protected]>
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
2983: Fix repo link in package.json r=matklad a=Veetaha
Fix repo link
Co-authored-by: Veetaha <[email protected]>
|
| |/ |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
2982: Merge imports when auto importing r=flodiebold a=SomeoneToIgnore
Co-authored-by: Kirill Bulatov <[email protected]>
|
| | | |
|
| | | |
|
| | | |
|
| |/ |
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
2978: Auto import functions r=flodiebold a=SomeoneToIgnore
A follow up for https://github.com/rust-analyzer/rust-analyzer/pull/2887#issuecomment-577832601
I've used the logic for conversion from the https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ra_hir_def/src/item_scope.rs#L169 method.
I'm not fond of how the conversion is implemented and for my needs, I can simply replace the `hir_def::item_scope::ItemInNs::Types(item.into())` with `hir_def::item_scope::ItemInNs::Values(item.into())` and it will work, so I can use this approach instead, if you find it a better one.
Co-authored-by: Kirill Bulatov <[email protected]>
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| | |
2975: Update regex r=kjeremy a=kjeremy
Co-authored-by: kjeremy <[email protected]>
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| | |
2964: Improve responsiveness of the cargo check status label r=matklad a=lnicola
This is still not ideal because the label displays the crate that was just checked, not the one that's currently being checked. But it should give the impression of being faster.
Co-authored-by: Laurențiu Nicola <[email protected]>
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
2972: Prevent child cargo process from messing with our stdin r=matklad a=matklad
Co-authored-by: Aleksey Kladov <[email protected]>
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
By default, `spawn` inherits stderr/stdout/stderr of the parent
process, and so, if child, for example does fcntl(O_NONBLOCK), weird
stuff happens to us.
Closes https://github.com/rust-analyzer/lsp-server/pull/10
|
| | | |
| \ | |
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
2963: Emacs fixes r=matklad a=flodiebold
- use provided environment for runnables (finally set `RUST_BACKTRACE`)
- implement `selectAndApplySourceChange` so auto-import works :slightly_smiling_face:
cc @brotzeit
2967: Disable optimizations for some build-time crates r=matklad a=lnicola
This speeds up a release build on my laptop from 4m 13s to 3m 33s. It's a bit disappointing, but we don't get perfect parallelism during the build. The non-RA dependencies finish building around 72s as opposed to 112s.
Co-authored-by: Florian Diebold <[email protected]>
Co-authored-by: Florian Diebold <[email protected]>
Co-authored-by: Laurențiu Nicola <[email protected]>
|
| | |/ |
|
| | | |
|
| |/ |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
2970: [VSCode] Fix syntax highlighting r=matklad a=bjorn3
Fixes #2969
Fixes #2971
Co-authored-by: bjorn3 <[email protected]>
|
| | | |
|
| | |
| | |
| | |
| | | |
Fixes #2971
|
|/ /
| |
| |
| | |
Fixes #2969
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
2965: Improve auto import message r=kiljacken a=lnicola
Co-authored-by: Laurențiu Nicola <[email protected]>
|
| |/ |
|