Jessie Chatham Spencer
37e0e8af10
Implement extern crate completion
2023-08-20 16:36:59 +00:00
Max Heller
400f618a5c
convert TypeLocation::GenericArg to struct variant
2023-08-08 20:37:23 -04:00
Max Heller
0c21d8538c
FIXME
2023-08-06 12:04:33 -04:00
Max Heller
bb9d8229b8
cleanup
2023-08-06 12:04:29 -04:00
Max Heller
bed1114b8b
handle omitted lifetime params
2023-08-05 09:07:29 -04:00
Max Heller
5e6d646ccc
remove unnecessary branch
2023-08-05 08:14:44 -04:00
Max Heller
1b3e20fe68
handle more cases
2023-08-02 17:59:26 -04:00
Max Heller
f4038a6bf1
support AssocTypeArg and MethodCalls
2023-08-02 11:36:09 -04:00
Max Heller
b9ee4a5167
working for path segments
2023-07-31 21:21:40 -04:00
Max Heller
c4cff80269
use nodes from actual file
2023-07-30 11:12:49 -04:00
Max Heller
784379eb79
wip
2023-07-29 15:23:35 -04:00
hkalbasi
3a1054fc1c
Replace x
with it
2023-07-06 17:33:17 +03:30
Lukas Wirth
69cd3c30ac
Format let-else
2023-07-03 20:34:09 +02:00
Lukas Wirth
c7ef6c25b7
internal: Replace Display impl for Name
2023-05-24 20:55:12 +02:00
Josh Soref
bc7d84c3ce
Spelling
...
* a rule
* access
* after
* amount
* annotations
* assignment
* assist
* associated
* attribute
* borrowed
* built-in type
* clarification
* command
* const
* constructor
* corresponding
* counterparts
* curlies
* dependencies
* deterministic
* diagnostic
* duplicates
* edge
* edited
* efficient
* elsewhere
* execution
* expression
* extensions
* extracted
* fill
* github
* helper
* heuristic
* incomplete
* indent end
* inlay
* invocation
* lifetime
* looking
* maybe
* move
* mutability
* mutable
* necessarily
* necessary
* negative
* nonexistent
* occurred
* offsets
* offsetted
* overridden
* parameters
* params
* params_and_where_preds_in_scope
* paredit
* parent
* parentheses
* prepended if
* punctuation
* receive
* receiver
* referring
* repeated
* representing
* semantically
* separately
* shouldnot
* siblings
* similar
* something's
* statement
* struct
* structure
* surprise
* the
* this
* transparent
* unimplemented
* unnamed
* unnecessary
* unneeded
* unreachable
* unterminated
* utilities
* variant
* variants
* visibility
* work around (v)
* workaround
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-04-19 09:45:55 -04:00
bors
7c05f55f0c
Auto merge of #13789 - feniljain:fix_enum_completion, r=Veykril
...
feat: show only missing variant suggestion for enums in patterns completion and bump them in list too
Fixes #12438
### Points to help in review:
- This PR can be reviewed commit wise, first commit is about bumping enum variant completions up in the list of completions and second commit is about only showing enum variants which are not complete
- I am calculating missing variants in analysis.rs by firstly locating the enum and then comparing each of it's variant's name and checking if arm string already contains that name, this is kinda hacky but I didn't want to implement complete missing_arms assist here as that would have been too bulky to run on each completion cycle ( if we can improve this somehow would appreciate some inputs on it )
### Output:
https://user-images.githubusercontent.com/49019259/208245540-57d7321b-b275-477e-bef0-b3a1ff8b7040.mov
Relevant Zulip Discussion: https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Frust-analyzer/topic/Issue.20.2312438
2023-03-18 07:06:27 +00:00
Lukas Wirth
82ed68c95e
fix: Fix reference completions being emitted in places other than argument lists
2023-03-15 10:41:17 +01:00
Lukas Wirth
026a8c976d
Simplify
2023-02-15 13:38:42 +01:00
bors
44568007d1
Auto merge of #14128 - Veykril:parser, r=Veykril
...
internal: Improve parser recovery for delimited lists
Closes https://github.com/rust-lang/rust-analyzer/issues/11188 , https://github.com/rust-lang/rust-analyzer/issues/10410 , https://github.com/rust-lang/rust-analyzer/issues/10173
Should probably be merged after the stable release as this might get the parser stuck if I missed something
2023-02-14 12:59:39 +00:00
Duong Quoc Khanh
0285acc5f7
Find next_non_trivia_token
of name_ref
.
2023-02-13 20:11:04 +09:00
Lukas Wirth
d2cf8c234a
Make else autocompletion work in more places
2023-02-12 10:49:57 +01:00
Lukas Wirth
33cacde04b
Fix active parameter analysis
2023-02-12 10:26:19 +01:00
Duong Quoc Khanh
e1396bde73
Don't trigger postfix completion if
block which has an else
block
...
Discard postfix completion if the next_non_trivia_sibling of dot_token
is an ELSE_KW.
2023-02-11 21:26:00 +09:00
Duong Quoc Khanh
74cd8ecc7e
Add completion without body.
...
Add completion for Fn, Const, TypeAlias without body.
2023-02-09 17:37:11 +09:00
Ryo Yoshida
0ec2911857
fix: consider relative offset to fake ident token in expansion for completion
2023-02-05 22:27:52 +09:00
Daniel Eades
ed128872eb
remove needless borrows
2023-01-02 14:52:32 +00:00
Yuri Astrakhan
e16c76e3c3
Inline all format arguments where possible
...
This makes code more readale and concise,
moving all format arguments like `format!("{}", foo)`
into the more compact `format!("{foo}")` form.
The change was automatically created with, so there are far less change
of an accidental typo.
```
cargo clippy --fix -- -A clippy::all -W clippy::uninlined_format_args
```
2022-12-24 14:36:10 -05:00
Yuri Astrakhan
1d59c7b667
Remove non-needed clones
...
I am not certain if this will improve performance,
but it seems having a .clone() without any need should be removed.
This was done with clippy, and manually reviewed:
```
cargo clippy --fix -- -A clippy::all -D clippy::redundant_clone
```
2022-12-23 02:20:03 -05:00
feniljain
794988c53b
feat: filter already present enum variants in match arms
2022-12-17 19:21:21 +05:30
Lukas Wirth
90e2db8126
fix: Fix item completions not working properly after unit structs and outline modules
2022-11-08 08:37:45 +01:00
Lukas Wirth
f3ae5e56fb
Refactor completions expansion
2022-10-10 15:45:24 +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
cynecx
902fd6ddcd
fix: complete path of existing record expr
2022-07-29 17:24:05 +02:00
Lukas Wirth
74abd44a26
fix: Do completions in path qualifier position
2022-07-28 17:09:31 +02:00
Lukas Wirth
e782e59d3d
fix: Calculate completions after type anchors
2022-07-28 10:06:36 +02:00
Lukas Wirth
1f8daa180f
fix: Honor ref expressions for compute_ref_match completions
2022-07-27 13:48:26 +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
Lukas Wirth
b96f8f18b0
fix: Improve self param completion applicability
2022-07-16 12:28:41 +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
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
ce5859e387
Lift out PathKind variant fields into structs
2022-06-20 13:29:13 +02:00
Lukas Wirth
f271b18129
Consider walking up macro expansions when searching for surrounding entities in completion analysis
2022-06-18 11:19:36 +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