Lukas Wirth
fbc1d2a514
Simplify
2022-03-14 20:36:35 +01:00
Lukas Wirth
301711ee71
internal: Remove ide_completion::render::build_ext module
2022-03-12 16:13:49 +01:00
Lukas Wirth
0b54d31359
Remove no_completions_required from CompletionContext
2022-03-12 02:12:00 +01:00
Lukas Wirth
2abe19e46a
Don't offer qualified path completions for buitlin derives
2022-03-10 21:22:13 +01:00
Lukas Wirth
a8b76b632c
Expand into pseudo-derive attribute expansions in completions
2022-03-10 20:53:50 +01:00
Lukas Wirth
ab21cf2f4f
internal: Re-arrange ide_db modules
2022-03-06 19:04:04 +01:00
Lukas Wirth
2a7793d912
feat: Make private editable completions configurable, disable by default
2022-02-25 22:16:40 +01:00
Chayim Refael Friedman
13ac5c3491
Fix various IDE features
...
As a side benefit, we got `let` guard support for `move_guard` for free.
2022-02-21 08:34:35 +02:00
Lukas Wirth
7619c2afea
Simplify
2022-02-03 16:00:49 +01:00
Lukas Wirth
9f5ee155c1
Move path completions for patterns into pattern module
2022-02-03 15:52:03 +01:00
Lukas Wirth
33fd2d7aef
Cleanup PathCompletionContext qualifier handling
2022-02-03 15:52:03 +01:00
Lukas Wirth
6940cca760
Move attribute path completions into attribute completion module
2022-02-03 15:50:14 +01:00
Lukas Wirth
7267749f6b
Cleanup Completions
api a bit
2022-02-02 12:19:43 +01:00
Lukas Wirth
5c41f5d165
feat: Deprioritize completions of private but editable definitions
2022-02-02 02:05:49 +01:00
Lukas Wirth
d7a544e69a
fix: Complete functions and methods from block level impls
2022-02-01 23:29:40 +01:00
Lukas Wirth
6194092086
Complete local fn and closure params from surrounding locals scope
2022-01-31 11:56:42 +01:00
Lukas Wirth
2c36102722
internal: Decrease PartialOrd and PartialEq trait methods completion relevance
2022-01-15 11:05:13 +01:00
Lukas Wirth
4901ea3eef
Lookup lang attribute on assoc item trait directly
2022-01-11 10:28:38 +01:00
Lukas Wirth
ca0633c808
feat: Deprioritize ops methods in completion
2022-01-11 09:26:53 +01:00
bors[bot]
2fb6f5e46a
Merge #11218
...
11218: fix: Correct has_ref detection, avoiding duplicate &mut insertion on parameter completion r=Veykril a=weirane
The original code fails to detect there's a ref in scenarios such as `&mut s` and `& s` because `WHITESPACE` and `IDENT` got reversed.
Closes #11199 .
Co-authored-by: Wang Ruochen <wrc@ruo-chen.wang>
2022-01-06 23:17:51 +00:00
Wang Ruochen
3a57f700d8
Correct has_ref detection
2022-01-06 11:46:28 -08:00
Lukas Wirth
bd91327079
fix: Fix completions not considering ancestor items for attribute search
2022-01-05 21:44:56 +01:00
Aleksey Kladov
726da9884b
avoid speculation when completing macros
2021-12-28 16:52:15 +03:00
bors[bot]
578269e613
Merge #11093
...
11093: fix: Do not complete `Drop::drop`, complete `std::mem::drop` instead r=Veykril a=Veykril
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/5005
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-12-22 01:48:31 +00:00
Lukas Wirth
5360c9bd22
fix: Do not complete Drop::drop
, complete std::mem::drop
instead
2021-12-22 02:25:38 +01:00
Lukas Wirth
e76e0e843d
Simplify
2021-12-21 18:28:04 +01:00
Lukas Wirth
22b2c2fdf7
Simplify
2021-12-21 14:07:48 +01:00
Lukas Wirth
901c7c7277
match_ast!
takes a pattern to allow underscore usage
2021-12-14 12:44:31 +01:00
Florian Diebold
d599f819e0
Fix expected type calculation in struct literal if followed by comma
2021-12-11 18:47:45 +01:00
Lukas Wirth
ae0c7268f7
internal: completion: split out more PathKinds from ImmediateLocation
2021-12-07 22:49:42 +01:00
Lukas Wirth
1f254dd855
feat: Enable flyimport completions for attributes
2021-12-05 15:57:28 +01:00
Lukas Wirth
77f08d0fc3
Split parts of ide_db::call_info
off into ide
2021-11-22 13:23:34 +01:00
zhoufan
5666046ec9
fix: flyimport triggers on enum variant declarations
2021-11-14 12:16:21 +08:00
Lukas Wirth
dea973089c
Simplify
2021-11-10 18:26:18 +01:00
Lukas Wirth
ab657af5b7
Add some completion profile spans
2021-11-08 19:41:16 +01:00
Lukas Wirth
f7e8136923
Add test for current incorrect behaviour
2021-11-08 14:10:26 +01:00
Lukas Wirth
7369360c15
Don't ascribe types in pattern completion for patterns twice
2021-11-05 18:39:36 +01:00
Lukas Wirth
722489e3ff
Remove filtered completion list usage in completion tests
2021-10-27 16:53:39 +02:00
Lukas Wirth
e329b7742b
Reorder CompletionContext functions
2021-10-17 11:15:56 +02:00
Lukas Wirth
791a2afbf9
Don't turn local names into strings in CompletionContext
2021-10-17 10:59:06 +02:00
Lukas Wirth
81ccebf1f2
internal: Refactor lifetime completion context fields
2021-10-16 23:56:57 +02:00
Mirko Rainer
eccfa1645b
Saw a FIXME comment and decided to fix it.
...
This renames `descend_into_macros` to `descend_into_macros_single` and `descend_into_macros_many` into `descend_into_macros`.
However, this does not touch a function in `SemanticsImpl` of same name.
2021-10-12 11:52:31 -04:00
Lukas Wirth
5ccaff3c97
Simplify
2021-10-11 21:49:50 +02:00
bors[bot]
c409cf0e26
Merge #10458
...
10458: feat: Implement custom user snippets r=Veykril a=Veykril
![Y24dX7fOWX](https://user-images.githubusercontent.com/3757771/136059454-ceccfc2c-2c90-46da-8ad1-bac9c2e83ec1.gif )
Allows us to address the following issues:
- `.arc / .rc / .pin, similar to .box?` https://github.com/rust-analyzer/rust-analyzer/issues/7033
- `Add unsafe snippet` https://github.com/rust-analyzer/rust-analyzer/issues/10392 , would allow users to have this without the diagnostic)
- `.ok() postfix snippet is annoying` https://github.com/rust-analyzer/rust-analyzer/issues/9636 , allows us to get rid of the `ok` postfix and similar ones
- `Postfix vec completion` https://github.com/rust-analyzer/rust-analyzer/issues/7773
cc https://github.com/rust-analyzer/rust-analyzer/issues/772
Zulipd discussion: https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Frust-analyzer/topic/Custom.20Postfix.20snippets
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-10-05 16:41:11 +00:00
Aramis Razzaghipour
9583dd5725
Replace if let
with match
where appropriate
2021-10-05 09:00:21 +11:00
Lukas Wirth
88f213eadd
Initial implementation of custom postfix snippets
2021-10-04 17:49:21 +02:00
Lukas Wirth
d7d16a7ac9
Don't show flyimport completions in use renames
2021-09-30 18:15:55 +02:00
Lukas Wirth
b6ed91a6de
Rename *Owner
traits to Has*
2021-09-27 12:54:24 +02:00
Aleksey Kladov
2bf81922f7
internal: more reasonable grammar for blocks
...
Consider these expples
{ 92 }
async { 92 }
'a: { 92 }
#[a] { 92 }
Previously the tree for them were
BLOCK_EXPR
{ ... }
EFFECT_EXPR
async
BLOCK_EXPR
{ ... }
EFFECT_EXPR
'a:
BLOCK_EXPR
{ ... }
BLOCK_EXPR
#[a]
{ ... }
As you see, it gets progressively worse :) The last two items are
especially odd. The last one even violates the balanced curleys
invariant we have (#10357 ) The new approach is to say that the stuff in
`{}` is stmt_list, and the block is stmt_list + optional modifiers
BLOCK_EXPR
STMT_LIST
{ ... }
BLOCK_EXPR
async
STMT_LIST
{ ... }
BLOCK_EXPR
'a:
STMT_LIST
{ ... }
BLOCK_EXPR
#[a]
STMT_LIST
{ ... }
2021-09-26 19:16:09 +03:00
bors[bot]
c577e128fc
Merge #10248
...
10248: internal: remove dead code r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-09-15 18:23:46 +00:00