aboutsummaryrefslogtreecommitdiff
path: root/crates/completion/src/completions
Commit message (Collapse)AuthorAgeFilesLines
* Merge #7102bors[bot]2021-01-011-2/+66
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | 7102: Fix completion of Default struct update syntax r=Veykril a=nick96 Previously the inserted text was always `..Default::default()` which ends up as `...Default::default()` if `.` was typed. Now checks if the current token is `.` and inserts `.Default::default()` if it is, so `..Default::default()` is correctly completed. I think there's probably a better way to implement this context aware completion because I've seen it in other parts of rust-analyzer as a user but I'm not sure how to do it. Fixes #6969 Co-authored-by: Nick Spain <[email protected]>
| * Strip completion prefix of what has already been typedNick Spain2021-01-011-5/+4
| | | | | | | | | | Per Veykril's suggestion, this removes the need to repeat the completion text twice. It also handles the completion in a more general case.
| * Add a test for correct completion of ..Default::default()Nick Spain2021-01-011-1/+61
| |
| * Fix completion of Default struct update syntaxNick Spain2020-12-311-1/+6
| | | | | | | | | | | | | | | | Previously the inserted text was always `..Default::default()` which ends up as `...Default::default()` if `.` was typed. Now checks if the current token is `.` and inserts `.Default::default()` if it is, so `..Default::default()` is correctly completed. Fixes #6969
* | Remove some unneeded string allocationsLukas Wirth2020-12-311-1/+1
|/
* Avoid a couple of allocationsLaurențiu Nicola2020-12-291-2/+2
|
* Merge #7064bors[bot]2020-12-291-3/+8
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7064: Ignore qualifiers when doing autoimport completions lookup r=lnicola a=SomeoneToIgnore A follow-up of https://github.com/rust-analyzer/rust-analyzer/pull/6918#issuecomment-748511151 and the PR itself. Tweaks the `import_map` query api to be more flexible with the ways to match against the import path and now fuzzy imports search in names only. This had improved the completion speed for me locally in ~5 times for `fuzzy_completion` span time, but please recheck me here. IMO we're fast and presice enough now, so I've added the modules back to the fuzzy search output. Also tweaks the the expect tests to display functions explicitly, to avoid confusing "duplicate" results. Co-authored-by: Kirill Bulatov <[email protected]>
| * Tweak the fuzzy search limitsKirill Bulatov2020-12-281-1/+6
| |
| * Add docs and optimisationsKirill Bulatov2020-12-281-2/+2
| |
| * Better query api and fuzzy searchKirill Bulatov2020-12-281-1/+1
| |
| * Draft the module exclusion in modulesKirill Bulatov2020-12-281-1/+1
| |
* | Merge #7076bors[bot]2020-12-291-1/+10
|\ \ | | | | | | | | | | | | | | | | | | | | | 7076: Properly parse path separators in format-like postfix r=Veykril a=Veykril Co-authored-by: Lukas Wirth <[email protected]>
| * | Properly parse path separators in format-like postfixLukas Wirth2020-12-291-1/+10
| |/
* / format-postfix completion takes format instead of fmtLukas Wirth2020-12-292-2/+2
|/
* Merge #6960bors[bot]2020-12-232-1/+55
|\ | | | | | | | | | | | | | | | | 6960: Show enum variant on Self qualified paths r=matklad a=Veykril Fixes first part of #6549 Fixes #6550 Co-authored-by: Lukas Wirth <[email protected]>
| * Show enum variant completions for ref scrutineeLukas Wirth2020-12-201-1/+26
| |
| * Show enum variant on Self qualified pathsLukas Wirth2020-12-201-0/+29
| |
* | Reduce some more code duplicationLukas Wirth2020-12-221-9/+29
| |
* | Insert snippet positions after fields names in record patternsLukas Wirth2020-12-211-5/+5
| |
* | Emit snippets for struct pattern completion if enabledLukas Wirth2020-12-201-5/+5
| |
* | Add completions for patternsLukas Wirth2020-12-201-15/+139
|/
* Align code_model name with ungrammarAleksey Kladov2020-12-201-1/+1
|
* Fewer allocationsKirill Bulatov2020-12-191-5/+7
|
* Tidy upKirill Bulatov2020-12-192-32/+26
|
* Keep the original completion order in testsKirill Bulatov2020-12-1911-192/+192
|
* Add a slightly better fuzzy search heuristicsKirill Bulatov2020-12-191-10/+62
|
* Show first fuzzy completions fully containing the inputKirill Bulatov2020-12-171-5/+14
|
* Remove some redundant allocationsJeremy Kolb2020-12-121-1/+1
|
* Use natural trait ordering in derive completionAleksey Kladov2020-12-111-17/+18
| | | | | | | | 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.
* Remove debug printAleksey Kladov2020-12-101-7/+5
|
* Minor, more orthogonal codeAleksey Kladov2020-12-101-9/+7
| | | | It's better to accept things as arguments rather than store them.
* Normalize spelling to American EnglishAleksey Kladov2020-12-101-5/+5
|
* Tweak the search query params for better lookup speedKirill Bulatov2020-12-081-31/+29
|
* Better config nameKirill Bulatov2020-12-081-2/+4
|
* Disable the completion for no corresponding client resolve capabilitiesKirill Bulatov2020-12-071-76/+58
|
* Document the featureKirill Bulatov2020-12-071-0/+43
|
* Less panic, more testsKirill Bulatov2020-12-071-2/+39
|
* Use stateless completion resolveKirill Bulatov2020-12-071-4/+6
|
* Update attributes completion listLukas Wirth2020-12-061-3/+39
|
* Trigger .let postfix snippet in the middle of the blockAleksey Kladov2020-12-011-4/+31
|
* Place cursor correctly when completing assoc fns with selfAleksey Kladov2020-12-011-20/+20
|
* Type-safer API for dealing with parameter lists with optional selfAleksey Kladov2020-12-011-1/+1
|
* Merge #6601bors[bot]2020-11-291-0/+59
|\ | | | | | | | | | | | | | | 6601: add let and letm postfix to turn expressions into variables r=matklad a=bnjjj Partially resolve #6426 Co-authored-by: Benjamin Coenen <[email protected]>
| * add let and letm postfix to turn expressions into variablesBenjamin Coenen2020-11-281-11/+54
| | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
| * add let and letm postfix to turn expressions into variablesBenjamin Coenen2020-11-211-0/+16
| | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
* | Move the helpers into ide_dbKirill Bulatov2020-11-282-3/+3
| |
* | Extract the import code into the shared moduleKirill Bulatov2020-11-272-3/+3
| |
* | Merge #6635bors[bot]2020-11-261-14/+43
|\ \ | | | | | | | | | | | | | | | | | | | | | 6635: Complete struct in irrefutable let r=Veykril a=Veykril Fixes #6210 Co-authored-by: Lukas Wirth <[email protected]>
| * | Complete struct in irrefutable letLukas Wirth2020-11-261-14/+43
| |/
* | Merge #6614 #6632bors[bot]2020-11-261-26/+28
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6614: Improve autoimports on completion speed r=matklad a=SomeoneToIgnore Presumably closes https://github.com/rust-analyzer/rust-analyzer/issues/6594 May help https://github.com/rust-analyzer/rust-analyzer/issues/6612 * Ignore modules eaferly * Do less completion string rendering 6632: Pin cargo_metadata r=matklad a=kjeremy See: https://github.com/oli-obk/cargo_metadata/pull/142#issuecomment-733653275 Co-authored-by: Kirill Bulatov <[email protected]> Co-authored-by: kjeremy <[email protected]>