bors[bot]
278bf351e3
Merge #4065
...
4065: Complete unqualified enum names in patterns and expressions r=matklad a=nathanwhit
This PR implements the completion described in #4014 .
The result looks like so for patterns:
<img width="542" alt="Screen Shot 2020-04-20 at 3 53 55 PM" src="https://user-images.githubusercontent.com/17734409/79794010-8f529400-831f-11ea-9673-f838aa9bc962.png ">
and for `expr`s:
<img width="620" alt="Screen Shot 2020-04-21 at 3 51 24 PM" src="https://user-images.githubusercontent.com/17734409/79908784-d73ded80-83e9-11ea-991d-921f0cb27e6f.png ">
I'm not confident that the completion text itself is very robust, as it will unconditionally add completions for enum variants with the form `Enum::Variant`. This means (I believe) it would still suggest `Enum::Variant` even if the local name is changed i.e. `use Enum as Foo` or the variants are brought into scope such as through `use Enum::*`.
Co-authored-by: nathanwhit <nathan.whitaker01@gmail.com>
2020-04-23 15:35:31 +00:00
nathanwhit
dfde73ef90
Update tests to reflect new completions
2020-04-22 12:21:22 -04:00
nathanwhit
18ad86fdda
Add tests for enum completion
...
Adds tests for completion of enum variants in match arms, if-let statements, and basic expressions.
2020-04-22 12:21:22 -04:00
nathanwhit
8664509745
Complete unqualified enum variants when possible
2020-04-22 12:21:14 -04:00
nathanwhit
6c61a7b22f
Add utility fn for expected type of a node
...
Adds `expected_type_of` to `CompletionContext` to return the expected type of a
node, if it is known.
2020-04-22 12:20:18 -04:00
Benjamin Coenen
b6a7be19d9
Improve autocompletion by looking on the type and name
...
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2020-04-21 14:36:56 +02:00
Benjamin Coenen
7f143b154e
Merge branch 'master' of github.com:rust-analyzer/rust-analyzer
2020-04-21 14:32:02 +02:00
Benjamin Coenen
1c3a1385a5
Improve autocompletion by looking on the type and name
...
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2020-04-21 14:31:57 +02:00
Benjamin Coenen
af3c19e85f
Merge branch 'master' of github.com:rust-analyzer/rust-analyzer
2020-04-18 17:14:24 +02:00
Edwin Cheng
f78de3bb95
Ignore proc-macro in completion
2020-04-18 19:26:54 +08:00
Aleksey Kladov
028f1e2e3a
Don\t suggest import itself as a completion for import
2020-04-17 14:28:20 +02:00
Aleksey Kladov
3b75bc154f
Better snippet when completing trait method
2020-04-17 12:05:35 +02:00
Benjamin Coenen
379787858b
feat: improve dot completions with scoring
...
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2020-04-17 10:59:04 +02:00
Benjamin Coenen
071ef268b5
feat: improve dot completions with scoring
...
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2020-04-17 10:29:32 +02:00
Benjamin Coenen
6ebc8bbeb0
feat: improve dot completions with scoring
...
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2020-04-16 18:30:08 +02:00
Benjamin Coenen
06076f95a7
feat: improve dot completions in a struct literal expression
...
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2020-04-15 22:10:57 +02:00
Benjamin Coenen
b092bbc83d
Merge branch 'master' of github.com:rust-analyzer/rust-analyzer
2020-04-14 19:20:30 +02:00
Benjamin Coenen
0640957429
Improve autocompletion by looking on the type and name, change implementation, include sort in Completions struct
...
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2020-04-12 17:58:06 +02:00
Aleksey Kladov
5e5eb6a108
Align grammar for record patterns and literals
...
The grammar now looks like this
[name_ref :] pat
2020-04-12 00:00:15 +02:00
Benjamin Coenen
93bfc2d05d
Improve autocompletion by looking on the type and name
...
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2020-04-11 23:45:09 +02:00
Benjamin Coenen
d42346fed6
Improve autocompletion by looking on the type and name
...
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2020-04-11 22:54:18 +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
Aleksey Kladov
5c5bde47fb
Rename some tokens
2020-04-10 17:07:09 +02:00
Aleksey Kladov
30084a56a5
Simpler acessors for keywords
2020-04-09 23:42:01 +02:00
Aleksey Kladov
0ed27c388a
Drop needless trait
2020-04-09 23:02:10 +02:00
Aleksey Kladov
2bfb65db93
Be consistent about token accesors
2020-04-09 18:48:13 +02:00
Aleksey Kladov
4c29214bba
Move computation of missing fields into hir
2020-04-07 18:34:17 +02:00
Aleksey Kladov
7819d99d6b
Add functional update test
2020-04-07 18:25:47 +02:00
Aleksey Kladov
d8f6013404
Fix names of test modules
2020-04-07 18:23:18 +02:00
Aleksey Kladov
3bde2b7423
A more precise panic macro
2020-04-07 16:40:39 +02:00
Aleksey Kladov
5540193fc8
Don't insert !() if there's already some
2020-04-07 16:37:33 +02:00
Aleksey Kladov
73ccf7f495
Reorder imports
2020-04-07 15:07:18 +02:00
Aleksey Kladov
0215560434
Better naming for scope completion
2020-04-07 13:20:41 +02:00
Aleksey Kladov
a5ffe53c9d
Better naming for path completion
2020-04-07 13:19:57 +02:00
Laurențiu Nicola
52fd2c8e48
Fix unnecessary braces warnings
2020-04-06 17:21:33 +03:00
Aleksey Kladov
a5e8dfd024
Add parens for enums
2020-04-03 21:11:05 +02:00
Aleksey Kladov
b1cf95f691
Generalize call parenthesis insertion
2020-04-03 21:01:18 +02:00
Aleksey Kladov
adbcedde18
Remove the second code-path for completing names in patterns
2020-04-03 21:00:15 +02:00
Kirill Bulatov
1335608dae
Unite record completion logic into a single module
2020-04-01 13:03:56 +03:00
Kirill Bulatov
d35b943520
Split draft
2020-04-01 12:49:31 +03:00
Kirill Bulatov
bc71631e75
Complete only missing fields in pats
2020-04-01 12:49:31 +03:00
Aleksey Kladov
569f47e427
Better names for config structs
2020-03-31 16:05:25 +02:00
Aleksey Kladov
b764c38436
Start stdx
...
This crate will hold everything to small to be worth publishing
2020-03-28 11:01:25 +01:00
Aleksey Kladov
9bf2cd609c
Align naming
2020-03-24 12:56:07 +01:00
bors[bot]
8617fe641d
Merge #3694
...
3694: Complete only missing fields r=matklad a=SomeoneToIgnore
Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
2020-03-24 09:49:25 +00:00
Kirill Bulatov
f1cf1cc1ca
Code review fixes
...
Co-Authored-By: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-03-24 11:33:47 +02:00
Kirill Bulatov
4e43df26b2
Consider references when applying postfix completions
2020-03-24 01:56:06 +02:00
Kirill Bulatov
00cbe81a5b
Complete only missing fields
2020-03-24 00:36:06 +02:00
Steffen Lyngbaek
ec24c09006
Remove const
...
- Add test for @ matching
- Address comments
2020-03-19 14:17:34 -07:00
Steffen Lyngbaek
eb51abdc64
Fixes to more accurately give complete_scope completions
...
- Exclude const, static, functions form is_pat_binding_and_path
(there might be more?)
- Add a check to filter out Record Fields
- Fix tests
2020-03-19 14:12:00 -07:00