Commit Graph

101 Commits

Author SHA1 Message Date
bors[bot] ee06096b0c Merge #6960
6960: Show enum variant on Self qualified paths r=matklad a=Veykril

Fixes first part of #6549
Fixes #6550

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2020-12-23 09:48:04 +00:00
Lukas Wirth 83121efcd5 Reduce some more code duplication 2020-12-22 19:00:38 +01:00
Lukas Wirth 2cd2947bf8 Insert snippet positions after fields names in record patterns 2020-12-21 15:10:27 +01:00
Lukas Wirth 33ecad4407 Create non-exhaustive patterns for non_exhaustive attributed items 2020-12-20 20:13:06 +01:00
Lukas Wirth a5874a38cb Reduce code duplication in pattern completion 2020-12-20 19:20:55 +01:00
Lukas Wirth 2f6a24950a Emit snippets for struct pattern completion if enabled 2020-12-20 19:16:28 +01:00
Lukas Wirth b184bfad7a Add completions for patterns 2020-12-20 18:19:23 +01:00
Lukas Wirth 15a52f69d9 Show enum variant completions for ref scrutinee 2020-12-20 12:32:53 +01:00
Lukas Wirth 943e4faceb Show enum variant on Self qualified paths 2020-12-20 12:31:59 +01:00
Aleksey Kladov f6ed16674c Align code_model name with ungrammar 2020-12-20 10:05:24 +03:00
Kirill Bulatov b45ec84739 Fewer allocations 2020-12-19 20:42:16 +02:00
Kirill Bulatov 0415dcd832 Tidy up 2020-12-19 14:13:27 +02:00
Kirill Bulatov 8c292e3cc5 Keep the original completion order in tests 2020-12-19 13:18:40 +02:00
Kirill Bulatov 5fa078f26f Add a slightly better fuzzy search heuristics 2020-12-19 12:54:17 +02:00
bors[bot] f4929fa9cc Merge #6901
6901: Temp fixes panic caused by no ast for proc-macro r=maklad a=edwin0cheng

There are some panic when hover/goto definition for proc-macro. It is because in current design, we don't have `ast-node` for proc-macro and then it trigger [this](https://github.com/rust-analyzer/rust-analyzer/blob/479d1f7eec22c3564867223e2093f14774092528/crates/hir/src/has_source.rs#L116) line to panic.

This PR is a temp fix for all of these similar to https://github.com/rust-analyzer/rust-analyzer/blob/bd4c352831662762ee7a66da77ec9adf623b0a0a/crates/completion/src/render/macro_.rs#L42

Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2020-12-18 02:30:51 +00:00
Edwin Cheng 60a3785ac2 Temp fixes panic caused by no ast for proc-macro 2020-12-18 10:26:17 +08:00
Kirill Bulatov 9d2cbf05e3 Show first fuzzy completions fully containing the input 2020-12-17 23:10:18 +02:00
Jonas Schievink c1cb595382 Move to upstream macro_rules! model 2020-12-15 15:37:37 +01:00
Jeremy Kolb 26a1675764 Remove some redundant allocations 2020-12-12 12:27:09 -05:00
Aleksey Kladov e179ed6f53 Use natural trait ordering in derive completion
derive(Clone, Copy) reads better than derive(Copy, Clone).

However, we preserve the reverse ordering in the lookup text for
sorting purposes. That way, it's convenient to type just `Ord` to
derive everything.
2020-12-11 15:45:53 +03:00
Aleksey Kladov 78de7f0d4a Remove debug print 2020-12-10 18:30:49 +03:00
Aleksey Kladov 076945e47c Minor, more orthogonal code
It's better to accept things as arguments rather than store them.
2020-12-10 18:01:02 +03:00
Aleksey Kladov 17f236c2b0 Normalize spelling to American English 2020-12-10 17:51:56 +03:00
Kirill Bulatov bf24cb3e8d Tweak the search query params for better lookup speed 2020-12-08 15:05:09 +02:00
Kirill Bulatov cbd3717f2c Better config name 2020-12-08 14:27:18 +02:00
Kirill Bulatov 3183ff3a7b Disable the completion for no corresponding client resolve capabilities 2020-12-08 01:07:20 +02:00
Kirill Bulatov 9656ceb896 Document the feature 2020-12-07 23:41:08 +02:00
Kirill Bulatov 19cfa5802e Simplify 2020-12-07 23:41:08 +02:00
Kirill Bulatov 077c1c3c1f Less panic, more tests 2020-12-07 23:41:08 +02:00
Kirill Bulatov 045d7f096f Fix the profiling label 2020-12-07 23:41:08 +02:00
Kirill Bulatov deda74edd8 Use stateless completion resolve 2020-12-07 23:41:08 +02:00
Kirill Bulatov 93bc009a59 Remove the state 2020-12-07 23:41:08 +02:00
Kirill Bulatov 74c3bbacc9 Make completion resolve async 2020-12-07 23:41:08 +02:00
Kirill Bulatov f6d2540df0 Simplify import edit calculation 2020-12-07 23:41:08 +02:00
Kirill Bulatov 68a747efe0 Remove redundant code 2020-12-07 23:41:08 +02:00
Kirill Bulatov 50e06ee95a Refactor the code 2020-12-07 23:41:08 +02:00
Kirill Bulatov d9bd1f171d Add eager resolve capability 2020-12-07 23:41:08 +02:00
Kirill Bulatov 2a7be4afb0 Better support client completion resolve caps 2020-12-07 23:41:08 +02:00
Kirill Bulatov 47464e556c Properly fill client completion resolve capabilities data 2020-12-07 23:41:08 +02:00
Kirill Bulatov 6d2d279389 Working resolve completion imports prototype 2020-12-07 23:41:08 +02:00
Kirill Bulatov 48acd7d455 Draft the new lsp handler 2020-12-07 23:41:08 +02:00
Lukas Wirth 2ff1ebe8f3 Update attributes completion list 2020-12-06 16:46:24 +01:00
Aleksey Kladov 21d962f0ac Trigger .let postfix snippet in the middle of the block 2020-12-01 15:38:06 +03:00
Aleksey Kladov 9d94ffad44 Place cursor correctly when completing assoc fns with self 2020-12-01 14:28:50 +03:00
Aleksey Kladov 02955661a0 Fix typo 2020-12-01 13:56:46 +03:00
Aleksey Kladov 6f51f728a1 Type-safer API for dealing with parameter lists with optional self 2020-12-01 13:53:39 +03:00
bors[bot] f8726d781a Merge #6601
6601: add let and letm postfix to turn expressions into variables r=matklad a=bnjjj

Partially resolve #6426 

Co-authored-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2020-11-29 19:21:25 +00:00
Benjamin Coenen 474ebd60d1 add let and letm postfix to turn expressions into variables
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2020-11-28 17:38:16 +01:00
Kirill Bulatov 3f612d37c6 Move the helpers into ide_db 2020-11-28 16:30:39 +02:00
Kirill Bulatov f75f07019b Group import data in a struct 2020-11-27 18:30:10 +02:00