Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Only complete derive proc macros in `#[derive]` | Jonas Schievink | 2021-05-29 | 1 | -2/+1 |
| | |||||
* | Add some lint completion tests | Lukas Wirth | 2021-05-29 | 3 | -30/+67 |
| | |||||
* | Merge #9027 | bors[bot] | 2021-05-29 | 3 | -359/+851 |
|\ | | | | | | | | | | | | | | | | | | | | | 9027: feat: Attribute completion is context aware r=Veykril a=Veykril This splits off the `lint` and `derive` completions into their own submodules of `attribute`. The idea is to create a lazy global hashmap that maps `SyntaxKind` to attribute names(`&[&str]`) in which we index with the syntax kind of the "thing" we are attributing giving us the attributes back that are valid for this kind. Then we use this name to do a binary search on the attribute list to fetch and build the corresponding completion item. Co-authored-by: Lukas Wirth <[email protected]> | ||||
| * | simplify | Lukas Wirth | 2021-05-29 | 3 | -85/+92 |
| | | |||||
| * | Add another attribute completion test | Lukas Wirth | 2021-05-28 | 1 | -5/+20 |
| | | |||||
| * | Add attribute completion tests | Lukas Wirth | 2021-05-28 | 1 | -8/+399 |
| | | |||||
| * | tt muncher time | Lukas Wirth | 2021-05-27 | 3 | -27/+57 |
| | | |||||
| * | Split attribute completion module into attribute, derive and lint modules | Lukas Wirth | 2021-05-27 | 3 | -366/+302 |
| | | |||||
| * | Attribute completion is context aware | Lukas Wirth | 2021-05-27 | 1 | -28/+141 |
| | | |||||
* | | More completion pattern tests | Lukas Wirth | 2021-05-28 | 2 | -86/+109 |
| | | |||||
* | | Implement prev sibling determination for `CompletionContext` | Lukas Wirth | 2021-05-28 | 3 | -54/+114 |
| | | |||||
* | | simplify | Lukas Wirth | 2021-05-28 | 4 | -112/+117 |
| | | |||||
* | | Don't label derive macros with their banged_name | Lukas Wirth | 2021-05-28 | 1 | -1/+5 |
| | | |||||
* | | Complete keywords in (Assoc)ItemList with leading attribute | Lukas Wirth | 2021-05-28 | 2 | -4/+33 |
| | | |||||
* | | Only complete modules in empty use-statements | Lukas Wirth | 2021-05-28 | 3 | -14/+27 |
|/ | |||||
* | Complete modules in item lists | Lukas Wirth | 2021-05-27 | 3 | -4/+45 |
| | |||||
* | Complete modules in assoc item lists | Lukas Wirth | 2021-05-27 | 3 | -5/+13 |
| | |||||
* | Cleanup `ImmediateLocation` determination | Lukas Wirth | 2021-05-27 | 5 | -115/+132 |
| | |||||
* | Don't complete non-macro item paths in impls and modules | Lukas Wirth | 2021-05-27 | 6 | -29/+76 |
| | |||||
* | simplify | Lukas Wirth | 2021-05-27 | 7 | -36/+37 |
| | |||||
* | simplify | Lukas Wirth | 2021-05-27 | 2 | -18/+10 |
| | |||||
* | Collapse more CompletionContext booleans into enums | Lukas Wirth | 2021-05-27 | 6 | -98/+133 |
| | |||||
* | Set `record_pat_syntax` more precisely in CompletionContext | Lukas Wirth | 2021-05-26 | 3 | -41/+58 |
| | |||||
* | Merge #9015 | bors[bot] | 2021-05-26 | 4 | -80/+93 |
|\ | | | | | | | | | | | | | | | | | 9015: Merge pattern completion related bools into an enum r=Veykril a=Veykril The two bools can never both be set so this is basically just a tri-state enum. bors r+ Co-authored-by: Lukas Wirth <[email protected]> | ||||
| * | Merge pattern completion related bools into an enum | Lukas Wirth | 2021-05-26 | 4 | -80/+93 |
| | | |||||
* | | Merge #9012 | bors[bot] | 2021-05-26 | 1 | -21/+29 |
|\ \ | |/ |/| | | | | | | | | | | | 9012: feat: add tab stops for keyword completions r=matklad a=eduardocanellas Add tab stops for all the keywords that I judged fit. I also introduced some line breaks and spaces, following the pattern I saw in the `postfix` module. Co-authored-by: Eduardo Canellas <[email protected]> | ||||
| * | feat: add tab stops for keyword completions | Eduardo Canellas | 2021-05-26 | 1 | -21/+29 |
| | | |||||
* | | simplify | Lukas Wirth | 2021-05-26 | 3 | -67/+39 |
|/ | |||||
* | fix: remove undesired completions from trait/impl blocks | Eduardo Canellas | 2021-05-26 | 1 | -0/+2 |
| | |||||
* | fix: don't show pd/ppd completions where it shouldn't be | Eduardo Canellas | 2021-05-25 | 2 | -11/+5 |
| | |||||
* | internal: rename hypothetical -> speculative | Aleksey Kladov | 2021-05-24 | 2 | -12/+12 |
| | | | | | Lets steal this good naming from Roslyn before I forget about it yet again. | ||||
* | Get rid of field_type again | Florian Diebold | 2021-05-23 | 1 | -4/+3 |
| | |||||
* | Infer correct expected type in closure | Florian Diebold | 2021-05-23 | 1 | -1/+8 |
| | | | | Sadly currently only works if the closure body isn't completely missing. | ||||
* | Infer correct expected type for generic struct fields | Florian Diebold | 2021-05-23 | 2 | -16/+23 |
| | |||||
* | Record method call substs and use them in call info | Florian Diebold | 2021-05-23 | 1 | -0/+60 |
| | |||||
* | Paper over #8931 a bit more | Florian Diebold | 2021-05-23 | 1 | -0/+1 |
| | | | | | | | | | The problem was the skipping of binders in `resolve_method_call_as_callable`; this still doesn't use the _correct_ substitution, but at least it doesn't return a type with free variables in it. Fixes #8931. | ||||
* | Add test for #8931 and better checking | Florian Diebold | 2021-05-23 | 1 | -0/+29 |
| | |||||
* | Fix compilation of hir and ide crates | Florian Diebold | 2021-05-21 | 1 | -1/+1 |
| | |||||
* | Replace ImportGranularity::Guess with guessing boolean flag | Lukas Tobias Wirth | 2021-05-19 | 1 | -0/+1 |
| | |||||
* | MergeBehavior -> ImportGranularity | Lukas Tobias Wirth | 2021-05-18 | 1 | -2/+5 |
| | |||||
* | simplify | Lukas Wirth | 2021-05-15 | 1 | -12/+10 |
| | |||||
* | Merge #8794 | bors[bot] | 2021-05-10 | 1 | -1/+1 |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8794: Give MergeBehaviour variants better names r=Veykril a=Veykril I never really liked the variant names I gave this enum from the beginning and then I found out about rustfmt's `imports_granularity` config: > imports_granularity > > How imports should be grouped into use statements. Imports will be merged or split to the configured level of granularity. > > Default value: Preserve > Possible values: Preserve, Crate, Module, Item > Stable: No I personally prefer using `crate` over `full` and `module` over last, they seem more descriptive. Keeping these similar between tooling also seems like a good plus point to me. We might even wanna take over the entire enum at some point if we have a `format/cleanup imports` assists in the future which would probably want to also have the `preserve` and `item` options. Co-authored-by: Lukas Wirth <[email protected]> | ||||
| * | Give MergeBehaviour variants better names | Lukas Wirth | 2021-05-10 | 1 | -1/+1 |
| | | |||||
* | | Corrected 2 typos on line 83 | mixio | 2021-05-10 | 1 | -1/+1 |
|/ | |||||
* | Add `=` to pattern recovery | Lukas Wirth | 2021-05-08 | 1 | -1/+22 |
| | |||||
* | Small macro fix | Kirill Bulatov | 2021-05-06 | 1 | -1/+1 |
| | |||||
* | internal: use API stabilized in 1.52 | Aleksey Kladov | 2021-05-06 | 1 | -1/+1 |
| | |||||
* | Simplify | Edwin Cheng | 2021-05-06 | 1 | -6/+2 |
| | |||||
* | Fix: Do not overwrite comments and attrs in trait impl completion | Jesse Bakker | 2021-05-06 | 1 | -8/+65 |
| | |||||
* | simplify | Lukas Tobias Wirth | 2021-05-05 | 4 | -38/+35 |
| |