Jonas Schievink
41d73d1312
Replicate Cargo environment variables
2020-12-10 18:51:39 +01:00
bors[bot]
0baff25d99
Merge #6805
...
6805: Fix accidently quadratic syntax rewriter r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-12-10 17:08:59 +00: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
Jonas Schievink
829d9d36eb
Use decimal notation
2020-12-10 18:03:37 +01:00
Jonas Schievink
19508b474f
Double the macro token limit
2020-12-10 17:51:39 +01:00
Jonas Schievink
614e5a2272
Improve macro limit error and move to const
2020-12-10 17:50:56 +01:00
bors[bot]
44978acf51
Merge #6769
...
6769: Add native "remove this semicolon" diagnostics r=matklad a=ivan770
Closes #6739
![demo2](https://user-images.githubusercontent.com/14003886/101530533-b76c3180-399a-11eb-9d18-5c8457721655.gif )
Co-authored-by: ivan770 <leshenko.ivan770@gmail.com>
2020-12-10 16:18:49 +00:00
ivan770
bbb0bc7b04
Cast to ExprStmt, style fixes
2020-12-10 18:10:39 +02:00
Aleksey Kladov
78de7f0d4a
Remove debug print
2020-12-10 18:30:49 +03:00
bors[bot]
a6c8098113
Merge #6798
...
6798: Ignore extern items in incorrect-case check r=jonas-schievink a=jonas-schievink
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/6736
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2020-12-10 15:08:30 +00:00
Aleksey Kladov
076945e47c
Minor, more orthogonal code
...
It's better to accept things as arguments rather than store them.
2020-12-10 18:01:02 +03:00
Jonas Schievink
05d4a5a150
Use mark/hit
2020-12-10 15:56:04 +01:00
Jonas Schievink
d338513e95
Remove item tree tests
...
They were useful during initial development of the item tree, but
now just cause churn
2020-12-10 15:53:48 +01:00
Aleksey Kladov
17f236c2b0
Normalize spelling to American English
2020-12-10 17:51:56 +03:00
Jonas Schievink
d82292e1ce
Ignore extern items in incorrect-case check
2020-12-10 15:45:01 +01:00
Jonas Schievink
f57ce36988
Fix FileId computation in IncorrectCase fix
2020-12-10 14:16:34 +01:00
Jonas Schievink
948832d10b
format_args: handle key-value arguments
2020-12-10 13:46:47 +01:00
kjeremy
78dd2ba196
Send a CodeLensRefresh when we reload
2020-12-09 14:36:47 -05:00
Jonas Schievink
dedd888570
Implement HirDisplay for FnSig
...
This could be useful for diagnostics, but isn't used right now
2020-12-09 18:06:56 +01:00
bors[bot]
243ba330dd
Merge #6785
...
6785: Fix "no value set for FileTextQuery(FileId(..))" r=jonas-schievink a=jonas-schievink
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/6622
Let's hope I got it right this time, but I feel like I slowly begin to understand the main loop logic.
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2020-12-09 16:32:03 +00:00
Jonas Schievink
6857989f6f
Fix "no value set for FileTextQuery(FileId(..))"
2020-12-09 17:30:46 +01:00
Aleksey Kladov
6e24321e45
Introduce anchored_path
...
They allow to represent paths like `#[path = "C:\path.rs"] mod foo;`
in a lossless cross-platform & network-transparent way.
2020-12-09 19:07:05 +03:00
Aleksey Kladov
5e3891c255
.
2020-12-09 18:42:07 +03:00
Jonas Schievink
d477c09c8a
Avoid nesting Subtrees when parsing TokenStream
2020-12-09 14:58:46 +01:00
bors[bot]
ef989880ff
Merge #6771
...
6771: Properly attach inner attributes in Attrs::new r=matklad a=Veykril
Properly attach inner and outer attributes to the things they actually belong to in the HIR. ~~I can add some tests for this if wanted once I know where to put them/how to test for this.~~ Put some tests into `hover.rs`.
So the following snippet
```rust
mod foo {
//! Hello
}
```
now shows `Hello` on hover 🎉
Fixes #2148
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2020-12-09 13:16:39 +00:00
bors[bot]
7bda4c722b
Merge #6776
...
6776: Include config into the manual r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-12-09 13:07:33 +00:00
Aleksey Kladov
0890512e1c
Include config into the manual
2020-12-09 15:31:10 +03:00
bors[bot]
8fbaa8e495
Merge #6775
...
6775: Fix MissingFields DiagnosticFix trigger range r=lnicola a=Veykril
Fixes #5950
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2020-12-09 12:12:43 +00:00
Lukas Wirth
1d54c49271
Fix MissingFields DiagnosticFix trigger range
2020-12-09 12:45:39 +01:00
bors[bot]
cd83ded8ee
Merge #6774
...
6774: Increment recursion count in Expander only on success r=lnicola a=Veykril
Fixes #6764
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2020-12-09 11:35:18 +00:00
Lukas Wirth
ec415618df
Properly decrement recursion count in Expander
2020-12-09 12:26:33 +01:00
Lukas Wirth
da3b5e35a6
Test inner and outer doc comments in hover
2020-12-09 09:42:15 +01:00
Lukas Wirth
f8823e8cbc
Properly fetch inner and outer docs on hir-level
2020-12-09 09:22:41 +01:00
ivan770
35006eba79
Apply rustfmt changes
2020-12-09 08:22:13 +00:00
ivan770
86c183716c
Apply suggestions from code review
...
Co-authored-by: bjorn3 <bjorn3@users.noreply.github.com>
2020-12-09 10:17:28 +02:00
Lukas Wirth
eac77997bf
Properly fetch inner and outer attributes on hir-level
2020-12-08 23:21:20 +01:00
ivan770
7738467e0a
Format code
2020-12-08 19:25:21 +00:00
Jonas Schievink
bb28aef918
Fix concat!
with integer literals
2020-12-08 20:06:41 +01:00
ivan770
f2950a1350
Remove unused use
2020-12-08 20:50:40 +02:00
ivan770
581567a4c8
Remove use via super
2020-12-08 20:50:13 +02:00
ivan770
cb66bb8ff9
Remove this semicolon
2020-12-08 20:47:20 +02:00
Jonas Schievink
6c4d5164d9
Better error when a proc macro panics
2020-12-08 19:43:58 +01:00
bors[bot]
b3ceee2a27
Merge #6761
...
6761: Make config.rs a single source of truth for configuration. r=matklad a=matklad
Configuration is editor-independent. For this reason, we pick
JSON-schema as the repr of the source of truth. We do specify it using
rust-macros and some quick&dirty hackery though.
The idea for syncing truth with package.json is to just do that
manually, but there's a test to check that they are actually synced.
I'll add something like `rust-analyzer --config-schema` in a follow-up
commit.
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-12-08 18:21:28 +00:00
Jonas Schievink
da5027138d
Fix logic for determining macro calls
...
I believe this currently goes back all the way to the initial
user-written call, but that seems better than the current broken
behavior.
2020-12-08 19:11:12 +01:00
Jonas Schievink
306c6cbaac
Use original_file_range
in TestDB
2020-12-08 19:03:24 +01:00
Jonas Schievink
4943ef085d
Make original_range
a method on InFile<&SyntaxNode>
2020-12-08 19:01:27 +01:00
Aleksey Kladov
2544abbf86
Make config.rs a single source of truth for configuration.
...
Configuration is editor-independent. For this reason, we pick
JSON-schema as the repr of the source of truth. We do specify it using
rust-macros and some quick&dirty hackery though.
The idea for syncing truth with package.json is to just do that
manually, but there's a test to check that they are actually synced.
There's CLI to print config's json schema:
$ rust-analyzer --print-config-schema
We go with a CLI rather than LSP request/response to make it easier to
incorporate the thing into extension's static config. This is roughtly
how we put the thing in package.json.
2020-12-08 19:25:41 +03:00
Jonas Schievink
6c1d292569
Add test for $crate
in builtin macros
...
Fixes #6716
2020-12-08 17:17:30 +01:00
Jonas Schievink
678c74430b
Handle macros in TestDB::check_diagnostics
2020-12-08 17:16:18 +01:00
bors[bot]
e2e6b709e6
Merge #6760
...
6760: Open Cargo.toml opens more specific manifest r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-12-08 13:30:16 +00:00