Jeremy Kolb
17f4d27f12
Minor perf tweaks per clippy
2020-07-19 14:26:24 -04:00
Aleksey Kladov
f7f4ea633b
Don't duplicate parens in patterns
2020-07-14 13:51:43 +02:00
Aleksey Kladov
a36ff4a100
Speed up completion
2020-07-11 01:26:24 +02:00
Aleksey Kladov
3558736582
Better name
2020-07-10 17:56:55 +02:00
Aleksey Kladov
e4983daa5e
Better complete expression keywords
2020-07-10 17:41:43 +02:00
Aleksey Kladov
5b8a5bfb15
Modernize unqualified reference completion tests
2020-07-07 12:52:09 +02:00
Laurențiu Nicola
5953cbd7ae
Make SemanticsScope non-generic
2020-07-01 09:34:45 +03:00
Aleksey Kladov
52a220cece
Deprecate hir::Path::from_ast
2020-06-15 10:55:48 +02:00
Mikhail Rakhmanov
912f38200f
Add keywords completions on source file position
2020-06-13 10:43:39 +02:00
Mikhail Rakhmanov
6feb52c12a
Add more patterns, tests and fix keywords
2020-06-13 00:55:21 +02:00
Mikhail Rakhmanov
a2b4385f16
Add few smoke tests for patterns and refactoring
2020-06-12 00:17:30 +02:00
Mikhail Rakhmanov
f46bc12199
Add more patterns and keywords
2020-06-11 23:25:58 +02:00
Mikhail Rakhmanov
9f91901f7e
Add more keywords
2020-06-11 14:16:35 +02:00
Benjamin Coenen
846cefa491
fix textedit range returned for completion when left token is a keyword
...
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2020-05-27 15:15:19 +02:00
Benjamin Coenen
0e814a3b5f
fix textedit range returned for completion when left token is a keyword #4545
...
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2020-05-24 16:47:35 +02:00
Aleksey Kladov
90c62bcee9
Prioritize locals with correct types
2020-05-14 15:15:52 +02:00
Aleksey Kladov
4a6fa8f0df
Rename AtomTextEdit -> Indel
2020-05-05 23:15:49 +02:00
Kirill Bulatov
767bff89ed
Complete standard derives
2020-05-02 21:41:02 +03:00
Aleksey Kladov
4f2134cc33
Introduce EffectExpr
2020-05-02 11:21:39 +02:00
Aleksey Kladov
05cdc87158
Precompute expected type during completion
2020-04-26 10:54:08 +02:00
Aleksey Kladov
b1d5817dd1
Convert code to text-size
2020-04-25 11:59:18 +02:00
Roberto Vidal
0dab5d5879
Adds attribute completions ( #3941 )
2020-04-24 17:54:52 +02:00
Aleksey Kladov
09a4b78775
Introduce ActiveParameter
2020-04-24 01:46:00 +02:00
bors[bot]
e833e03783
Merge #3954
...
3954: Improve autocompletion by looking on the type and name r=matklad a=bnjjj
This tweet (https://twitter.com/tjholowaychuk/status/1248918374731714560 ) gaves me the idea to implement that in rust-analyzer.
Basically for this first example I made some examples when we are in a function call definition. I look on the parameter list to prioritize autocompletions for the same types and if it's the same type + the same name then it's displayed first in the completion list.
So here is a draft, first step to open a discussion and know what you think about the implementation. It works (cf tests) but maybe I can make a better implementation at some places. Be careful the code needs some refactoring to be better and concise.
PS: It was lot of fun writing this haha
Co-authored-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2020-04-23 21:48:45 +00: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
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
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
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
30084a56a5
Simpler acessors for keywords
2020-04-09 23:42:01 +02:00
Aleksey Kladov
2bfb65db93
Be consistent about token accesors
2020-04-09 18:48:13 +02:00
Aleksey Kladov
5540193fc8
Don't insert !() if there's already some
2020-04-07 16:37:33 +02:00
Aleksey Kladov
adbcedde18
Remove the second code-path for completing names in patterns
2020-04-03 21:00:15 +02:00
Aleksey Kladov
569f47e427
Better names for config structs
2020-03-31 16:05:25 +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
Steffen Lyngbaek
6941a7faba
- Exclude Local Scope for BindPats
...
- Exclude BindPats with @ or ref
- Remove outdated test and add one testing for ref
2020-03-19 14:12:00 -07:00
Steffen Lyngbaek
b6d6277362
Completition for type name? #3418
...
Iterate through TupleStructPat's until a MatchArm if
one exists. Store in a new is_pat_bind_and_path bool
and allow the `complete_scope` to find matches.
Added some tests to ensure it works in simple and nested cases.
2020-03-19 14:12:00 -07:00
Florian Diebold
c32529ddd0
Get tests working
2020-03-16 18:38:19 +01:00
Aleksey Kladov
2347c03dcd
Introduce CompletionOptions
2020-03-10 18:40:22 +01:00
Florian Diebold
afdf08e964
Move hypothetical expansion to hir_expand
2020-03-08 11:10:48 +01:00
Florian Diebold
941a574409
Fix CompletionContext module field (by removing it)
...
Two uses only needed the crate; one was wrong and should use the module from the
scope instead.
2020-03-07 17:53:22 +01:00
Florian Diebold
020c00e44d
Add some sanity checks
2020-03-07 17:47:49 +01:00
Florian Diebold
cbca4effce
Fix record pattern completion
2020-03-07 16:53:16 +01:00
Florian Diebold
b719e211cf
Fix record literal completion
2020-03-07 16:48:39 +01:00
Florian Diebold
24e98121d8
Try to complete within macros
2020-03-07 15:48:06 +01:00
Aleksey Kladov
a1e1869554
Rename ast::ImplBlock -> ast::ImplDef
2020-02-29 21:33:15 +01:00