kjeremy
dc1396eec7
Update crates
2020-12-30 10:39:50 -05:00
AdnoC
ddbf484acf
indentation
2020-12-29 22:56:00 -07:00
AdnoC
6eeec5d75f
Smarter bracketed use diagnostic
2020-12-29 22:46:34 -07:00
bors[bot]
1487f2f10e
Merge #7027
...
7027: Fix macro_rules not accepting brackets or parentheses r=matklad,lnicola a=Veykril
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2020-12-24 08:44:52 +00:00
Lukas Wirth
3e0bb89541
Fix macro_rules not accepting brackets or parentheses
2020-12-24 09:36:47 +01:00
bors[bot]
a82c2445be
Merge #7020
...
7020: Implement const pat and expr inference r=flodiebold a=Veykril
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2020-12-23 19:50:04 +00:00
Lukas Wirth
a142beaf01
Implement const block inference
2020-12-23 12:24:24 +01:00
bors[bot]
4228e826b8
Merge #7016
...
7016: Bump deps r=flodiebold a=lnicola
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2020-12-23 11:04:07 +00:00
bors[bot]
fd1fcf2c2e
Merge #7010
...
7010: Update ungrammar for const block patterns r=matklad a=Veykril
Fixes #6848
Adds const blocks and const block patterns to the AST and parses them.
Blocked on https://github.com/rust-analyzer/ungrammar/pull/17/ , will merge that PR there once this one gets the OK so I can remove the local ungrammar dependency path and fix the Cargo.lock.
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2020-12-23 10:37:30 +00:00
Aleksey Kladov
f00f75a078
Document make
module design
2020-12-23 13:01:31 +03:00
Laurențiu Nicola
18a7b98b2e
Bump rustc_lexer
2020-12-23 11:24:52 +02:00
Lukas Wirth
2c94c4964a
Parse const effect block
2020-12-23 02:15:44 +01:00
Lukas Wirth
03a9bbacf2
Parse ConstBlockPat
2020-12-23 01:49:43 +01:00
Lukas Wirth
be7260485e
Update ungrammar for const block patterns
2020-12-23 01:26:31 +01: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
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
bors[bot]
c073e4f6ba
Merge #6934
...
6934: Implement `cfg_attr` handling r=jonas-schievink a=jonas-schievink
Part of https://github.com/rust-analyzer/rust-analyzer/issues/5548
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2020-12-18 19:27:18 +00:00
Jonas Schievink
08de1b4fa5
Implement RawAttr::filter
2020-12-18 18:58:42 +01:00
Aleksey Kladov
cd4a7bf36e
Minor, cleanup API
2020-12-18 19:50:00 +03:00
bors[bot]
067067a6c1
Merge #6896
...
6896: Node-ify lifetimes r=jonas-schievink a=Veykril
Let's see if this passes the tests 🤞
Depends on https://github.com/rust-analyzer/ungrammar/pull/15
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
Co-authored-by: Jonas Schievink <jonas.schievink@ferrous-systems.com>
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2020-12-16 17:08:03 +00:00
bors[bot]
63bbdb31e5
Merge #6897
...
6897: Basic support for macros 2.0 r=jonas-schievink a=jonas-schievink
This adds support for (built-in-only) macros 2.0, and removes some hacks used for builtin derives, which are declared via macros 2.0 in libcore.
First steps for https://github.com/rust-analyzer/rust-analyzer/issues/2248 .
Blocked on https://github.com/rust-analyzer/ungrammar/pull/16 .
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
Co-authored-by: Jonas Schievink <jonas.schievink@ferrous-systems.com>
2020-12-16 16:52:46 +00:00
Lukas Wirth
dd496223f5
Node-ify lifetimes
2020-12-16 14:16:09 +01:00
bors[bot]
ece626fe81
Merge #6894
...
6894: Parenthesize composite if condition before inverting in invert-if assist r=matklad a=Jesse-Bakker
Fixes #6867
Co-authored-by: Jesse Bakker <github@jessebakker.com>
2020-12-16 08:20:11 +00:00
Jonas Schievink
c31c3246a8
Basic support for decl macros 2.0
2020-12-15 18:43:34 +01:00
Jesse Bakker
0f42a71806
Parenthesize composite if condition before inverting in invert-if assist
2020-12-15 16:25:57 +01:00
Jonas Schievink
479babf874
Reject visibilities on macro_rules!
2020-12-15 15:37:49 +01:00
Jonas Schievink
c1cb595382
Move to upstream macro_rules!
model
2020-12-15 15:37:37 +01:00
Jeremy Kolb
26a1675764
Remove some redundant allocations
2020-12-12 12:27:09 -05:00
Aleksey Kladov
3d5be5ba5b
Fix accidently quadratic syntax rewriter
...
Switching from SyntaxNode to GreenNode is a costly operation (b/c
dereferencing a synax ptr in `with_green` is linear), so we should
avoid that.
2020-12-10 20:07:37 +03:00
Lukas Wirth
f8823e8cbc
Properly fetch inner and outer docs on hir-level
2020-12-09 09:22:41 +01:00
Lukas Wirth
3174e941db
Simplify ast::Comment api surface
2020-12-08 14:15:41 +01:00
Lukas Wirth
b064f6da9e
Keep doc attribute order
2020-12-07 20:38:28 +01:00
bors[bot]
03b886de53
Merge #6719
...
6719: Use items can also have doc comments r=matklad a=Veykril
Prior to this change modules show more docs than they have cause they inherit the docs from documented use items inside of them.
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2020-12-07 18:48:35 +00:00
Lukas Wirth
44c76d6550
Add replace_match_with_if_let assist
2020-12-05 15:41:36 +01:00
Lukas Wirth
a1c8bdecfd
Use items can also have doc comments
2020-12-04 17:09:40 +01:00
bors[bot]
dc09d97fb2
Merge #6649
...
6649: Accept more than just the standard rust literal suffixes in *Number::suffix r=matklad a=Veykril
I am not entirely sure whether to keep or remove the `SUFFIXES` but I figured we can always bring them back once they are needed.
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2020-12-02 13:13:01 +00:00
kjeremy
0a95201243
bump lexer
2020-11-30 09:29:09 -05:00
Lukas Wirth
49fbfffb48
Add ast::*Number::suffix tests unit tests
2020-11-28 16:22:28 +01:00
Kirill Bulatov
b2e6ca46ca
Profile completions better
2020-11-27 18:00:03 +02:00
Lukas Wirth
347da74eda
Avoid allocation in ast::String::value if the string needs no unescaping
2020-11-27 12:03:58 +01:00
Lukas Wirth
931493e949
Accept more than just the standard rust literal suffixes in *Number::suffix
2020-11-27 00:00:18 +01:00
David Tolnay
8a11da40a7
Parse unsafe extern block
2020-11-22 20:44:56 -08:00
bors[bot]
e17d604888
Merge #6558
...
6558: format string highlighting: handle hex + debug type specifier r=matklad a=ruabmbua
Should fix https://github.com/rust-analyzer/rust-analyzer/issues/6427
Co-authored-by: Roland Ruckerbauer <roland.rucky@gmail.com>
2020-11-16 11:07:29 +00:00
Roland Ruckerbauer
a15dda48c6
format string highlighting: handle hex + debug type specifier
2020-11-15 17:43:14 +01:00
Lukas Wirth
e55a44a831
Use shorthand record syntax when renaming struct initializer field
2020-11-14 17:51:09 +01:00
Aleksey Kladov
a27186636d
Fix attachment of inner doc comments
2020-11-12 12:09:12 +01:00
Aleksey Kladov
81ac99f60a
Simplify code
2020-11-12 11:45:18 +01:00
kjeremy
3b9d164043
Update crates
2020-11-11 11:17:48 -05:00