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
hamidreza kalbasi
7377120fee
add some tests
2021-09-26 12:48:53 +03:30
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
hamidreza kalbasi
13d36e96c2
use crates io version
2021-09-26 10:39:23 +03:30
hamidreza kalbasi
48bebeaa32
support goto definition and find references
2021-09-26 10:04:02 +03:30
hamidreza kalbasi
f2775ac2e9
reuse hover results with resultset
2021-09-26 10:04:02 +03:30
hamidreza kalbasi
70061d2b7e
move lsif types to lsp types crate
2021-09-26 10:04:02 +03:30
hamidreza kalbasi
e803bd25c4
add hover
2021-09-26 10:04:02 +03:30
hamidreza kalbasi
1103e390e0
cfg unix for tests with unix path
2021-09-26 10:04:02 +03:30
hamidreza kalbasi
5163201847
use utf16 instead of utf8
2021-09-26 10:04:02 +03:30
hamidreza kalbasi
557210a688
Begining of lsif
2021-09-26 10:04:02 +03:30
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
Lukas Wirth
1ccb21a0ca
feat: Implement inline callers assist
2021-09-25 18:39:43 +02: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