aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Remove stray todoEmil Lauridsen2020-02-031-1/+0
|
* Rework how we send diagnostics to client.Emil Lauridsen2020-02-037-208/+178
| | | | | | | | | | | | 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.
* Merge #2993bors[bot]2020-02-031-1/+1
|\ | | | | | | | | | | | | | | 2993: vscode: fix bundling by switching to es2015 target modules system r=matklad a=Veetaha Quick fix Co-authored-by: Veetaha <[email protected]>
| * vscode: fix bundling by switching to es2015 target modules systemVeetaha2020-02-031-1/+1
| |
* | Merge #2991bors[bot]2020-02-022-6/+6
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]>
| * vscode: dropped npm-check-updates scriptVeetaha2020-02-022-2014/+1
| |
| * vscode: updated rollup typescript so it typechecks the bundleVeetaha2020-02-022-7/+2020
|/
* Merge #2989bors[bot]2020-02-025-11/+15
|\ | | | | | | | | | | | | | | | | 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]>
| * vscode: use void where possibleVeetaha2020-02-023-5/+9
| |
| * vscode: fix, fallback to any for cmd typeVeetaha2020-02-021-1/+1
| |
| * vscode extension: migrate from any to unknown where possibleVeetaha2020-02-024-9/+9
| |
* | Merge #2987bors[bot]2020-02-023-33/+18
|\| | | | | | | | | | | | | | | 2987: vscode refactoring: use more laconic export snytax, split huge string literal r=matklad a=Veetaha Co-authored-by: Veetaha <[email protected]>
| * vscode: fix typeVeetaha2020-02-021-1/+1
| |
| * vscode refactoring: use more laconic export snytax, split huge string to ↵Veetaha2020-02-023-33/+18
|/ | | | several lines
* Merge #2986bors[bot]2020-02-026-10/+11
|\ | | | | | | | | | | | | | | 2986: vscode extension cleanup: migrate to prefer-const tslint rule r=matklad a=Veetaha Co-authored-by: Veetaha <[email protected]>
| * vscode extension cleanup: migrate to prefer-const tslint ruleVeetaha2020-02-026-10/+11
|/
* Merge #2985bors[bot]2020-02-023-33/+34
|\ | | | | | | | | | | | | | | 2985: Avoid premature pessimization r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * Avoid premature pessimizationAleksey Kladov2020-02-023-33/+34
|/ | | | | | 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
* Merge #2979bors[bot]2020-02-023-4/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]>
| * vscode: moved tslib to runtime dependencies and added \"importHelpers\": trueVeetaha2020-02-013-4/+4
| |
* | Merge #2983bors[bot]2020-02-021-1/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | 2983: Fix repo link in package.json r=matklad a=Veetaha Fix repo link Co-authored-by: Veetaha <[email protected]>
| * | fix repo link in package.jsonVeetaha2020-02-021-1/+2
| |/
* | Merge #2982bors[bot]2020-02-026-42/+90
|\ \ | | | | | | | | | | | | | | | | | | | | | 2982: Merge imports when auto importing r=flodiebold a=SomeoneToIgnore Co-authored-by: Kirill Bulatov <[email protected]>
| * | Remove obsolete rustdocKirill Bulatov2020-02-021-1/+0
| | |
| * | Code review fixesKirill Bulatov2020-02-023-22/+19
| | |
| * | Require ModPath for importingKirill Bulatov2020-02-026-37/+65
| | |
| * | Merge imports when auto importingKirill Bulatov2020-02-021-6/+30
| |/
* | Merge #2978bors[bot]2020-02-022-6/+35
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | 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]>
| * Auto import functionsKirill Bulatov2020-02-012-6/+35
|/
* Merge #2975bors[bot]2020-02-011-4/+4
|\ | | | | | | | | | | | | | | 2975: Update regex r=kjeremy a=kjeremy Co-authored-by: kjeremy <[email protected]>
| * Update regexkjeremy2020-02-011-4/+4
|/
* Merge #2964bors[bot]2020-02-011-8/+14
|\ | | | | | | | | | | | | | | 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]>
| * Improve responsiveness of the cargo check status labelLaurențiu Nicola2020-01-311-8/+14
| |
* | Merge #2972bors[bot]2020-02-011-0/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | 2972: Prevent child cargo process from messing with our stdin r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | Prevent child cargo process from messing with our stdinAleksey Kladov2020-02-011-0/+1
|/ / | | | | | | | | | | | | | | 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
| |
| \
*-. \ Merge #2963 #2967bors[bot]2020-02-012-2/+30
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]>
| | * | Disable optimizations for some build-time cratesLaurențiu Nicola2020-01-311-0/+19
| | |/
| * | Implement support for selectAndApplySourceChange (auto import) in EmacsFlorian Diebold2020-01-311-1/+9
| | |
| * | Fix env in emacs runnables supportFlorian Diebold2020-01-311-1/+2
| |/
* | Merge #2970bors[bot]2020-02-013-6/+8
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 2970: [VSCode] Fix syntax highlighting r=matklad a=bjorn3 Fixes #2969 Fixes #2971 Co-authored-by: bjorn3 <[email protected]>
| * | Tsfmtbjorn32020-02-011-2/+2
| | |
| * | Fix seedrandom in packaged extensionbjorn32020-02-012-3/+3
| | | | | | | | | | | | Fixes #2971
| * | [VSCode] Fix syntax highlightingbjorn32020-02-011-1/+3
|/ / | | | | | | Fixes #2969
* | Merge #2965bors[bot]2020-02-011-6/+10
|\ \ | | | | | | | | | | | | | | | | | | | | | 2965: Improve auto import message r=kiljacken a=lnicola Co-authored-by: Laurențiu Nicola <[email protected]>
| * | Improve auto import messageLaurențiu Nicola2020-01-311-6/+10
| |/
* | Merge #2966bors[bot]2020-01-311-2/+2
|\ \ | |/ |/| | | | | | | | | | | 2966: Fix extra parentheses warnings r=kjeremy a=lnicola Co-authored-by: Laurențiu Nicola <[email protected]>
| * Fix extra parentheses warningsLaurențiu Nicola2020-01-311-2/+2
|/
* Merge #2960bors[bot]2020-01-311-4/+6
|\ | | | | | | | | | | | | | | 2960: Small cleanup r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * Small cleanupAleksey Kladov2020-01-311-4/+6
|/
* Merge #2946bors[bot]2020-01-301-2/+1
|\ | | | | | | | | | | | | | | 2946: updating nvim_lsp usage for rust_analyzer r=matklad a=matu3ba The other option is invalid and a working version depends on [PR](https://github.com/neovim/nvim-lsp/pull/107) Co-authored-by: Jan <[email protected]>