aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 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
| | |
| * | Check lsp completions' edits for disjointnessKirill Bulatov2020-12-072-1/+176
| | |
| * | Less panic, more testsKirill Bulatov2020-12-073-11/+62
| | |
| * | Fix the profiling labelKirill Bulatov2020-12-071-1/+1
| | |
| * | Use stateless completion resolveKirill Bulatov2020-12-076-71/+124
| | |
| * | Remove the stateKirill Bulatov2020-12-077-107/+37
| | |
| * | Make completion resolve asyncKirill Bulatov2020-12-077-53/+116
| | |
| * | Simplify import edit calculationKirill Bulatov2020-12-0712-111/+114
| | |
| * | Remove redundant codeKirill Bulatov2020-12-078-103/+80
| | |
| * | Refactor the codeKirill Bulatov2020-12-0711-34/+48
| | |
| * | Add eager resolve capabilityKirill Bulatov2020-12-078-13/+43
| | |
| * | Better support client completion resolve capsKirill Bulatov2020-12-075-105/+120
| | |
| * | Properly fill client completion resolve capabilities dataKirill Bulatov2020-12-075-5/+56
| | |
| * | Resolve import inserts betterKirill Bulatov2020-12-072-38/+91
| | |
| * | Remove unnecessary leftoversKirill Bulatov2020-12-072-3/+0
| | |
| * | Working resolve completion imports prototypeKirill Bulatov2020-12-079-46/+78
| | |
| * | Draft the new lsp handlerKirill Bulatov2020-12-075-24/+52
| | |
* | | Merge #6759bors[bot]2020-12-081-4/+1
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6759: Remove workaround & fix fetch$1 is not a function r=lnicola a=kafji 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. Co-authored-by: Kafji <[email protected]>
| * | 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.
* | Merge #6754bors[bot]2020-12-072-2/+20
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 6754: Apply environment set by build scripts r=jonas-schievink a=jonas-schievink Fixes inclusion of generated files in typenum/heapless/defmt etc. bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | Apply environment set by build scriptsJonas Schievink2020-12-072-2/+20
|/ /