aboutsummaryrefslogtreecommitdiff
path: root/editors
Commit message (Collapse)AuthorAgeFilesLines
* Add a "Debug ItemTree" LSP requestJonas Schievink2021-05-214-0/+62
|
* Merge #8873bors[bot]2021-05-201-7/+14
|\ | | | | | | | | | | | | | | | | | | | | | | 8873: Implement import-granularity guessing r=matklad a=Veykril This renames our `MergeBehavior` to `ImportGranularity` as rustfmt has it as the purpose of them are basically the same. `ImportGranularity::Preserve` currently has no specific purpose for us as we don't have an organize imports assist yet, so it currently acts the same as `ImportGranularity::Item`. We now try to guess the import style on a per file basis and fall back to the user granularity setting if the file has no specific style yet or where it is ambiguous. This can be turned off by setting `import.enforceGranularity` to `true`. Closes https://github.com/rust-analyzer/rust-analyzer/issues/8870 Co-authored-by: Lukas Tobias Wirth <[email protected]>
| * Replace ImportGranularity::Guess with guessing boolean flagLukas Tobias Wirth2021-05-191-3/+6
| |
| * Add ImportGranularity::GuessLukas Tobias Wirth2021-05-181-1/+3
| |
| * MergeBehavior -> ImportGranularityLukas Tobias Wirth2021-05-181-8/+10
| |
* | Add new LSP extension for workspace symbol lookupalcroito2021-05-171-0/+26
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new extension allows filtering of workspace symbool lookup results by search scope or search kind. Filtering can be configured in 3 different ways: - The '#' or '*' markers can be added inline with the symbol lookup query. The '#' marker means symbols should be looked up in the current workspace and any dependencies. If not specified, only current workspace is considered. The '*' marker means all kinds of symbols should be looked up (types, functions, etc). If not specified, only type symbols are returned. - Each LSP request can take an optional search_scope or search_kind argument query parameter. - Finally there are 2 global config options that can be set for all requests served by the active RA instance. Add support for setting the global config options to the VSCode extension. The extension does not use the per-request way, but it's useful for other IDEs. The latest version of VSCode filters out the inline markers, so currently the only reasonable way to use the new functionality is via the global config.
* minor: adjust config nameAleksey Kladov2021-05-171-5/+5
|
* Merge #8795bors[bot]2021-05-171-0/+5
|\ | | | | | | | | | | | | | | | | | | 8795: Allow semantic tokens for strings to be disabled r=matklad a=djrenren Fixes https://github.com/rust-analyzer/rust-analyzer/issues/7111 Pretty straightforward change, but open to any suggestions if there's a more recommended testing strategy than what I went with. Co-authored-by: John Renner <[email protected]>
| * Formatting and docsJohn Renner2021-05-101-0/+5
| |
* | Allow viewing the crate graph in a webviewJonas Schievink2021-05-114-0/+16
| |
* | Give MergeBehaviour variants better namesLukas Wirth2021-05-101-6/+6
| |
* | :arrow_up: package-lock.jsonAleksey Kladov2021-05-082-225/+381
|/
* internal: ensure that client and server-side configs are not mixed upAleksey Kladov2021-04-281-6/+6
| | | | https://github.com/rust-lang/rust/issues/84647 would help big time here.
* Merge #8624bors[bot]2021-04-275-8/+60
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8624: Automatically detect rust library source file map r=vsrs a=vsrs This PR adds a new possible `rust-analyzer.debug.sourceFileMap` value: ```json { "rust-analyzer.debug.sourceFileMap": "auto" } ``` I did not make it the default because it uses two shell calls (`rustc --print sysroot` and `rustc -V -v`). First one can be slow (https://github.com/rust-lang/rustup/issues/783) Fixes #8619 Co-authored-by: vsrs <[email protected]>
| * Use explicit rustc commit-hashvsrs2021-04-223-3/+15
| | | | | | | | Required for lldb on mac
| * Add special `auto` value for `debug.sourceFileMap`vsrs2021-04-225-27/+38
| |
| * Autodetect rust library source file mapvsrs2021-04-222-2/+31
| |
| |
| \
*-. \ Merge #8629 #8657bors[bot]2021-04-272-404/+486
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8629: Allow pressing | to surround closure arguments in VSCode r=matklad a=Smittyvb This makes pressing <kbd>|</kbd> while some text is selected surround that text with pipes. This is useful when writing closures. In this demo, I press <kbd>|</kbd> to easily surround some text (`predicate`) with pipe characters to create a closure. Before, this would have replaced `predicate` with just `|`. ![](https://user-images.githubusercontent.com/10530973/115778847-3c257e00-a385-11eb-8c80-e0db970747db.gif) (I am getting failures when I do `cargo test` even on `master` locally (due to #8585 I think), but GH Actions is fine with this) 8657: npm update r=matklad a=kjeremy Co-authored-by: Smittyvb <[email protected]> Co-authored-by: Jeremy Kolb <[email protected]>
| | * | npm updateJeremy Kolb2021-04-251-407/+484
| | |/
| * / Support | as a surrounding pairsSmittyvb2021-04-221-1/+2
| |/
* | Fix how and when old inlay hint decorations are disposedJorge Mederos Alvarado2021-04-271-16/+33
| |
* | Add option to opt out from smaller inlay hints font sizeJorge Mederos Alvarado2021-04-272-6/+30
| |
* | add option to package.jsonJorge Mederos Alvarado2021-04-272-4/+5
|/
* Code review feedback.James Leitch2021-04-211-2/+2
|
* Diagnostic Remap Path Prefixes added.James Leitch2021-04-211-1/+6
|
* Move cursor position when using item moversJonas Schievink2021-04-132-23/+5
|
* feat: avoid checking the whole project during initial loadingAleksey Kladov2021-04-121-0/+5
|
* Sacrifice for the semicolon godAleksey Kladov2021-04-062-5/+5
|
* More robust status notificationsAleksey Kladov2021-04-063-34/+24
|
* Use `const` instead of `let`Jonas Schievink2021-03-271-1/+1
|
* Fix handling of multi-cursor snippetsJonas Schievink2021-03-271-5/+5
| | | | | This allows one snippet per TextEdit, multiple in the same TextEdit are still broken
* Bump the default hint lengthKirill Bulatov2021-03-231-1/+1
|
* Limit the hints size by defaultKirill Bulatov2021-03-231-2/+2
|
* Improve cursor positioning after movingivan7702021-03-181-1/+14
|
* Fix tsfmt and eslint warningsivan7702021-03-182-4/+4
|
* Remove movable array, improve client codeivan7702021-03-182-2/+6
|
* Item up and down moversivan7702021-03-184-0/+53
|
* Merge #8028bors[bot]2021-03-151-9/+15
|\ | | | | | | | | | | | | | | 8028: Return multiple modules in `parent_module` feature r=matklad a=Veykril Co-authored-by: Lukas Wirth <[email protected]>
| * Support multiple parents in parentModule in vscode-clientLukas Wirth2021-03-151-9/+15
| |
* | Enable proc-macros by defaultAleksey Kladov2021-03-151-1/+1
|/
* Merge #7799bors[bot]2021-03-134-10/+63
|\ | | | | | | | | | | | | | | | | | | | | | | | | 7799: Related tests r=matklad a=vsrs ![tests](https://user-images.githubusercontent.com/62505555/109397453-a9013680-7947-11eb-8b11-ac03079f7645.gif) This adds an ability to look for tests for the item under the cursor: function, constant, data type, etc The LSP part is bound to change. But the feature itself already works and I'm looking for a feedback :) Co-authored-by: vsrs <[email protected]>
| * Apply review suggestionsvsrs2021-03-111-4/+1
| |
| * Remove erroneous commentvsrs2021-02-271-1/+1
| |
| * Add progress reportingvsrs2021-02-272-17/+25
| |
| * Add LSP request and VSCode commandvsrs2021-02-274-9/+57
| |
* | Improve version displayLaurențiu Nicola2021-03-121-3/+2
| |
* | Make code less surprisingAleksey Kladov2021-03-091-24/+24
| | | | | | | | Theres no reason to have literal `\n\n` in the source code
* | Add more documentation for rustc_privateJoshua Nelson2021-03-081-1/+1
| |
* | Merge #7891bors[bot]2021-03-081-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7891: Improve handling of rustc_private r=matklad a=DJMcNab This PR changes how `rust-analyzer` handles `rustc_private`. In particular, packages now must opt-in to using `rustc_private` in `Cargo.toml`, by adding: ```toml [package.metadata.rust-analyzer] rustc_private=true ``` This means that depending on crates which also use `rustc_private` will be significantly improved, since their dependencies on the `rustc_private` crates will be resolved properly. A similar approach could be used in #6714 to allow annotating that your package uses the `test` crate, although I have not yet handled that in this PR. Additionally, we now only index the crates which are transitive dependencies of `rustc_driver` in the `rustcSource` directory. This should not cause any change in behaviour when using `rustcSource: "discover"`, as the source used then will only be a partial clone. However, if `rustcSource` pointing at a local checkout of rustc, this should significantly improve the memory usage and lower indexing time. This is because we avoids indexing all crates in `src/tools/`, which includes `rust-analyzer` itself. Furthermore, we also prefer named dependencies over dependencies from `rustcSource`. This ensures that feature resolution for crates which are depended on by both `rustc` and your crate uses the correct set for analysing your crate. See also [introductory zulip stream](https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/Fixed.20crate.20graphs.20and.20optional.20builtin.20crates/near/229086673) I have tested this in [priroda](https://github.com/oli-obk/priroda/), and it provides a significant improvement to the development experience (once I give `miri` the required data in `Cargo.toml`) Todo: - [ ] Documentation This is ready to review, and I will add documentation if this would be accepted (or if I get time to do so anyway) Co-authored-by: Daniel McNab <[email protected]>
| * | Document rustc_private in metadataDaniel McNab2021-03-081-1/+1
| | |