Aleksey Kladov
defe805fb7
internal: fix and force-disable block validation ;-(
...
Originally we tried to maintain the invariant that `{}` always match.
That is, that in the parse tree the pair of corresponding `{}` is always
first and last tokens of some nodes.
We had the code to validate that, but apparently it's been broken for
**years** since we introduced tokens/nodes split. Fixing it now makes
some tests fail.
It's unclear if we want to keep this invariant: there's a strong
motivation for breaking it in the following case:
```
use std::{ // unclosed paren
fn main() {
}
} // don't actually want to pair up this with the one from `use`
```
So let's fix the code, but disable it for the time being
2021-09-26 15:49:23 +03:00
bors[bot]
0618100855
Merge #10354
...
10354: internal: overhaul expression attribute parsing r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-09-26 08:23:29 +00:00
Aleksey Kladov
56964c9bd3
feat: allow attributes on all expressions
...
Attrs are syntactically valid on any expression, even if they are not
allowed semantically everywhere yet.
2021-09-25 22:19:27 +03:00
Aleksey Kladov
7dc331faef
fix: correct extend_to logic in parser
...
Previously we swapped to events in the buffer, but that might be wrong
if there aer `forward_parent` links pointing to the swapped-out node.
Let's do the same via parent links instead, keeping the nodes in place
2021-09-25 22:09:50 +03:00
bors[bot]
d401f2a062
Merge #10211
...
10211: assists: Promote module to folder r=jonas-schievink a=longfangsong
Close part of #10143 .
This PR adds a assist to promote module to directory, which means make a .rs file module into a directory style module with the same name.
![未命名(1)](https://user-images.githubusercontent.com/13777628/132958377-14555d6f-a64a-4b9b-9154-90a3b86fd685.gif )
Co-authored-by: longfangsong <longfangsong@icloud.com>
2021-09-25 15:32:00 +00:00
bors[bot]
2a970bac37
Merge #10350
...
10350: simplify attribute parsing r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-09-25 15:09:34 +00:00
Aleksey Kladov
6997adfee7
simplify attribute parsing
2021-09-25 18:07:51 +03:00
longfangsong
22abbe86f3
Address comments
2021-09-25 22:48:57 +08:00
bors[bot]
13da3d93f9
Merge #10347
...
10347: minor: Update `semanticTokenModifiers` in package.json r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-09-25 12:11:37 +00:00
Lukas Wirth
b24c8d5c89
Update semanticTokenModifiers
in package.json
2021-09-25 14:10:46 +02:00
bors[bot]
0cb9ee2054
Merge #10346
...
10346: minor: align code with code-style r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-09-25 11:56:23 +00:00
Aleksey Kladov
5767f31cbf
minor: align code with code-style
2021-09-25 14:55:42 +03:00
bors[bot]
de2ea00ace
Merge #10345
...
10345: minore: improve consistency r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-09-25 11:37:30 +00:00
Aleksey Kladov
929fca5adc
minore: improve consistency
2021-09-25 14:36:46 +03:00
Aleksey Kladov
f27cda6865
minor: more condensed tests
2021-09-25 14:24:57 +03:00
bors[bot]
33c5204809
Merge #10344
...
10344: minor: link my own pratt parsing article :-) r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-09-25 11:20:54 +00:00
Aleksey Kladov
f692be853b
minor: link my own pratt parsing article :-)
2021-09-25 14:20:34 +03:00
bors[bot]
d653995be4
Merge #10343
...
10343: internal: parser cleanups r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-09-25 11:11:33 +00:00
Aleksey Kladov
d72f7cf3af
internal: add => () rule; emphasize n_items
rule
2021-09-25 14:10:25 +03:00
Aleksey Kladov
1567bbb73e
minor: more focusted tests
2021-09-25 14:04:27 +03:00
Aleksey Kladov
a6f17f7436
minor: more readable code
2021-09-25 13:27:53 +03:00
bors[bot]
9abea7492e
Merge #10339
...
10339: fix: Fix item-level macro errors (eg. `compile_error!`) r=jonas-schievink a=jonas-schievink
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/8459
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-09-24 19:18:15 +00:00
Jonas Schievink
7860d6ade6
Fix item-level lazy macro errors
2021-09-24 21:17:25 +02:00
bors[bot]
e372bdce2e
Merge #10338
...
10338: fix: Fix diagnostics in unnamed consts r=jonas-schievink a=jonas-schievink
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-09-24 18:42:44 +00:00
Jonas Schievink
5967f3d3a9
Fix diagnostics in unnamed consts
2021-09-24 20:41:24 +02:00
bors[bot]
8b08666343
Merge #10334
...
10334: Give rustfmt spawn error context. r=jonas-schievink a=aDotInTheVoid
This mean if you misconfigure to
```json
{
"rust-analyzer.rustfmt.overrideCommand": [
"./nonono"
]
}
```
The error message is
```
[Error - 17:54:33] Request textDocument/formatting failed.
Message: Failed to spawn "./nonono"
Code: -32603
```
instead of
```
[Error - 17:56:12] Request textDocument/formatting failed.
Message: No such file or directory (os error 2)
Code: -32603
```
I'm not sure how to test this, or if it needs a test.
Co-authored-by: Nixon Enraght-Moony <nixon.emoony@gmail.com>
2021-09-24 17:07:18 +00:00
bors[bot]
5d948ca6db
Merge #10335
...
10335: internal: Avoid some `Arc` cloning r=jonas-schievink a=jonas-schievink
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-09-24 16:57:37 +00:00
Jonas Schievink
b8eb63f2b2
Avoid some Arc
cloning
2021-09-24 18:57:08 +02:00
Nixon Enraght-Moony
720a3da4ac
Give rustfmt spawn error context.
2021-09-24 17:51:47 +01:00
bors[bot]
eb17e90eba
Merge #10105
...
10105: RfC: Use `todo!()` instead of `()` for missing fields r=jonas-schievink a=jo-so
Most commonly a field of a struct can be initialized with its default value than an empty tuple.
Co-authored-by: Jörg Sommer <joerg@jo-so.de>
2021-09-24 15:12:17 +00:00
bors[bot]
377476ac45
Merge #10332
...
10332: minor: Allow overwriting RUST_BACKTRACE for the server manually r=jonas-schievink a=Veykril
Trying to figure out why we aren't getting backtraces for windows builds from CI, this let's one set the backtraces to `FULL`
Might be cc https://github.com/rust-lang/rust/issues/87481
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-09-24 14:59:02 +00:00
bors[bot]
2117ba0235
Merge #10331
...
10331: minor: Include macro path in eager macro resolve error r=jonas-schievink a=jonas-schievink
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-09-24 14:51:19 +00:00
bors[bot]
ef3a2603d6
Merge #10329
...
10329: Fix link to "Auto Import" r=lnicola a=carlos-menezes
https://github.com/rust-analyzer/rust-analyzer.github.io/pull/147#issuecomment-926600543
Co-authored-by: Carlos Menezes <carlos-menezes212@hotmail.com>
2021-09-24 14:02:16 +00:00
Carlos Menezes
8ad484b341
Add missing files
2021-09-24 14:53:11 +01:00
Lukas Wirth
983e19c868
Allow setting RUST_BACKTRACE for the server manually
2021-09-24 15:38:00 +02:00
Jonas Schievink
af3d6a4b61
Include macro path in eager macro resolve error
2021-09-24 15:34:57 +02:00
Carlos Menezes
0c49e3883c
Fix link to "Auto Import"
2021-09-24 13:59:44 +01:00
bors[bot]
e6b64fdcdd
Merge #10328
...
10328: fix: Fix incorrect mod.rs handling in unlinked_file fixes r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-09-24 12:21:12 +00:00
Lukas Wirth
bd8c95a580
Fix incorrect mod.rs handling in unlinked_file fixes
2021-09-24 14:20:43 +02:00
bors[bot]
d598d0b4f1
Merge #10322
...
10322: internal: Split the hover module up r=Veykril a=Veykril
cc https://github.com/rust-analyzer/rust-analyzer/issues/10107
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-09-23 18:36:44 +00:00
Lukas Wirth
e60f3d265f
Split the hover module up
2021-09-23 20:36:15 +02:00
bors[bot]
839885930c
Merge #10321
...
10321: fix: Change the global setting when toggling inlay hints r=lnicola a=lnicola
Closes #10318
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2021-09-23 18:06:08 +00:00
bors[bot]
61bb0cfbbe
Merge #10320
...
10320: feat: Hover/GotoDef works in macro invocations and on doc attribute strings r=Veykril a=Veykril
![image](https://user-images.githubusercontent.com/3757771/134554781-b903d33d-674f-4ed4-8acb-71ff5913f1cb.png )
cc https://github.com/rust-analyzer/rust-analyzer/issues/10271
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-09-23 17:56:55 +00:00
Laurențiu Nicola
db5e01189a
Change the global setting when toggling inlay hints
2021-09-23 20:45:45 +03:00
Lukas Wirth
22c6f0a8a5
Support goto_def for intra-doc-links in macro invocations
2021-09-23 19:17:29 +02:00
Lukas Wirth
d99adc5738
Make hover work for intra doc links in macro invocations
2021-09-23 17:32:39 +02:00
bors[bot]
eb727c7222
Merge #10319
...
10319: internal: Cleanup hover a bit r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-09-23 14:28:27 +00:00
Lukas Wirth
42eb4efb5b
Cleanup
2021-09-23 16:28:03 +02:00
bors[bot]
88a214f2dc
Merge #10315
...
10315: Fix title of User Manual page r=lnicola a=terrynsun
Asciidoc uses the first line of a doc as the title, so you can't put
comments before the heading.
---
I had an old copy of the Manual page open and I noticed that the "User Manual" heading (and page title) had disappeared in the live version:
![image](https://user-images.githubusercontent.com/2858750/134455658-3885b754-9eae-4dca-a6d4-4b1453910850.png )
With this change (and how it was a few days ago):
![image](https://user-images.githubusercontent.com/2858750/134455865-5acc7538-ccf8-4346-941f-3a5561b3181e.png )
Co-authored-by: Terry Sun <terrynsun@gmail.com>
2021-09-23 04:55:34 +00:00
Terry Sun
04e1d72354
Fix title of User Manual page
...
Asciidoc uses the first line of a doc as the title, so you can't put
comments before the heading.
2021-09-22 21:39:21 -07:00