Tongjun Gao
492d5e2bae
change 'let mut' keyword completion into 'ietm' snippet
2025-03-04 12:04:54 +08:00
Tongjun Gao
0b9dbe7426
Improve keyword completion for 'let' and 'let mut'
2025-03-04 11:50:11 +08:00
Tim Hutt
8d91f1cc17
Include private items in completions for local crates
...
Don't filter out private items when completing paths in the same crate. Instead respect the `privateEditable` setting.
Fixes #9850
2025-02-23 13:25:53 +00:00
Lukas Wirth
b31f53e0d6
Fix flyimport not filtering via stability of import path
2025-01-25 12:18:54 +01:00
lh123
a282733b49
don't complete raw in &mut $0
2025-01-16 19:40:42 +08:00
lh123
9809143562
feat: complete raw, const keyword
2025-01-16 18:27:59 +08:00
Lukas Wirth
bf7597cd5a
Hide synthetic locals from completions
2025-01-04 16:48:08 +01:00
Lukas Wirth
1adc805dfa
Cleanup
2025-01-01 15:21:54 +01:00
Chayim Refael Friedman
7e6ade117c
Allow excluding specific traits from completion
...
To be accurate, only their methods are excluded, the trait themselves are still available.
I also excluded a bunch of std traits by default. Some less opinionated, like `AsRef`, which should never be used directly except in generic scenarios (and won't be excluded there), some more opinionated, like the ops traits, which I know some users sometimes want to use directly. Either way it's configurable.
It should be pretty easy to extend support to excluding only specific methods, but I didn't do that currently.
Traits configured to be excluded are resolved in each completion request from scratch. If this proves too expensive, it is easy enough to cache them in the DB.
2025-01-01 13:49:35 +01:00
Lukas Wirth
24c0e0bd48
fix: Fix find_path not respecting non-std preference config correctly
2024-08-10 10:32:10 +02:00
Lukas Wirth
f2d51073d2
Use statics + clone instead of const until const can access statics
2024-07-14 17:52:59 +02:00
Lukas Wirth
3fe815b0f3
Use Symbol in Name
2024-07-12 16:06:44 +02:00
Shohei Wada
3725ab3146
squash.
2024-07-02 01:52:34 +09:00
Wilfred Hughes
27182bb96b
chore: Prefer tracing span shorthand macros
2024-06-06 16:52:25 -07:00
David Barsky
b75301cec8
internal: refactor prefer_no_std/prefer_prelude bools into a struct
2024-05-22 20:46:30 +02:00
Lukas Wirth
c88b421853
fix: Fix general find-path inconsistencies
2024-05-22 14:05:24 +02:00
Tavo Annus
ab18604309
Make term search fuel configurable
2024-05-08 19:46:33 +03:00
Tavo Annus
9e1adc76e5
Use unit of work as fuel instead of time
2024-05-07 22:13:27 +03:00
Tavo Annus
d253617bba
Add time based fuel to term search
2024-05-06 22:13:09 +03:00
Tavo Annus
125791386d
Cleanup term search related changes
2024-02-11 14:35:54 +02:00
Tavo Annus
88964c0b6a
Optionally disable term search for autocompletion
2024-02-11 13:33:29 +02:00
Tavo Annus
0b838e3e23
Expand target for autocompletion
2024-02-11 13:33:29 +02:00
Tavo Annus
a946970e2d
Add quantified trees to reduce autocomplete options
2024-02-11 13:33:29 +02:00
Tavo Annus
bdbdd83ec1
Initial version of term_search for autocomplete
2024-02-11 13:33:29 +02:00
Lukas Wirth
15bffe25bd
feat: Add break and return postfix keyword completions
2024-02-08 14:56:10 +01:00
David Barsky
e1ea7c8844
internal: switch to tracing from log
...
This commit also adds `tracing` to NotificationDispatcher/RequestDispatcher,
bumps `rust-analyzer-salsa` to 0.17.0-pre.6, `always-assert` to 0.2, and
removes the homegrown `hprof` implementation in favor of a vendored
tracing-span-tree.
2024-01-30 12:27:31 -05:00
Lukas Wirth
ba61766217
Add config for preferring / ignoring prelude modules in find_path
2023-11-11 14:56:38 +01:00
hecatia-elegua
33ee157f3b
Render alias text for use imports
...
* removes one method breaking the flow
2023-04-06 17:25:30 +02:00
hecatia-elegua
b4515d987f
Add doc(alias)-based use and other mod completion
2023-04-05 22:08:59 +02:00
hecatia-elegua
0863389dd1
Add doc-alias based completion
2023-03-29 14:08:25 +02:00
Daniel Eades
ed128872eb
remove needless borrows
2023-01-02 14:52:32 +00:00
Lukas Wirth
a8ecaa1979
Restructure find_path into a separate functions for modules and non-module items
...
Also renames `prefer_core` imports config to `prefer_no_std` and changes the behavior of no_std path searching by preferring `core` paths `over` alloc
2022-09-13 15:15:27 +02:00
Lukas Wirth
7d19971666
Add config to unconditionally prefer core imports over std
...
Fixes https://github.com/rust-lang/rust-analyzer/issues/12979
2022-09-09 20:04:56 +02:00
Aleksey Kladov
d7ef3f51ec
fix: correct broken logic for return complition
...
It seems that we've accidentally deleted the tests here couple of years
ago, and then fairly recently made a typo during refactor as well.
Reinstall tests, with coverage marks this time :-)
2022-09-04 18:12:55 +01:00
Lukas Wirth
b3ac58dfb8
Add some more cov_marks
2022-08-09 18:08:05 +02:00
Lukas Wirth
8c9359b072
Fix pattern field completions not working for unions
2022-08-09 17:53:16 +02:00
Lukas Wirth
ce7541260d
fix: Don't complete marker traits in expression position
2022-07-28 17:50:49 +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
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
yue4u
622b516c74
fix: variants rendering in pattern path
2022-07-02 20:31:24 +09:00
Lukas Wirth
7a0774defa
internal: Simplify some completions
2022-06-20 21:55:33 +02:00
Lukas Wirth
46d22719fc
Remove pattern rendering hack
2022-06-20 20:16:40 +02:00
Lukas Wirth
6e9c963348
internal: Lift out IdentContext from CompletionContext
2022-06-20 17:41:04 +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