aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_ide
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | feat: improve dot completions in a struct literal expressionBenjamin Coenen2020-04-154-31/+196
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
| * | | | Merge branch 'master' of github.com:rust-analyzer/rust-analyzerBenjamin Coenen2020-04-145-11/+37
| |\ \ \ \
| * | | | | Improve autocompletion by looking on the type and name, change ↵Benjamin Coenen2020-04-123-26/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | implementation, include sort in Completions struct Signed-off-by: Benjamin Coenen <[email protected]>
| * | | | | Improve autocompletion by looking on the type and nameBenjamin Coenen2020-04-1110-41/+103
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
| * | | | | | Improve autocompletion by looking on the type and nameBenjamin Coenen2020-04-116-30/+194
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
* | | | | | | Merge #4065bors[bot]2020-04-232-7/+217
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4065: Complete unqualified enum names in patterns and expressions r=matklad a=nathanwhit This PR implements the completion described in #4014. The result looks like so for patterns: <img width="542" alt="Screen Shot 2020-04-20 at 3 53 55 PM" src="https://user-images.githubusercontent.com/17734409/79794010-8f529400-831f-11ea-9673-f838aa9bc962.png"> and for `expr`s: <img width="620" alt="Screen Shot 2020-04-21 at 3 51 24 PM" src="https://user-images.githubusercontent.com/17734409/79908784-d73ded80-83e9-11ea-991d-921f0cb27e6f.png"> I'm not confident that the completion text itself is very robust, as it will unconditionally add completions for enum variants with the form `Enum::Variant`. This means (I believe) it would still suggest `Enum::Variant` even if the local name is changed i.e. `use Enum as Foo` or the variants are brought into scope such as through `use Enum::*`. Co-authored-by: nathanwhit <[email protected]>
| * | | | | | | Update tests to reflect new completionsnathanwhit2020-04-221-1/+1
| | | | | | | |
| * | | | | | | Add tests for enum completionnathanwhit2020-04-221-0/+178
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds tests for completion of enum variants in match arms, if-let statements, and basic expressions.
| * | | | | | | Complete unqualified enum variants when possiblenathanwhit2020-04-221-5/+26
| | | | | | | |
| * | | | | | | Add utility fn for expected type of a nodenathanwhit2020-04-221-1/+12
| | |_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | Adds `expected_type_of` to `CompletionContext` to return the expected type of a node, if it is known.
* | | | | | | Remove SyntaxPtr::range from more placesAleksey Kladov2020-04-231-1/+1
| | | | | | |
* | | | | | | feat: run ignored testsHannes De Valkeneer2020-04-221-2/+33
| |_|_|_|_|/ |/| | | | |
* | | | | | Some clippy fixesJeremy Kolb2020-04-191-1/+1
| | | | | |
* | | | | | Fix goto definition for record patternsAleksey Kladov2020-04-181-6/+22
| | | | | |
* | | | | | Add semantic tag for unresolved referencesAleksey Kladov2020-04-184-20/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a quick way to implement unresolved reference diagnostics. For example, adding to VS Code config "editor.tokenColorCustomizationsExperimental": { "unresolvedReference": "#FF0000" }, will highlight all unresolved refs in red.
* | | | | | Merge #4029bors[bot]2020-04-181-0/+6
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4029: Fix various proc-macro bugs r=matklad a=edwin0cheng This PRs does the following things: 1. Fixed #4001 by splitting `LIFETIME` lexer token to two mbe tokens. It is because rustc token stream expects `LIFETIME` as a combination of punct and ident, but RA `tt:TokenTree` treats it as a single `Ident` previously. 2. Fixed #4003, by skipping `proc-macro` for completion. It is because currently we don't have `AstNode` for `proc-macro`. We would need to redesign how to implement `HasSource` for `proc-macro`. 3. Fixed a bug how empty `TokenStream` merging in `proc-macro-srv` such that no L_DOLLAR and R_DOLLAR will be emitted accidentally. Co-authored-by: Edwin Cheng <[email protected]>
| * | | | | Ignore proc-macro in completionEdwin Cheng2020-04-181-0/+6
| | | | | |
* | | | | | Merge #4026bors[bot]2020-04-181-1/+10
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4026: Omit more parameter hints in the presence of underscores r=matklad a=lnicola Fixes #4017. Co-authored-by: Laurențiu Nicola <[email protected]>
| * | | | | | Omit more parameter hints in the presence of underscoresLaurențiu Nicola2020-04-181-1/+10
| |/ / / / /
* / / / / / Fix incorrect order of syntax highlight rangesLeander Tentrup2020-04-172-1/+14
|/ / / / /
* | | | | Don\t suggest import itself as a completion for importAleksey Kladov2020-04-172-1/+40
| | | | |
* | | | | Merge #4010bors[bot]2020-04-171-6/+66
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4010: Fix handling of ranges in diagnostics r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | | Correctly highlight ranges of diagnostics from macrosAleksey Kladov2020-04-171-6/+66
| | |_|_|/ | |/| | | | | | | | | | | | | closes #2799
* / | | | Better snippet when completing trait methodAleksey Kladov2020-04-171-9/+10
|/ / / /
* | | | Don't expose SyntaxNodePtr impl detailsAleksey Kladov2020-04-161-1/+1
| | | |
* | | | insta 0.16kjeremy2020-04-141-1/+1
| |_|/ |/| |
* | | Merge #3955bors[bot]2020-04-114-5/+22
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3955: Align grammar for record patterns and literals r=matklad a=matklad The grammar now looks like this [name_ref :] pat bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Align grammar for record patterns and literalsAleksey Kladov2020-04-114-5/+22
| | |/ | |/| | | | | | | | | | | | | The grammar now looks like this [name_ref :] pat
* / | Remove #[should_panic] from call_info testsJeremy Kolb2020-04-111-6/+15
|/ /
* | Make records grammar more orthogonalAleksey Kladov2020-04-112-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | We used name [: expr] grammar before, now it is [name :] expr which makes things simpler
* | Merge pull request #3910 from lnicola/fn-named-param-hintAleksey Kladov2020-04-111-5/+12
|\ \ | | | | | | Hide parameter hints for single-argument functions with the same name
| * | Hide parameter hints for single-argument functions with the same nameLaurențiu Nicola2020-04-091-5/+12
| | |
* | | Rename some tokensAleksey Kladov2020-04-102-6/+6
| | |
* | | Semicolon tokenAleksey Kladov2020-04-101-1/+1
| | |
* | | Simpler acessors for keywordsAleksey Kladov2020-04-092-3/+3
| | |
* | | Drop needless traitAleksey Kladov2020-04-091-14/+16
|/ /
* | Merge #3901bors[bot]2020-04-091-6/+46
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3901: Add more heuristics for hiding obvious param hints r=matklad a=IceSentry This will now hide `value`, `pat`, `rhs` and `other`. These words were selected from the std because they are used in commonly used functions with only a single param and are obvious by their use. It will also hide the hint if the passed param **starts** or end with the param_name. Maybe we could also split on '_' and check if one of the string is the param_name. I think it would be good to also hide `bytes` if the type is `[u8; n]` but I'm not sure how to get the param type signature. Closes #3900 Co-authored-by: IceSentry <[email protected]>
| * | use .expr() to remove refIceSentry2020-04-091-5/+10
| | |
| * | clean up param hint checkingIceSentry2020-04-091-18/+18
| | |
| * | better `&mut ` and `&` matchingIceSentry2020-04-091-6/+6
| | |
| * | ignore `&mut ` and `&` when checking paramsIceSentry2020-04-091-3/+13
| | |
| * | remove TODOIceSentry2020-04-081-1/+0
| | |
| * | Add more heuristics for hiding obvious param hintsIceSentry2020-04-081-4/+30
| |/ | | | | | | | | | | | | This will now hide "value", "pat", "rhs" and "other" These words were selected from the std because they are used in common functions with only a single param and are obvious by their use. I think it would be good to also hide "bytes" if the type is `[u8; n]` but I'm not sure how to get the param type signature It will also hide the hint if the passed param starts or end with the param_name
* / Be consistent about token accesorsAleksey Kladov2020-04-093-3/+6
|/
* Merge #3826bors[bot]2020-04-085-51/+148
|\ | | | | | | | | | | | | | | | | | | | | | | | | 3826: Flatten nested highlight ranges during DFS traversal r=matklad a=ltentrup Implements the flattening of nested highlights from #3447. There is a caveat: I needed to add `Clone` to `HighlightedRange` to split highlight ranges ~and the nesting does not appear in the syntax highlighting test (it does appear in the accidental-quadratic test but there it is not checked against a ground-truth)~. I have added a test case for the example mentioned in #3447. Co-authored-by: Leander Tentrup <[email protected]>
| * Simplify HTML highlighter and add test case for highlight_injection logicLeander Tentrup2020-04-065-59/+97
| |
| * Flatten nested highlight ranges during DFS traversalLeander Tentrup2020-04-032-6/+65
| |
* | Move computation of missing fields into hirAleksey Kladov2020-04-071-50/+9
| |
* | Add functional update testAleksey Kladov2020-04-071-0/+33
| |
* | Fix names of test modulesAleksey Kladov2020-04-071-2/+2
| |