aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Introduce anchored_pathAleksey Kladov2020-12-0913-65/+79
| | | | | They allow to represent paths like `#[path = "C:\path.rs"] mod foo;` in a lossless cross-platform & network-transparent way.
* .Aleksey Kladov2020-12-094-8/+52
|
* Merge #6783bors[bot]2020-12-091-2/+1
|\ | | | | | | | | | | | | | | | | | | 6783: Avoid nesting Subtrees when parsing TokenStream r=jonas-schievink a=jonas-schievink Fixes https://github.com/rust-analyzer/rust-analyzer/issues/6744 bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * Avoid nesting Subtrees when parsing TokenStreamJonas Schievink2020-12-091-2/+1
|/
* Merge #6771bors[bot]2020-12-093-5/+117
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6771: Properly attach inner attributes in Attrs::new r=matklad a=Veykril Properly attach inner and outer attributes to the things they actually belong to in the HIR. ~~I can add some tests for this if wanted once I know where to put them/how to test for this.~~ Put some tests into `hover.rs`. So the following snippet ```rust mod foo { //! Hello } ``` now shows `Hello` on hover 🎉 Fixes #2148 Co-authored-by: Lukas Wirth <[email protected]>
| * Test inner and outer doc comments in hoverLukas Wirth2020-12-091-0/+62
| |
| * Properly fetch inner and outer docs on hir-levelLukas Wirth2020-12-092-17/+33
| |
| * Properly fetch inner and outer attributes on hir-levelLukas Wirth2020-12-081-5/+39
| |
* | Merge #6776bors[bot]2020-12-094-19/+174
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 6776: Include config into the manual r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Include config into the manualAleksey Kladov2020-12-094-19/+174
| | |
* | | Merge #6775bors[bot]2020-12-091-2/+3
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 6775: Fix MissingFields DiagnosticFix trigger range r=lnicola a=Veykril Fixes #5950 Co-authored-by: Lukas Wirth <[email protected]>
| * | Fix MissingFields DiagnosticFix trigger rangeLukas Wirth2020-12-091-2/+3
| |/
* | Merge #6774bors[bot]2020-12-091-2/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | 6774: Increment recursion count in Expander only on success r=lnicola a=Veykril Fixes #6764 Co-authored-by: Lukas Wirth <[email protected]>
| * | Properly decrement recursion count in ExpanderLukas Wirth2020-12-091-2/+2
| |/
* | Merge #6770bors[bot]2020-12-081-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | 6770: Update usage string to include code-exploration client. r=lnicola a=derdaele Support for `code-exploration` client was added #6766 in but the usage string wasn't updated. Co-authored-by: Jérémy <[email protected]>
| * | Update usage string to include code-exploration client.Jérémy2020-12-081-1/+1
| | |
* | | Merge #6768bors[bot]2020-12-081-8/+34
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | 6768: Fix `concat!` with integer literals r=jonas-schievink a=jonas-schievink Addresses https://github.com/rust-analyzer/rust-analyzer/issues/6747#issuecomment-740778402 bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | Fix `concat!` with integer literalsJonas Schievink2020-12-081-8/+34
| | |
* | | Merge #6766bors[bot]2020-12-081-6/+14
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6766: Add client install support for `code-exploration` builds. r=lnicola a=derdaele VSCode has a feature to install the command to the PATH. <img width="640" alt="Capture d’écran 2020-12-08 à 19 25 43" src="https://user-images.githubusercontent.com/16373039/101525141-2e013300-398b-11eb-8d07-60a92ae9587c.png"> `code-exploration` is the command name for the ARM64 experimental build. As of today, this is the only build running natively on Apple Silicon. See _ARM64_ Experimental in https://code.visualstudio.com/insiders/#osx. The `-exploration` prefix seems pretty undocumented, my understanding of it is that it is an insider-like version that uses a different electron version (in this case, maybe the election version that was recently ported to Apple Silicon?). Co-authored-by: Jérémy <[email protected]>
| * | Add client install support for `code-exploration` build.Jérémy2020-12-081-6/+14
| |/
* | Merge #6767bors[bot]2020-12-081-1/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | 6767: Better error when a proc macro panics r=jonas-schievink a=jonas-schievink bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | Better error when a proc macro panicsJonas Schievink2020-12-081-1/+2
|/ /
* | Merge #6761bors[bot]2020-12-087-432/+659
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6761: Make config.rs a single source of truth for configuration. r=matklad a=matklad 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. I'll add something like `rust-analyzer --config-schema` in a follow-up commit. Co-authored-by: Aleksey Kladov <[email protected]>
| * | Make config.rs a single source of truth for configuration.Aleksey Kladov2020-12-087-432/+659
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 #6765bors[bot]2020-12-086-98/+89
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6765: Fix file range computation in macros r=jonas-schievink a=jonas-schievink This also aligns the diagnostics behavior of `TestDB` with the one from the real IDE (by making the logic from `semantics.rs` a method on `InFile<&SyntaxNode>`), which makes bugs like this easier to find. This should fix the misplaced diagnostics seen in https://github.com/rust-analyzer/rust-analyzer/issues/6747 and other issues. bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | Fix logic for determining macro callsJonas Schievink2020-12-081-9/+7
| | | | | | | | | | | | | | | | | | I believe this currently goes back all the way to the initial user-written call, but that seems better than the current broken behavior.
| * | Use `original_file_range` in `TestDB`Jonas Schievink2020-12-081-9/+3
| | |
| * | Make `original_range` a method on `InFile<&SyntaxNode>`Jonas Schievink2020-12-085-89/+88
|/ /
* | Merge #6763bors[bot]2020-12-082-2/+37
|\ \ | | | | | | | | | | | | | | | | | | | | | 6763: Add test for `$crate` in builtin macros r=jonas-schievink a=jonas-schievink bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | Add test for `$crate` in builtin macrosJonas Schievink2020-12-081-0/+28
| | | | | | | | | | | | Fixes #6716
| * | Handle macros in `TestDB::check_diagnostics`Jonas Schievink2020-12-081-2/+9
|/ /
* | Merge #6762bors[bot]2020-12-081-1/+1
|\ \ | |/ |/| | | | | | | | | | | 6762: fix typo of README in dev r=lnicola a=sasurau4 Fix typo of README in dev Co-authored-by: Daiki Ihara <[email protected]>
| * fix typo of README in devDaiki Ihara2020-12-081-1/+1
|/
* Merge #6760bors[bot]2020-12-082-15/+17
|\ | | | | | | | | | | | | | | | | 6760: Open Cargo.toml opens more specific manifest r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * Open Cargo.toml opens more specific manifestAleksey Kladov2020-12-082-10/+12
| |
| * cleanup: match over unwrapAleksey Kladov2020-12-081-5/+5
| |
* | Merge #6750bors[bot]2020-12-0812-213/+137
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6750: Remove documentation query, move doc handling to attributes r=matklad a=Veykril Fixes #3182 Removes the documentation query in favor of `Attrs::docs`. Attrs already handlded doc comments partially but the alloc saving check was wrong so it only worked when other attributes existed as well. Unfortunately the `new` constructor has to do an intermediate allocation now because we need to keep the order of mixed doc attributes and doc comments. I've also partially adjusted the `hover` module to have its tests check the changes, it still has some `HasSource` trait usage due to the `ShortLabel` trait usage, as that is only implemented on the Ast parts and not the Hir, should this ideally be implemented for the Hir types as well?(would be a follow up PR of course) Co-authored-by: Lukas Wirth <[email protected]>
| * | Simplify ast::Comment api surfaceLukas Wirth2020-12-081-10/+15
| | |
| * | Escape string literals in Attr::from_srcLukas Wirth2020-12-082-12/+6
| | |
| * | Replace Arc<[str]> with String in attr::DocumentationLukas Wirth2020-12-071-2/+2
| | |
| * | Keep doc attribute orderLukas Wirth2020-12-073-55/+61
| | |
| * | Remove raw pre and suffixes from string attr literalsLukas Wirth2020-12-071-2/+5
| | |
| * | Remove hir_def/docs.rs moduleLukas Wirth2020-12-076-114/+63
| | |
| * | Remove documentation queryLukas Wirth2020-12-076-59/+26
| | |
* | | Merge #6706bors[bot]2020-12-0817-118/+565
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]>
| * | Tweak the search query params for better lookup speedKirill Bulatov2020-12-082-32/+38
| | |
| * | Better config nameKirill Bulatov2020-12-086-16/+19
| | |
| * | Disable the completion for no corresponding client resolve capabilitiesKirill Bulatov2020-12-0712-163/+87
| | |
| * | Document the featureKirill Bulatov2020-12-071-0/+43
| | |
| * | SimplifyKirill Bulatov2020-12-074-36/+35
| | |