Jonas Schievink
306c6cbaac
Use original_file_range
in TestDB
2020-12-08 19:03:24 +01:00
Jonas Schievink
4943ef085d
Make original_range
a method on InFile<&SyntaxNode>
2020-12-08 19:01:27 +01:00
bors[bot]
b01981e636
Merge #6763
...
6763: Add test for `$crate` in builtin macros r=jonas-schievink a=jonas-schievink
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2020-12-08 16:33:15 +00:00
Aleksey Kladov
2544abbf86
Make config.rs a single source of truth for configuration.
...
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.
2020-12-08 19:25:41 +03:00
Jonas Schievink
6c1d292569
Add test for $crate
in builtin macros
...
Fixes #6716
2020-12-08 17:17:30 +01:00
Jonas Schievink
678c74430b
Handle macros in TestDB::check_diagnostics
2020-12-08 17:16:18 +01:00
bors[bot]
0ce0d6893b
Merge #6762
...
6762: fix typo of README in dev r=lnicola a=sasurau4
Fix typo of README in dev
Co-authored-by: Daiki Ihara <sasurau4@gmail.com>
2020-12-08 15:32:40 +00:00
Daiki Ihara
4f008bf8b2
fix typo of README in dev
2020-12-09 00:30:00 +09:00
bors[bot]
e2e6b709e6
Merge #6760
...
6760: Open Cargo.toml opens more specific manifest r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-12-08 13:30:16 +00:00
Aleksey Kladov
944f30bd69
Open Cargo.toml opens more specific manifest
2020-12-08 16:28:21 +03:00
bors[bot]
2aa7f2ece5
Merge #6750
...
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 <lukastw97@gmail.com>
2020-12-08 13:23:12 +00:00
Aleksey Kladov
ecd1c11f9e
cleanup: match over unwrap
2020-12-08 16:17:46 +03:00
Lukas Wirth
3174e941db
Simplify ast::Comment api surface
2020-12-08 14:15:41 +01:00
bors[bot]
4d4f11925f
Merge #6706
...
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 <mail4score@gmail.com>
2020-12-08 13:10:28 +00:00
Kirill Bulatov
bf24cb3e8d
Tweak the search query params for better lookup speed
2020-12-08 15:05:09 +02:00
Lukas Wirth
2facd9517f
Escape string literals in Attr::from_src
2020-12-08 13:47:58 +01:00
Kirill Bulatov
cbd3717f2c
Better config name
2020-12-08 14:27:18 +02:00
bors[bot]
021e97ea03
Merge #6759
...
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 <k@kafji.net>
2020-12-08 06:15:40 +00:00
Kafji
e65cd07e48
Remove workaround & fix fetch$1 is not a function
...
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 .
2020-12-08 13:06:36 +07:00
Kirill Bulatov
3183ff3a7b
Disable the completion for no corresponding client resolve capabilities
2020-12-08 01:07:20 +02:00
Kirill Bulatov
9656ceb896
Document the feature
2020-12-07 23:41:08 +02:00
Kirill Bulatov
19cfa5802e
Simplify
2020-12-07 23:41:08 +02:00
Kirill Bulatov
6badf705b3
Check lsp completions' edits for disjointness
2020-12-07 23:41:08 +02:00
Kirill Bulatov
077c1c3c1f
Less panic, more tests
2020-12-07 23:41:08 +02:00
Kirill Bulatov
045d7f096f
Fix the profiling label
2020-12-07 23:41:08 +02:00
Kirill Bulatov
deda74edd8
Use stateless completion resolve
2020-12-07 23:41:08 +02:00
Kirill Bulatov
93bc009a59
Remove the state
2020-12-07 23:41:08 +02:00
Kirill Bulatov
74c3bbacc9
Make completion resolve async
2020-12-07 23:41:08 +02:00
Kirill Bulatov
f6d2540df0
Simplify import edit calculation
2020-12-07 23:41:08 +02:00
Kirill Bulatov
68a747efe0
Remove redundant code
2020-12-07 23:41:08 +02:00
Kirill Bulatov
50e06ee95a
Refactor the code
2020-12-07 23:41:08 +02:00
Kirill Bulatov
d9bd1f171d
Add eager resolve capability
2020-12-07 23:41:08 +02:00
Kirill Bulatov
2a7be4afb0
Better support client completion resolve caps
2020-12-07 23:41:08 +02:00
Kirill Bulatov
47464e556c
Properly fill client completion resolve capabilities data
2020-12-07 23:41:08 +02:00
Kirill Bulatov
9a4daffe16
Resolve import inserts better
2020-12-07 23:41:08 +02:00
Kirill Bulatov
a539267c3b
Remove unnecessary leftovers
2020-12-07 23:41:08 +02:00
Kirill Bulatov
6d2d279389
Working resolve completion imports prototype
2020-12-07 23:41:08 +02:00
Kirill Bulatov
48acd7d455
Draft the new lsp handler
2020-12-07 23:41:08 +02:00
Lukas Wirth
7a338e5207
Replace Arc<[str]> with String in attr::Documentation
2020-12-07 21:55:00 +01:00
bors[bot]
dfd0626dbf
Merge #6754
...
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 <jonasschievink@gmail.com>
2020-12-07 19:53:34 +00:00
Jonas Schievink
eeeacc4727
Apply environment set by build scripts
2020-12-07 20:52:31 +01:00
bors[bot]
d6aa1ba7d4
Merge #6752
...
6752: Pass `--target` when loading out dirs from check r=jonas-schievink a=jonas-schievink
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2020-12-07 19:42:08 +00:00
Jonas Schievink
a69996933a
Pass --target
when loading out dirs from check
2020-12-07 20:39:29 +01:00
Lukas Wirth
b064f6da9e
Keep doc attribute order
2020-12-07 20:38:28 +01:00
bors[bot]
7380ec557d
Merge #6749
...
6749: cargo update r=lnicola a=kjeremy
Co-authored-by: kjeremy <kjeremy@gmail.com>
2020-12-07 19:20:35 +00:00
kjeremy
d18acb0f65
Update expect-test and remove outdated license
2020-12-07 14:19:10 -05:00
Lukas Wirth
efe86a42dc
Remove raw pre and suffixes from string attr literals
2020-12-07 19:58:17 +01:00
Lukas Wirth
1caaa201fa
Remove hir_def/docs.rs module
2020-12-07 19:58:17 +01:00
Lukas Wirth
b3652ef288
Remove documentation query
2020-12-07 19:58:17 +01:00
bors[bot]
03b886de53
Merge #6719
...
6719: Use items can also have doc comments r=matklad a=Veykril
Prior to this change modules show more docs than they have cause they inherit the docs from documented use items inside of them.
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2020-12-07 18:48:35 +00:00