Jonas Schievink
6766a6b0e1
Add symbol index FIXME
2020-06-11 12:03:08 +02:00
Aleksey Kladov
d8a5d39c2d
Make relevant_crates return a Set
2020-06-11 11:30:06 +02:00
Jonas Schievink
ed2817e599
Move limit check down
2020-06-10 12:40:33 +02:00
Jonas Schievink
a70a0ca73c
ImportsLocator: use ImportMap for non-local crates
2020-06-10 12:38:58 +02:00
Jonas Schievink
6463d3ac63
symbol_index: allow querying a single crate
2020-06-10 12:38:58 +02:00
Jonas Schievink
54936e8aa2
Fix the symbol query limit
2020-06-10 12:38:58 +02:00
Jonas Schievink
d50a1a0fe9
Profile world_symbols
2020-06-10 12:38:58 +02:00
Aleksey Kladov
db1cadd444
In field patterns, don't highlight local binding as a field
2020-06-10 12:34:23 +02:00
Aleksey Kladov
2a42904680
Simplify
2020-06-08 21:48:23 +02:00
unexge
4edf736eb2
Swap into_definition and definition semantics for FieldShorthand variant
2020-06-08 15:37:12 +03:00
unexge
c5d5d21858
Add FieldShorthand variant to NameClass
2020-06-08 14:46:58 +03:00
unexge
73684a4ae2
Add goto def for enum variant field
2020-06-06 22:16:59 +03:00
bors[bot]
2a3ab7f3b4
Merge #4689
...
4689: Implement return position impl trait / opaque type support r=matklad a=flodiebold
This is working, but I'm not that happy with how the lowering works. We might need an additional representation between `TypeRef` and `Ty` where names are resolved and `impl Trait` bounds are separated out, but things like inference variables don't exist and `impl Trait` is always represented the same way.
Also note that this doesn't implement correct handling of RPIT *inside* the function (which involves turning the `impl Trait`s into variables and creating obligations for them). That intermediate representation might help there as well.
Co-authored-by: Florian Diebold <flodiebold@gmail.com >
Co-authored-by: Florian Diebold <florian.diebold@freiheit.com >
2020-06-05 15:46:28 +00:00
Florian Diebold
0d2328f3ea
Review fixes
2020-06-05 17:41:58 +02:00
bors[bot]
f133159ec0
Merge #4760
...
4760: Minimize FileLoader interface r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com >
2020-06-05 15:23:22 +00:00
Aleksey Kladov
bbb40d7463
Minimize FileLoader interface
2020-06-05 17:22:56 +02:00
bors[bot]
4029628f15
Merge #4729 #4748
...
4729: Hover actions r=matklad a=vsrs
This PR adds a `hoverActions` LSP extension and a `Go to Implementations` action as an example:

4748: Add an `ImportMap` and use it to resolve item paths in `find_path` r=matklad a=jonas-schievink
Removes the "go faster" queries I added in https://github.com/rust-analyzer/rust-analyzer/pull/4501 and https://github.com/rust-analyzer/rust-analyzer/pull/4506 . I've checked this PR on the rustc code base and the assists are still fast.
This should fix https://github.com/rust-analyzer/rust-analyzer/issues/4515 .
Note that this does introduce a change in behavior: We now always refer to items defined in external crates using paths through the external crate. Previously we could also use a local path (if for example the extern crate was reexported locally), as seen in the changed test. If that is undesired I can fix that, but the test didn't say why the previous behavior would be preferable.
Co-authored-by: vsrs <vit@conrlab.com >
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com >
Co-authored-by: Jonas Schievink <jonas.schievink@ferrous-systems.com >
2020-06-05 15:14:35 +00:00
Aleksey Kladov
bba374bab2
More direct signature for resolve_path
2020-06-05 15:07:30 +02:00
Aleksey Kladov
e63c00f100
Rename resolve_relative_path -> resolve_path
...
For things like `concant!(env!("OUT_DIR"))`, we need to support abs paths
2020-06-05 14:58:30 +02:00
vsrs
7d0dd17b09
Add hover actions as LSP extension
2020-06-05 14:59:26 +03:00
Jonas Schievink
f085e592fe
Measure memory usage of ImportMap
2020-06-05 13:10:43 +02:00
Brennan Vincent
8ef9703740
recursively search submodules
2020-05-31 12:05:54 -04:00
Aleksey Kladov
c8f27a4a88
Generate features docs from source
2020-05-31 01:54:54 +02:00
Aleksey Kladov
2c04aad2d2
KISS SourceChange
...
The idea behind requiring the label is a noble one, but we are not
really using it consistently anyway, and it should be easy to retrofit
later, should we need it.
2020-05-22 18:04:26 +02:00
Aleksey Kladov
ff28c79ebd
Remove dead code for handling cursor positions
2020-05-21 15:08:03 +02:00
Aleksey Kladov
4fdb1eac08
Remove unused cursor positions
2020-05-21 10:37:11 +02:00
Aleksey Kladov
5258c817f7
Remove cross-crate marks
...
They create quite a bit of friction. Really, we should just move the
tests to the same crate, rather than paper over existing split.
2020-05-20 13:00:50 +02:00
Aleksey Kladov
c847c079fd
Add AssistConfig
2020-05-19 20:28:27 +02:00
Fedor Sakharov
3d66aa0542
New definition_visibility method
2020-05-11 14:28:14 +03:00
Fedor Sakharov
753e1e679c
Also for consts and type aliases
2020-05-11 13:52:20 +03:00
Fedor Sakharov
762ec9581a
Find references to a function outside module
2020-05-11 12:25:18 +03:00
Fedor Sakharov
210f0cbd27
Remove HasVisibility implementation
2020-05-07 16:31:51 +03:00
Fedor Sakharov
bd9f1f7eb7
Fix rename of enum variant visible from module
2020-05-06 17:35:22 +03:00
Aleksey Kladov
fdd4df97ba
Use SourceChange for assists
2020-05-06 15:43:47 +02:00
Aleksey Kladov
3850b1c086
Lift SourceChange to the ra_ide_db
2020-05-06 11:32:34 +02:00
Aleksey Kladov
4a6fa8f0df
Rename AtomTextEdit -> Indel
2020-05-05 23:15:49 +02:00
Laurențiu Nicola
1d794e8590
Fix column conversion for supplementary plane characters
2020-05-05 20:30:52 +03:00
Benjamin Coenen
e88c3e4fcd
refactor: use parent instead ancestors for use alias
...
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com >
2020-05-04 13:42:30 +02:00
bors[bot]
b1a5dc8c8b
Merge #4269 #4293
...
4269: add support of use alias semantic in definition r=matklad a=bnjjj
close #4202
4293: no doctests for flycheck r=matklad a=matklad
bors r+
🤖
Co-authored-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com >
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com >
2020-05-04 10:34:06 +00:00
Laurențiu Nicola
16d3bb9106
Don't count start of non-ASCII characters as being inside of them
2020-05-03 09:54:39 +03:00
Benjamin Coenen
99c2ca8494
add support of use alias semantic in definition #4202
...
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com >
2020-05-02 21:42:27 +02:00
Benjamin Coenen
19e28888aa
wip
...
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com >
2020-05-01 16:26:22 +02:00
Aleksey Kladov
970dbf8717
Rename StructField -> Field
2020-04-25 14:23:34 +02:00
Aleksey Kladov
63a462f37c
Switch to TryFrom
2020-04-25 11:59:18 +02:00
Aleksey Kladov
dc2151085e
Cleanups
2020-04-25 11:59:18 +02:00
Aleksey Kladov
b1d5817dd1
Convert code to text-size
2020-04-25 11:59:18 +02:00
Aleksey Kladov
4176c03d12
Remove SyntaxPtr::range from more places
2020-04-23 16:33:01 +02:00
Aleksey Kladov
fa2ea8f494
Fix goto definition for record patterns
2020-04-18 22:11:49 +02:00
Aleksey Kladov
cae2498513
Don't expose SyntaxNodePtr impl details
2020-04-16 21:01:04 +02:00
Aleksey Kladov
7a39bc3ba2
Make records grammar more orthogonal
...
We used
name [: expr]
grammar before, now it is
[name :] expr
which makes things simpler
2020-04-11 19:20:41 +02:00