aboutsummaryrefslogtreecommitdiff
path: root/crates/completion/src
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
|/
* 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
|/
* Move to upstream `macro_rules!` modelJonas Schievink2020-12-151-3/+3
|
* Remove some redundant allocationsJeremy Kolb2020-12-122-2/+2
|
* 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-104-16/+12
| | | | It's better to accept things as arguments rather than store them.
* Normalize spelling to American EnglishAleksey Kladov2020-12-104-12/+12
|
* Tweak the search query params for better lookup speedKirill Bulatov2020-12-081-31/+29
|
* Better config nameKirill Bulatov2020-12-083-10/+9
|
* Disable the completion for no corresponding client resolve capabilitiesKirill Bulatov2020-12-079-145/+79
|
* Document the featureKirill Bulatov2020-12-071-0/+43
|
* SimplifyKirill Bulatov2020-12-071-2/+4
|
* Less panic, more testsKirill Bulatov2020-12-072-9/+60
|
* Fix the profiling labelKirill Bulatov2020-12-071-1/+1
|
* Use stateless completion resolveKirill Bulatov2020-12-074-15/+40
|