Commit Graph

14236 Commits

Author SHA1 Message Date
Lukas Wirth
2cd2947bf8 Insert snippet positions after fields names in record patterns 2020-12-21 15:10:27 +01:00
bors[bot]
ab343e47c6
Merge #6977
6977: Revert "Stop setting CompletionItem::deprecated" r=lnicola a=lnicola

We should keep setting it, according to https://github.com/rust-analyzer/rust-analyzer/pull/6974#issuecomment-748983789.

Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2020-12-21 14:00:34 +00:00
Laurențiu Nicola
328e0e2de7 Revert "Stop setting CompletionItem::deprecated"
This reverts commit 299ce60995.
2020-12-21 15:58:26 +02:00
bors[bot]
7843ae6ddb
Merge #6974
6974: Stop setting CompletionItem::deprecated r=matklad a=lnicola

Closes #2042

We're now using the `CompletionItem::tags` field to mark `CompletionItem`s as deprecated, and `CompletionItem::deprecated` is gone from LSP.

Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2020-12-21 12:10:01 +00:00
Laurențiu Nicola
299ce60995 Stop setting CompletionItem::deprecated 2020-12-21 13:18:25 +02:00
bors[bot]
9bb9fbab3a
Merge #6965
6965: Properly attach attributes to Param instead of parent ParamList r=matklad a=Veykril

Fixes #2783, fixes #2781

The problem with `let _a = [0,#[cfg(feature = "L")]0];` has already been fixed some time ago it seems:
<details>
  <summary>Syntax Tree for the const item</summary>

```
  LET_STMT@200..236
    LET_KW@200..203 "let"
    WHITESPACE@203..204 " "
    IDENT_PAT@204..206
      NAME@204..206
        IDENT@204..206 "_a"
    WHITESPACE@206..207 " "
    EQ@207..208 "="
    WHITESPACE@208..209 " "
    ARRAY_EXPR@209..235
      L_BRACK@209..210 "["
      LITERAL@210..211
        INT_NUMBER@210..211 "0"
      COMMA@211..212 ","
      LITERAL@212..234
        ATTR@212..233
          POUND@212..213 "#"
          L_BRACK@213..214 "["
          PATH@214..217
            PATH_SEGMENT@214..217
              NAME_REF@214..217
                IDENT@214..217 "cfg"
          TOKEN_TREE@217..232
            L_PAREN@217..218 "("
            IDENT@218..225 "feature"
            WHITESPACE@225..226 " "
            EQ@226..227 "="
            WHITESPACE@227..228 " "
            STRING@228..231 "\"L\""
            R_PAREN@231..232 ")"
          R_BRACK@232..233 "]"
        INT_NUMBER@233..234 "0"
      R_BRACK@234..235 "]"
    SEMICOLON@235..236 ";"
```
</details>

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2020-12-21 08:54:31 +00:00
bors[bot]
fa75e11eb6
Merge #6967
6967: Correctly parse legacy trait objects with leading ForType r=matklad a=Veykril

Fixes #1422

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2020-12-21 08:46:42 +00:00
Daiki Ihara
23ed33a3a6 Use workspace applyEdit instead of snippetWorkspaceEdit 2020-12-21 15:55:40 +09:00
Daiki Ihara
66fd262962 Fix assist test logic 2020-12-21 15:55:40 +09:00
Daiki Ihara
2b4a7848a8 Update test diagnostics in ide 2020-12-21 15:55:40 +09:00
Daiki Ihara
7a2eebde22 Add initial_contents field for CreateFile 2020-12-21 15:55:40 +09:00
Daiki Ihara
414576fb30 Add extract_module_to_file assist 2020-12-21 15:55:40 +09:00
Daiki Ihara
c8f5792a36 Add handling file_system_edit in test assists 2020-12-21 15:52:02 +09:00
bors[bot]
c3d21ea05a
Merge #6968
6968: Update syn and quote r=kjeremy a=kjeremy



Co-authored-by: Jeremy Kolb <kjeremy@gmail.com>
2020-12-20 22:31:18 +00:00
Jeremy Kolb
f4df2d164d Update syn and quote 2020-12-20 17:26:44 -05:00
Lukas Wirth
3ea4d43850 Properly parse legacy trait objects with leading ForType 2020-12-20 21:53:55 +01:00
Lukas Wirth
64caa027b8 Parse attributes in tuple expressions 2020-12-20 21:01:36 +01:00
Lukas Wirth
4be9ed675e Properly attach attributes to Param instead of parent ParamList 2020-12-20 20:30:18 +01:00
Lukas Wirth
33ecad4407 Create non-exhaustive patterns for non_exhaustive attributed items 2020-12-20 20:13:06 +01:00
Lukas Wirth
a5874a38cb Reduce code duplication in pattern completion 2020-12-20 19:20:55 +01:00
Lukas Wirth
2f6a24950a Emit snippets for struct pattern completion if enabled 2020-12-20 19:16:28 +01:00
bors[bot]
99f23e2f87
Merge #6963
6963: Split lines between sentences r=lnicola a=lnicola

bors r+

Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2020-12-20 17:32:19 +00:00
Laurențiu Nicola
6fbe22bfbb Split lines between sentences 2020-12-20 19:31:08 +02:00
Lukas Wirth
b184bfad7a Add completions for patterns 2020-12-20 18:19:23 +01:00
bors[bot]
6cfbeb3d58
Merge #6961
6961: Document the version requirements for building from source r=lnicola a=lnicola

Fixes #6667

bors r+

Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2020-12-20 15:11:54 +00:00
Laurențiu Nicola
0ecb224d75 Document the version requirements for building from source 2020-12-20 17:10:54 +02:00
bors[bot]
8eea4c9d3b
Merge #6959
6959: Use pattern_single instead of pattern in mbe pat r=jonas-schievink a=edwin0cheng

Fix #6882

Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2020-12-20 14:08:53 +00:00
bors[bot]
eefbae7ed4
Merge #6921
6921: Higher-ranked trait bounds for where clauses r=flodiebold a=Veykril

There is a slight problem with this which is also noted in a FIXME now but `LifetimeParameters` of these ForLifetime where clauses allocate the lifetimes in the corresponding arena as if they were lifetimes of the item itself and not just the clause they belong to. I wasn't entirely sure what I could do about this but given nothing really uses lifetimes like that currently I figured it might be fine? Open to suggestions for that problem.

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2020-12-20 11:47:01 +00:00
Lukas Wirth
15a52f69d9 Show enum variant completions for ref scrutinee 2020-12-20 12:32:53 +01:00
Lukas Wirth
943e4faceb Show enum variant on Self qualified paths 2020-12-20 12:31:59 +01:00
Edwin Cheng
f942d10e80 Use pattern_single instead of pattern in mbe pat 2020-12-20 17:13:40 +08:00
bors[bot]
f3125555a8
Merge #6958
6958: Align code_model name with ungrammar r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-12-20 07:06:55 +00:00
Aleksey Kladov
f6ed16674c Align code_model name with ungrammar 2020-12-20 10:05:24 +03:00
bors[bot]
87886e8986
Merge #6929
6929: Handle $_ in mbe r=edwin0cheng a=lnicola

Fixes #6926

Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2020-12-20 06:33:19 +00:00
Laurențiu Nicola
75a26f64ff mbe: treat _ as ident 2020-12-20 08:06:17 +02:00
bors[bot]
02fb3cb542
Merge #6954
6954: cargo update r=kjeremy a=kjeremy



Co-authored-by: Jeremy Kolb <kjeremy@gmail.com>
2020-12-19 19:05:43 +00:00
Jeremy Kolb
00d4b156af cargo update 2020-12-19 14:04:31 -05:00
bors[bot]
feff4f3a04
Merge #6953
6953: Add test_rename_bind_pat r=bjorn3 a=bjorn3

Fixes #2976

Co-authored-by: bjorn3 <bjorn3@users.noreply.github.com>
2020-12-19 18:56:50 +00:00
bjorn3
9fe85e1fdf Add test_rename_bind_pat 2020-12-19 19:55:44 +01:00
bors[bot]
052e7227b6
Merge #6946
6946: Better fuzzy heuristics r=matklad a=SomeoneToIgnore

Continuation of the https://github.com/rust-analyzer/rust-analyzer/pull/6922, mainly created for a test.

Turns out our current completions tests were sorting the completions by label, I had to remove that to test the order properly and update this order in a bunch of tests (ergo the changes)

Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
2020-12-19 18:43:20 +00:00
Kirill Bulatov
b45ec84739 Fewer allocations 2020-12-19 20:42:16 +02:00
bors[bot]
8b73135b11
Merge #6951
6951: Make sure that HighlightModifier::ALL is synchronized with enum r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-12-19 15:48:09 +00:00
Aleksey Kladov
9f6d76da77 Make sure that HighlightModifier::ALL is synchronized with enum 2020-12-19 18:47:36 +03:00
bors[bot]
df3652b663
Merge #6948
6948: Add API for mapping `Attr` back to its syntax node r=jonas-schievink a=jonas-schievink

This will be useful for emitting diagnostics pertaining to a specific attribute

Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2020-12-19 14:25:33 +00:00
bors[bot]
e9440f598d
Merge #6949
6949: Clarify the meaning of no-op highlight tag r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-12-19 14:19:13 +00:00
Aleksey Kladov
113688cef0 Clarify the meaning of no-op highlight tag 2020-12-19 17:16:05 +03:00
Jonas Schievink
218e88ab55 Add API for mapping Attr back to its syntax node 2020-12-19 15:15:02 +01:00
bors[bot]
067d22b61b
Merge #6947
6947: Use more Rustic highlighting specifiers r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-12-19 14:12:07 +00:00
Aleksey Kladov
a13947abe6 Use more Rustic highlighting specifiers
*Method* works for OO languages, but in rust we can also have
associated constants & types, so let's move this to a modifier.
2020-12-19 17:10:47 +03:00
Kirill Bulatov
0415dcd832 Tidy up 2020-12-19 14:13:27 +02:00