aboutsummaryrefslogtreecommitdiff
path: root/editors
Commit message (Collapse)AuthorAgeFilesLines
* Make config.rs a single source of truth for configuration.Aleksey Kladov2020-12-081-320/+304
| | | | | | | | | | | | | | | | | Configuration is editor-independent. For this reason, we pick JSON-schema as the repr of the source of truth. We do specify it using rust-macros and some quick&dirty hackery though. The idea for syncing truth with package.json is to just do that manually, but there's a test to check that they are actually synced. There's CLI to print config's json schema: $ rust-analyzer --print-config-schema We go with a CLI rather than LSP request/response to make it easier to incorporate the thing into extension's static config. This is roughtly how we put the thing in package.json.
* Merge #6706bors[bot]2020-12-081-2/+5
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6706: Move import text edit calculation into a completion resolve request r=matklad a=SomeoneToIgnore Part of https://github.com/rust-analyzer/rust-analyzer/issues/6612 (presumably fixing it) Part of https://github.com/rust-analyzer/rust-analyzer/issues/6366 (does not cover all possible resolve capabilities we can do) Closes https://github.com/rust-analyzer/rust-analyzer/issues/6594 Further improves imports on completion performance by deferring the computations for import inserts. To use the new mode, you have to have the experimental completions enabled and use the LSP 3.16-compliant client that reports `additionalTextEdits` in its `CompletionItemCapabilityResolveSupport` field in the client capabilities. rust-analyzer VSCode extension does this already hence picks up the changes completely. Performance implications are descrbed in: https://github.com/rust-analyzer/rust-analyzer/issues/6633#issuecomment-737295182 Co-authored-by: Kirill Bulatov <[email protected]>
| * Better config nameKirill Bulatov2020-12-081-3/+6
| |
| * Disable the completion for no corresponding client resolve capabilitiesKirill Bulatov2020-12-071-3/+3
| |
* | Remove workaround & fix fetch$1 is not a functionKafji2020-12-081-4/+1
|/ | | | | | | | | Remove workaround for https://github.com/rollup/plugins/issues/491 because it's fixed in 15.0 https://github.com/rollup/plugins/blob/master/packages/commonjs/CHANGELOG.md#v1500. Also fix fetch$1 is not a function error https://github.com/rust-analyzer/rust-analyzer/issues/6757.
* Update npm packageskjeremy2020-12-072-691/+579
|
* Merge #6496bors[bot]2020-11-261-3/+0
|\ | | | | | | | | | | | | | | | | | | 6496: Use builtin scopes more r=matklad a=georgewfraser VSCode has added more builtin fallback scopes, so we can remove some of our fallback scopes by aligning with their conventions. Note that the macro scope doesn't seem to actually *work* at the moment. I have filed a bug with VSCode: https://github.com/microsoft/vscode/issues/110150 Co-authored-by: George Fraser <[email protected]>
| * Just remove the macro fallbackGeorge Fraser2020-11-251-0/+6
| |
| * Use builtin scopes moreGeorge Fraser2020-11-071-9/+0
| |
* | Gate autoimports begind experimental completions flagKirill Bulatov2020-11-241-0/+5
| |
* | ensure word boundary after `true`Dusty Pomerleau2020-11-211-1/+1
| |
* | Use vscode-languageclient 7.0.0-next.14kjeremy2020-11-173-13/+15
| |
* | Cleanup workspace loading a tiny bitAleksey Kladov2020-11-131-5/+5
| |
* | Merge #6519bors[bot]2020-11-134-0/+37
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6519: Add "Open Cargo.toml" action r=matklad a=p3achyjr ## What is it? This adds an "open cargo.toml" action from the vscode shell, resolves #6462 ## Test Ran ```cargo xtask install --server``` and ```cargo xtask install --client```, then ```Developer: Reload Window```. ![image](https://user-images.githubusercontent.com/8763808/98614382-2a578f00-22ad-11eb-9811-4a72a54ff6fb.png) When clicked: ![image](https://user-images.githubusercontent.com/8763808/98618176-77d7fa00-22b5-11eb-8788-35256542f3a6.png) Co-authored-by: Anatol Liu <[email protected]>
| * | add open Cargo.toml actionAnatol Liu2020-11-134-0/+37
| | |
* | | Revert "Upgrade version of npms lockfile"Aleksey Kladov2020-11-131-2754/+10
| | | | | | | | | | | | | | | | | | | | | This reverts commit 3d559afc11b230d52b13c5540706b85a7eeb3490. VS Code uses nodejs 12 still, so its better to stick to the format it understands.
* | | Upgrade version of npms lockfileAleksey Kladov2020-11-121-10/+2754
| | |
* | | Address review commentsXavier Denis2020-11-122-3378/+15
| | |
* | | Add support for loading rustc private cratesXavier Denis2020-11-112-10/+3381
|/ /
* | Switch to upstream protocol for resolving code actionAleksey Kladov2020-11-103-20/+18
| | | | | | | | | | | | Note that we have to maintain custom implementation on the client side: I don't see how to marry bulitin resolve support with groups and snippets.
* | fix: prevent `/**/` from matching block doc commentsDusty Pomerleau2020-11-091-5/+10
| |
* | Merge #6465bors[bot]2020-11-091-5/+18
|\ \ | | | | | | | | | | | | | | | | | | | | | 6465: Support multiple file edits in AssistBuilder r=matklad a=Veykril Fixes #6459 Co-authored-by: Lukas Wirth <[email protected]>
| * | Support multiple workspace editsLukas Wirth2020-11-041-5/+18
| | |
* | | vscode: fix tmGrammar issues around non-controlflow keywordscynecx2020-11-071-7/+7
| |/ |/|
* | allow variables to terminate rangesDusty Pomerleau2020-11-071-1/+1
| |
* | precedence fixes:Dusty Pomerleau2020-11-071-7/+7
| | | | | | | | | | - prevent `pat` from matching before `path` in metavariable types - reduce the precedence of math operators so that assignment operators match correctly
* | Merge #6488bors[bot]2020-11-061-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | 6488: Textmate grammar: add `+=` to assignment operators r=dustypomerleau a=dustypomerleau Fixes https://github.com/dustypomerleau/rust-syntax/issues/3. Co-authored-by: Dusty Pomerleau <[email protected]>
| * | add `+=` to assignment operatorsDusty Pomerleau2020-11-061-1/+1
| |/
* / Restore semantic token flickering workaround removed in #5697Charles Pierce2020-11-041-0/+17
|/
* fix: distinguish turbofish function calls from namespacesDusty Pomerleau2020-11-031-0/+60
|
* fix: allow functions without curly bracketsDusty Pomerleau2020-11-031-1/+1
|
* fix: allow comments in attributesDusty Pomerleau2020-11-021-0/+6
|
* Smaller inlay hintskjeremy2020-10-281-1/+1
| | | | | | This makes things a lot more readable but isn't officially supported by vscode: https://github.com/Microsoft/vscode/issues/9078 Inspired by Visual Studio, IntelliJ and Resharper.
* Also set textDecoration: none on inlay hintsLaurențiu Nicola2020-10-281-0/+1
|
* Set font-wieght: normal on inlay hintsLaurențiu Nicola2020-10-271-0/+1
|
* Update packagekjeremy2020-10-262-12/+12
|
* Latest proposed LSP 3.16.0kjeremy2020-10-263-19/+18
| | | | Needs: https://github.com/gluon-lang/lsp-types/pull/183
* fix: narrow the case where angle brackets are seen as comparison operatorsDusty Pomerleau2020-10-261-1/+19
|
* fix: underscores, raw IDsDusty Pomerleau2020-10-241-16/+17
| | | | | | - remove comment scope from ignored params - underscores will automatically receive variable/param scope - add raw ID syntax to modules, functions, and variables
*-. Merge #6251 #6310bors[bot]2020-10-231-0/+4
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6251: Semantic Highlight: Add Callable modifier for variables r=matklad a=GrayJack This PR added the `HighlightModifier::Callable` variant and assigned it to variables and parameters that are fn pointers, closures and implements FnOnce trait. This allows to colorize these variables/parameters when used in call expression. 6310: Rewrite algo::diff to support insertion and deletion r=matklad a=Veykril This in turn also makes `algo::diff` generate finer diffs(maybe even minimal diffs?) as insertions and deletions aren't always represented as as replacements of parent nodes now. Required for #6287 to go on. Co-authored-by: GrayJack <[email protected]> Co-authored-by: Lukas Wirth <[email protected]>
| * | Editor: Code: Add callable to package.jsonGrayJack2020-10-161-0/+4
| | |
* | | fix: prevent line comments inside block commentsDusty Pomerleau2020-10-221-19/+34
| |/ |/| | | | | | | - prevent line comments inside block comments - prevent underscore-prefixed functions and macros from receiving comment scope
* | fix: require matching hash quantities for raw stringsDusty Pomerleau2020-10-211-22/+3
| |
* | Merge #6274bors[bot]2020-10-191-1/+3
|\ \ | | | | | | | | | | | | | | | | | | | | | 6274: Check cargoExtraArgs for undefined before using r=matklad a=feileacan Fixes #6273 Co-authored-by: feileacan <[email protected]>
| * | Check cargoExtraArgs for undefined before usingfeileacan2020-10-181-1/+3
| | |
* | | fix: prevent unwanted interpolation scopesDusty Pomerleau2020-10-181-14/+6
|/ /
* / fix: prevent early termination of raw strings with hashDusty Pomerleau2020-10-161-3/+22
|/
* Insert a ZWNJ before type hintsLaurențiu Nicola2020-10-151-2/+4
|
* Fix resolveCodeAction requestLaurențiu Nicola2020-10-131-2/+2
|
* Merge #6137bors[bot]2020-10-121-684/+1041
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6137: add a new TextMate grammar r=matklad a=dustypomerleau Thanks to everyone working hard on Rust Analyzer - my impression is that it's quickly becoming the community default. I think it would be helpful to have a more robust TextMate grammar to fall back on, for those who wish to disable semantic highlighting for any reason. It should allow theming of punctuation, and provide scopes for all tokens on the page. This can be done at zero cost to those who enable semantic highlighting, as the TextMate scopes will be invisible to those users. I can see a couple ways of accomplishing this: 1. Ship a new grammar by merging this PR. 1. Ship no TextMate grammar at all (like the [Rust](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust) extension), and allow users to install a separate extension that provides the grammar of their choice (I have released this one as [Rust Syntax](https://marketplace.visualstudio.com/items?itemName=dustypomerleau.rust-syntax)). If no grammar were installed, they would simply fall back to the default grammar provided by their editor. In the case of VS Code, the default grammar already matches what is currently being shipped, so users who choose not to override it would see no difference. I have tried to choose sensible default scopes, in the hopes that a wider variety of themes would work out of the box with Rust, even if those themes do not yet supply scopes for semantic highlighting. There is definitely some interest in using this grammar with Rust Analyzer, as this was the very first issue after the syntax extension was shipped: https://github.com/dustypomerleau/rust-syntax/issues/1. I considered simply using an alternative grammar alongside Rust Analyzer, but this doesn't seem possible. When RA starts, any existing grammar/extension is overridden, and I haven't been able to find a workaround. Co-authored-by: Dusty Pomerleau <[email protected]>