aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 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]>
| * updating nvim_lsp usage for rust_analyzerJan2020-01-291-2/+1
| |
* | Merge #2955bors[bot]2020-01-302-697/+689
|\ \ | | | | | | | | | | | | | | | | | | | | | 2955: :arrow_up: rust r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | Switch Cargo.lock to the new formatAleksey Kladov2020-01-301-696/+688
| | |
| * | :arrow_up: rustAleksey Kladov2020-01-301-1/+1
| | |
* | | Merge #2954bors[bot]2020-01-301-0/+3
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 2954: Add a FIXME note r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | Add a FIXME noteAleksey Kladov2020-01-301-0/+3
|/ /
* | Merge #2920bors[bot]2020-01-301-2/+18
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 2920: Better handle illformed node id from metadata r=matklad a=edwin0cheng In some rare cases, deps node-id from cargo-metadata do not match its version-id, which cause a panic in `cargo-workspace.rs`. This PR try to ignore these ill-formed node id from `cargo-metadata`. An alternative is return `Err` in these cases but I think make it resilience is a better choice here. Related #2767 Co-authored-by: Edwin Cheng <[email protected]>
| * | Ignore illform node id from metadataEdwin Cheng2020-01-281-2/+18
| | |
* | | Merge #2953bors[bot]2020-01-301-20/+20
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2953: Update crates r=kjeremy a=kjeremy Co-authored-by: Jeremy Kolb <[email protected]>
| * | | Update cratesJeremy Kolb2020-01-301-20/+20
|/ / /
* | | Merge #2952bors[bot]2020-01-301-21/+8
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2952: Simplify fixture parsing r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Simplify fixture parsingAleksey Kladov2020-01-301-21/+8
|/ / /
* | | Merge #2895bors[bot]2020-01-291-46/+71
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2895: Rewrite ra_prof's profile printing r=michalt a=michalt This changes the way we print things to first construct a mapping from events to the children and uses that mapping to actually print things. It should not change the actual output that we produce. The new approach two benefits: * It avoids a potential quadratic behavior of the previous approach. For instance, for a vector of N elements: ``` [Message{level: (N - 1)}, ..., Message{level: 1}, Message{level: 0}] ``` we would first do a linear scan to find entry with level 0, then another scan to find one with level 1, etc. * It makes it much easier to improve the output in the future, because we now pre-compute the children for each entry and can easily take that into account when printing. Signed-off-by: Michal Terepeta <[email protected]> Co-authored-by: Michal Terepeta <[email protected]>
| * | A couple of small improvements to ra_prof printingMichal Terepeta2020-01-291-3/+3
| | | | | | | | | | | | | | | | | | Based on suggestions from @matklad. Signed-off-by: Michal Terepeta <[email protected]>
| * | Rewrite ra_prof's profile printingMichal Terepeta2020-01-221-46/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changes the way we print things to first construct a mapping from events to the children and uses that mapping to actually print things. It should not change the actual output that we produce. The new approach two benefits: * It avoids a potential quadratic behavior of the previous approach. For instance, for a vector of N elements: ``` [Message{level: (N - 1)}, ..., Message{level: 1}, Message{level: 0}] ``` we would first do a linear scan to find entry with level 0, then another scan to find one with level 1, etc. * It makes it much easier to improve the output in the future, because we now pre-compute the children for each entry and can easily take that into account when printing. Signed-off-by: Michal Terepeta <[email protected]>