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
Leander Tentrup
445052f6d4
Adapt format specifier highlighting to support escaped squences and unicode identifiers
2020-04-22 15:28:35 +02:00
Leander Tentrup
b2829a5216
Apply suggestions from code review
...
Co-Authored-By: bjorn3 <bjorn3@users.noreply.github.com>
2020-04-22 10:18:46 +02:00
Timo Freiberg
ba8faf3efc
Add target file information to AssistAction
2020-04-21 23:04:44 +02: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
Leander Tentrup
ac798e1f7c
Implement syntax highlighting for format strings
...
Detailed changes:
1) Implement a lexer for string literals that divides the string in format specifier `{}` including the format specifier modifier.
2) Adapt syntax highlighting to add ranges for the detected sequences.
3) Add a test case for the format string syntax highlighting.
2020-04-20 11:19:15 +02:00
Jeremy Kolb
d7f3d858ad
Some clippy fixes
2020-04-19 15:15:49 -04:00
Aleksey Kladov
fa2ea8f494
Fix goto definition for record patterns
2020-04-18 22:11:49 +02:00
Aleksey Kladov
ca61356b01
Add semantic tag for unresolved references
...
This is a quick way to implement unresolved reference diagnostics.
For example, adding to VS Code config
"editor.tokenColorCustomizationsExperimental": {
"unresolvedReference": "#FF0000"
},
will highlight all unresolved refs in red.
2020-04-18 21:28:51 +02:00
bors[bot]
98819d8919
Merge #4029
...
4029: Fix various proc-macro bugs r=matklad a=edwin0cheng
This PRs does the following things:
1. Fixed #4001 by splitting `LIFETIME` lexer token to two mbe tokens. It is because rustc token stream expects `LIFETIME` as a combination of punct and ident, but RA `tt:TokenTree` treats it as a single `Ident` previously.
2. Fixed #4003 , by skipping `proc-macro` for completion. It is because currently we don't have `AstNode` for `proc-macro`. We would need to redesign how to implement `HasSource` for `proc-macro`.
3. Fixed a bug how empty `TokenStream` merging in `proc-macro-srv` such that no L_DOLLAR and R_DOLLAR will be emitted accidentally.
Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2020-04-18 17:56:54 +00:00
Benjamin Coenen
af3c19e85f
Merge branch 'master' of github.com:rust-analyzer/rust-analyzer
2020-04-18 17:14:24 +02:00
Leander Tentrup
29a846464b
Refactor flattening logic for highlighted syntax ranges
2020-04-18 15:02:51 +02:00
Edwin Cheng
f78de3bb95
Ignore proc-macro in completion
2020-04-18 19:26:54 +08:00
bors[bot]
0948932145
Merge #4026
...
4026: Omit more parameter hints in the presence of underscores r=matklad a=lnicola
Fixes #4017 .
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2020-04-18 09:01:41 +00:00
Laurențiu Nicola
8a51a74556
Omit more parameter hints in the presence of underscores
2020-04-18 10:53:48 +03:00
Leander Tentrup
2e2c03ee2d
Fix incorrect order of syntax highlight ranges
2020-04-17 22:50:30 +02:00
Aleksey Kladov
028f1e2e3a
Don\t suggest import itself as a completion for import
2020-04-17 14:28:20 +02:00
bors[bot]
0262c9b9c0
Merge #4010
...
4010: Fix handling of ranges in diagnostics r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-04-17 11:57:29 +00:00
Aleksey Kladov
a8196ffe84
Correctly highlight ranges of diagnostics from macros
...
closes #2799
2020-04-17 13:56:38 +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
0a1585075c
Merge branch 'master' of github.com:rust-analyzer/rust-analyzer
2020-04-17 10:30:39 +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
Aleksey Kladov
cae2498513
Don't expose SyntaxNodePtr impl details
2020-04-16 21:01:04 +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
kjeremy
eedab116ab
insta 0.16
2020-04-14 13:57:02 -04: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
bors[bot]
a8e032820f
Merge #3955
...
3955: Align grammar for record patterns and literals r=matklad a=matklad
The grammar now looks like this
[name_ref :] pat
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-04-11 22:01:22 +00: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
Jeremy Kolb
0f5d6766fd
Remove #[should_panic] from call_info tests
2020-04-11 15:47:09 -04: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
8bd14a3483
Merge pull request #3910 from lnicola/fn-named-param-hint
...
Hide parameter hints for single-argument functions with the same name
2020-04-11 14:48:14 +02:00
Aleksey Kladov
5c5bde47fb
Rename some tokens
2020-04-10 17:07:09 +02:00
Aleksey Kladov
c8b4c36f81
Semicolon token
2020-04-10 16:10:28 +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
Laurențiu Nicola
81aab500c6
Hide parameter hints for single-argument functions with the same name
2020-04-09 21:47:04 +03:00
bors[bot]
9635d8bc44
Merge #3901
...
3901: Add more heuristics for hiding obvious param hints r=matklad a=IceSentry
This will now hide `value`, `pat`, `rhs` and `other`. These words were selected from the std because they are used in commonly used functions with only a single param and are obvious by their use.
It will also hide the hint if the passed param **starts** or end with the param_name. Maybe we could also split on '_' and check if one of the string is the param_name.
I think it would be good to also hide `bytes` if the type is `[u8; n]` but I'm not sure how to get the param type signature.
Closes #3900
Co-authored-by: IceSentry <c.giguere42@gmail.com>
2020-04-09 18:07:28 +00:00
Aleksey Kladov
2bfb65db93
Be consistent about token accesors
2020-04-09 18:48:13 +02:00
IceSentry
ebc61709c8
use .expr() to remove ref
2020-04-09 12:26:49 -04:00
IceSentry
ae416f3c6e
clean up param hint checking
2020-04-09 10:35:07 -04:00
IceSentry
cba694c602
better &mut
and &
matching
2020-04-08 19:26:47 -04:00