Ryo Yoshida
29c957f973
Lower and handle trait aliases in HIR
2023-03-04 00:24:07 +09:00
Ryo Yoshida
bda2af71c6
feat: allow generate_function
to generate in different local crate
2023-03-03 18:40:13 +09:00
Lukas Wirth
026a8c976d
Simplify
2023-02-15 13:38:42 +01:00
feniljain
794988c53b
feat: filter already present enum variants in match arms
2022-12-17 19:21:21 +05:30
yue4u
1ca5cb7ed9
fix: also exclude 2 coloncolon in a row
2022-11-27 02:39:38 +09:00
yue4u
e1de04d60c
fix: only special casing 3 colon in a row
2022-11-27 01:53:45 +09:00
yue4u
7a568f7f95
fix: remove insufficient check for coloncolon
2022-11-20 01:29:02 +09:00
yue
a6d0e342a3
Update crates/ide-completion/src/context.rs
...
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2022-11-20 00:58:59 +09:00
yue4u
f26d5484d8
fix: filter unnecessary completions after colon
2022-11-12 22:33:40 +09:00
bors
d23537394e
Auto merge of #13386 - Veykril:completions-ref, r=Veykril
...
Refactor completions expansion
Depends on https://github.com/rust-lang/rust-analyzer/pull/13384
Diff is unfortunately massive as I changed the functions in the analysis module from associated ones to standalone (unfortunately without an extra commit)
2022-10-10 14:05:38 +00:00
Lukas Wirth
f3ae5e56fb
Refactor completions expansion
2022-10-10 15:45:24 +02:00
Lukas Wirth
63ed71bd30
Honor cfg attributes on params when lowering their patterns
2022-10-10 09:47:09 +02:00
Lukas Wirth
6c5d15800e
fix: Fix reference autocompletions using incorrect offsets in macro inputs
...
Fixes https://github.com/rust-lang/rust-analyzer/issues/13035
2022-08-23 14:29:59 +02:00
Lukas Wirth
8c9359b072
Fix pattern field completions not working for unions
2022-08-09 17:53:16 +02:00
Lukas Wirth
e782e59d3d
fix: Calculate completions after type anchors
2022-07-28 10:06:36 +02:00
Dorian Scheidt
13c83f90ac
fix: Don't add braces to 'if' completion in match guard position
...
When the cursor is in a match arm, but before the fat arrow (=>) token, don't
add braces when autocompleting "if".
fixes #12823
2022-07-23 12:25:02 -05:00
Amos Wenger
816f7fe12a
Run cargo fix --edition-idioms
2022-07-20 15:02:08 +02:00
bors
96481b7786
Auto merge of #12773 - Veykril:self-compl, r=Veykril
...
fix: Improve self param completion applicability
Fixes https://github.com/rust-lang/rust-analyzer/issues/9522
2022-07-16 10:28:52 +00:00
Lukas Wirth
b96f8f18b0
fix: Improve self param completion applicability
2022-07-16 12:28:41 +02:00
Lukas Wirth
7ff6c36716
fix: Don't show qualified path completions for private items
2022-07-15 13:30:43 +02:00
feniljain
4cbde4ed8f
fix(completion): super::
completion at crate root and module depth
...
aware
2022-07-14 17:07:43 +05:30
Lukas Wirth
bdbffdd463
fix: Fix completions for locals not working properly inside macro calls
2022-06-27 14:39:44 +02:00
Lukas Wirth
7a0774defa
internal: Simplify some completions
2022-06-20 21:55:33 +02:00
Lukas Wirth
06ee4d6222
fix: Fix auto-ref completions inserting into wrong locations
2022-06-20 18:59:57 +02:00
Lukas Wirth
6e9c963348
internal: Lift out IdentContext from CompletionContext
2022-06-20 17:41:04 +02:00
Lukas Wirth
bcf10cde13
internal: Remove previous_token
field from CompletionContext
2022-06-20 15:07:48 +02:00
Lukas Wirth
7685245282
Even more completion context filtering
2022-06-20 14:23:46 +02:00
Lukas Wirth
ce5859e387
Lift out PathKind variant fields into structs
2022-06-20 13:29:13 +02:00
Lukas Wirth
c1446a2743
Move CompletionContext::impl_def
into corresponding entities
2022-06-18 10:45:53 +02:00
Lukas Wirth
83e8f3ac30
Move CompletionContext::incomplete_let
into PathKind::Expr
2022-06-18 10:19:04 +02:00
Lukas Wirth
7369e5120d
Move CompletionContext::function_def
into PathKind::Expr
2022-06-18 09:54:03 +02:00
Lukas Wirth
309ecdd71c
internal: NameRefKind classification is not optional
2022-06-18 08:58:47 +02:00
Lukas Wirth
173bb10a76
internal: Split flyimport into its 3 applicable contexts
2022-06-18 00:47:28 +02:00
Lukas Wirth
00fdb4a3d8
Only run completion functions if their corresponding context is active
2022-06-17 23:36:39 +02:00
Lukas Wirth
85b68b1f7d
Inline PathQualifierCtx
2022-06-17 17:27:12 +02:00
Lukas Wirth
d6f161ffa9
internal: Collapse lift is_infer_qualifier into Qualified
variant
2022-06-17 17:15:29 +02:00
Lukas Wirth
2f2ea77d88
Move existing_derives into PathKind::Derive
2022-06-17 16:56:21 +02:00
Lukas Wirth
531060f103
internal: Collapse completion ctx path qualifier and is_absolute_path into enum
2022-06-17 16:36:22 +02:00
Lukas Wirth
85363d18e8
Simplify
2022-06-17 16:22:51 +02:00
Lukas Wirth
f35a9a1dcc
Split out tests
2022-06-17 15:19:09 +02:00
Lukas Wirth
a2537e591a
Split completion context module into definitions and analysis parts
2022-06-17 15:16:20 +02:00
Lukas Wirth
f201a40492
Remove ImmediateLocation in favor of PathKind::Type
2022-06-17 15:09:48 +02:00
Lukas Wirth
6b246292ca
Move more ImmediateLocation::TypeAnnotation into PathKind::Type
2022-06-17 11:31:36 +02:00
Lukas Wirth
6e07b17f69
Introduce NameRefKind for completions
2022-06-17 10:45:19 +02:00
Lukas Wirth
a2a74bf278
Remove some of the unnecessary helpfer functions from CompletionContext
2022-06-03 20:49:25 +02:00
Lukas Wirth
a0c1816e3a
Simplify
2022-06-03 19:55:30 +02:00
Lukas Wirth
98c0578f15
Move trait_impl completion analysis into CompletionContext
2022-06-03 19:49:02 +02:00
Lukas Wirth
522f66545f
Remove prev-sibling completion machinery
2022-06-03 16:25:37 +02:00
Lukas Wirth
6550a241fb
More precise where keyword completions
2022-06-03 16:11:26 +02:00
Lukas Wirth
c522669f00
Remove dead code
2022-06-03 15:46:17 +02:00
Lukas Wirth
c5dcc77b40
Fix visibility mods not being completed for field defs
2022-06-03 15:42:28 +02:00
Lukas Wirth
519ac81b57
internal: Move most remaining keyword completions to item list completions
2022-06-03 15:15:21 +02:00
Lukas Wirth
1234d8647f
minor: Remove unused code
2022-05-31 20:21:50 +02:00
Lukas Wirth
0327df224b
More precise completion filtering
2022-05-30 16:01:17 +02:00
Lukas Wirth
6f006b7524
Simplify
2022-05-24 21:58:47 +02:00
Lukas Wirth
6a8b8a6039
internal: Refactor our record pat/expr handling in completion context
2022-05-24 13:24:36 +02:00
Lukas Wirth
697ade6f8d
internal: Simplify DotAccess representation in completions
2022-05-24 11:54:50 +02:00
Lukas Wirth
2aa22730f1
fix: Fix completions not working after attributes
2022-05-23 17:22:48 +02:00
Lukas Wirth
018975b041
fix: Fix incorrect expected type in completions for match arms
2022-05-19 12:33:25 +02:00
Jonas Schievink
0831f3123b
Fix tests
2022-05-13 15:54:46 +02:00
Lukas Wirth
b2abe1bca1
Move keyword expressions to expr completions module
2022-05-10 15:00:58 +02:00
Lukas Wirth
26fef97d59
Simplify
2022-05-10 14:31:28 +02:00
Lukas Wirth
a0fc649269
fix unreachable pub
2022-05-07 15:50:01 +02:00
Lukas Wirth
44c3cc100b
Merge the different identifier contexts into one enum
2022-05-07 15:06:59 +02:00
Lukas Wirth
99fa37d6e3
Split namelike into the corresponding completion contexts
2022-05-07 14:16:03 +02:00
Lukas Wirth
6a045c7029
Introduce NameRefContext
2022-05-07 13:46:43 +02:00
Lukas Wirth
0ce620686c
fix: Fix snippets triggering where they shouldn't
2022-05-06 15:44:41 +02:00
Lukas Wirth
57a9915c1f
internal: completion PathKind is not optional
2022-05-06 12:04:41 +02:00
Lukas Wirth
0c4e23b8ef
internal: Remove unqualified_path completions module
2022-05-05 22:21:42 +02:00
Lukas Wirth
16d2e79b50
internal: Remove unqualified_path completions module
2022-05-05 15:50:40 +02:00
Lukas Wirth
25d133e3b8
internal: Lift out item list path completions from (un)qualified_path
2022-05-05 12:20:18 +02:00
Lukas Wirth
8b092ec337
internal: Lift out macro bang property from PathKind enum
2022-05-05 10:51:02 +02:00
Peh
1f011fa4a3
style: rename crates to kebab case
2022-05-01 10:48:58 +00:00