aboutsummaryrefslogtreecommitdiff
path: root/crates/completion
Commit message (Collapse)AuthorAgeFilesLines
* Align config's API with usageAleksey Kladov2021-01-0611-68/+49
| | | | The config now is mostly immutable, optimize for that.
* YAGNI active_resolve_capabilitiesAleksey Kladov2021-01-063-29/+3
| | | | | | | | | This leaks a lot of LSP details into ide layer, which we want to avoid: https://github.com/rust-analyzer/rust-analyzer/tree/c9cec381bcfd97e5f3536e31a9c546ab5c0665e6/docs/dev#lsp-independence Additionally, all what this infra does is providing a toggle for auto-import completion, but we already have one!
* Change the should_panic completion and his related attribute testFlowerBOII2021-01-061-7/+3
|
* Remove the args for the must_use attibute and change the related testsFlowerBOII2021-01-061-3/+3
|
* Update deprecated testFlowerBOII2021-01-061-3/+3
|
* Remove a part of the deprecated autocompletionFlowerBOII2021-01-061-1/+1
|
* Merge #7168bors[bot]2021-01-051-1/+1
|\ | | | | | | | | | | | | | | | | 7168: Rename expr -> tail_expr r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * Rename expr -> tail_exprAleksey Kladov2021-01-051-1/+1
| |
* | Small helpersKirill Bulatov2021-01-041-1/+1
| |
* | Code review fixesKirill Bulatov2021-01-041-9/+2
| |
* | Ignore associated items during unqialified path fuzzy completionsKirill Bulatov2021-01-041-1/+9
|/
* Upgrade expect-test to 1.1Jesse Bakker2021-01-031-1/+1
|
* Handle case where detail doesn't exist without giving up on completionNick Spain2021-01-021-1/+1
| | | Co-authored-by: Aleksey Kladov <[email protected]>
* Remove source_old from adding const and function implsNick Spain2021-01-021-23/+26
|
* Make the result of Const, FunctionRender and TypeAliasRender constructors ↵Nick Spain2021-01-025-20/+17
| | | | | | optional They use source() which now returns an Option so they need to too.
* HasSource::source_old -> HasSource::source for places where proc-macros were ↵Nick Spain2021-01-021-12/+4
| | | | | | | | | | | | special cased In #6901 some special case handling for proc-macros was introduced to prevent panicing as they have no AST. Now the new HasSource::source method is used that returns an option. Generally this was a pretty trivial change, the only thing of much interest is that `hir::MacroDef` now implements `TryToNav` not `ToNav` as this allows us to handle `HasSource::source` now returning an option.
* Mark HasSource::source_old as deprecated but allow at all call sitesNick Spain2021-01-025-0/+6
|
* HasSource::source -> HasSource::source_oldNick Spain2021-01-025-6/+6
| | | | To start migrating HasSource::source to return an Option.
* 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
|/
* Update crateskjeremy2020-12-301-1/+1
|
* Avoid a couple of allocationsLaurențiu Nicola2020-12-292-3/+3
|
* 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-225-94/+76
| |
* | Insert snippet positions after fields names in record patternsLukas Wirth2020-12-212-6/+6
| |
* | Create non-exhaustive patterns for non_exhaustive attributed itemsLukas Wirth2020-12-201-3/+5
| |
* | Reduce code duplication in pattern completionLukas Wirth2020-12-201-34/+29
| |
* | Emit snippets for struct pattern completion if enabledLukas Wirth2020-12-202-15/+36
| |
* | Add completions for patternsLukas Wirth2020-12-205-26/+311
|/
* Align code_model name with ungrammarAleksey Kladov2020-12-204-28/+19
|
* Fewer allocationsKirill Bulatov2020-12-191-5/+7
|
* Tidy upKirill Bulatov2020-12-192-32/+26
|
* Keep the original completion order in testsKirill Bulatov2020-12-1912-194/+193
|
* Add a slightly better fuzzy search heuristicsKirill Bulatov2020-12-191-10/+62
|
* Merge #6901bors[bot]2020-12-181-0/+1
|\ | | | | | | | | | | | | | | | | | | 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 <[email protected]>
| * Temp fixes panic caused by no ast for proc-macroEdwin Cheng2020-12-181-0/+1
| |
* | Show first fuzzy completions fully containing the inputKirill Bulatov2020-12-171-5/+14
|/