Commit graph

13748 commits

Author SHA1 Message Date
bors[bot]
1341a98f05
Merge #6796
6796: Fix FileId computation in IncorrectCase fix r=jonas-schievink a=jonas-schievink

Fixes the sub-issue mentioned in https://github.com/rust-analyzer/rust-analyzer/issues/4058#issuecomment-741919659

bors r+

Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2020-12-10 13:17:53 +00:00
Jonas Schievink
f57ce36988 Fix FileId computation in IncorrectCase fix 2020-12-10 14:16:34 +01:00
bors[bot]
8d5da92e4c
Merge #6795
6795: format_args: handle key-value arguments r=jonas-schievink a=jonas-schievink

fixes https://github.com/rust-analyzer/rust-analyzer/issues/6728

bors r+

Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2020-12-10 12:47:30 +00:00
Jonas Schievink
948832d10b format_args: handle key-value arguments 2020-12-10 13:46:47 +01:00
bors[bot]
06a03bab8e
Merge #6790
6790: Send a CodeLensRefresh when we reload r=kjeremy a=kjeremy



Co-authored-by: kjeremy <kjeremy@gmail.com>
2020-12-09 19:37:55 +00:00
kjeremy
78dd2ba196 Send a CodeLensRefresh when we reload 2020-12-09 14:36:47 -05:00
bors[bot]
fc1595539e
Merge #6789
6789: Fix a typo in manual.adoc r=lnicola a=cuviper



Co-authored-by: Josh Stone <cuviper@gmail.com>
2020-12-09 19:26:33 +00:00
Josh Stone
bb412f314d
Fix a typo in manual.adoc 2020-12-09 11:25:05 -08:00
bors[bot]
928d4c6744
Merge #6786
6786: Implement HirDisplay for FnSig r=jonas-schievink a=jonas-schievink

This could be useful for diagnostics, but isn't used right now

bors r+

Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2020-12-09 17:08:23 +00: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
bors[bot]
99118eeccd
Merge #6784
6784: Introduce anchored_path r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-12-09 16:07:33 +00: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
bors[bot]
42be522c80
Merge #6783
6783: Avoid nesting Subtrees when parsing TokenStream r=jonas-schievink a=jonas-schievink

Fixes https://github.com/rust-analyzer/rust-analyzer/issues/6744

bors r+

Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2020-12-09 13:59:39 +00: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
Lukas Wirth
eac77997bf Properly fetch inner and outer attributes on hir-level 2020-12-08 23:21:20 +01:00
bors[bot]
e4c6c70d5d
Merge #6770
6770: Update usage string to include code-exploration client. r=lnicola a=derdaele

Support for `code-exploration` client was added #6766 in but the usage string wasn't updated.

Co-authored-by: Jérémy <jeremy.derdaele@gmail.com>
2020-12-08 19:32:55 +00:00
Jérémy
019ad25939 Update usage string to include code-exploration client. 2020-12-08 20:28:32 +01:00
bors[bot]
0e2b1b7b8f
Merge #6768
6768: Fix `concat!` with integer literals r=jonas-schievink a=jonas-schievink

Addresses https://github.com/rust-analyzer/rust-analyzer/issues/6747#issuecomment-740778402

bors r+

Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2020-12-08 19:07:59 +00:00
Jonas Schievink
bb28aef918 Fix concat! with integer literals 2020-12-08 20:06:41 +01:00
bors[bot]
9145b973c9
Merge #6766
6766: Add client install support for `code-exploration` builds. r=lnicola a=derdaele

VSCode has a feature to install the command to the PATH. 
<img width="640" alt="Capture d’écran 2020-12-08 à 19 25 43" src="https://user-images.githubusercontent.com/16373039/101525141-2e013300-398b-11eb-8d07-60a92ae9587c.png">

`code-exploration` is the command name for the ARM64 experimental build. As of today, this is the only build running natively on Apple Silicon.

See _ARM64_ Experimental in https://code.visualstudio.com/insiders/#osx.

The `-exploration` prefix seems pretty undocumented, my understanding of it is that it is an insider-like version that uses a different electron version (in this case, maybe the election version that was recently ported to Apple Silicon?).

Co-authored-by: Jérémy <jeremy.derdaele@gmail.com>
2020-12-08 18:53:58 +00:00
bors[bot]
70fa57f8d3
Merge #6767
6767: Better error when a proc macro panics r=jonas-schievink a=jonas-schievink

bors r+

Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2020-12-08 18:47:10 +00:00
Jonas Schievink
6c4d5164d9 Better error when a proc macro panics 2020-12-08 19:43:58 +01:00
Jérémy
7cf2c0d46f Add client install support for code-exploration build. 2020-12-08 19:23:25 +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
bors[bot]
87e3500636
Merge #6765
6765: Fix file range computation in macros r=jonas-schievink a=jonas-schievink

This also aligns the diagnostics behavior of `TestDB` with the one from the real IDE (by making the logic from `semantics.rs` a method on `InFile<&SyntaxNode>`), which makes bugs like this easier to find.

This should fix the misplaced diagnostics seen in https://github.com/rust-analyzer/rust-analyzer/issues/6747 and other issues.

bors r+

Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2020-12-08 18:13:54 +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
bors[bot]
b01981e636
Merge #6763
6763: Add test for `$crate` in builtin macros r=jonas-schievink a=jonas-schievink

bors r+

Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2020-12-08 16:33:15 +00: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]
0ce0d6893b
Merge #6762
6762: fix typo of README in dev r=lnicola a=sasurau4

Fix typo of README in dev

Co-authored-by: Daiki Ihara <sasurau4@gmail.com>
2020-12-08 15:32:40 +00:00
Daiki Ihara
4f008bf8b2 fix typo of README in dev 2020-12-09 00:30:00 +09: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
Aleksey Kladov
944f30bd69 Open Cargo.toml opens more specific manifest 2020-12-08 16:28:21 +03:00
bors[bot]
2aa7f2ece5
Merge #6750
6750: Remove documentation query, move doc handling to attributes r=matklad a=Veykril

Fixes #3182

Removes the documentation query in favor of `Attrs::docs`. Attrs already handlded doc comments partially but the alloc saving check was wrong so it only worked when other attributes existed as well. Unfortunately the `new` constructor has to do an intermediate allocation now because we need to keep the order of mixed doc attributes and doc comments.

I've also partially adjusted the `hover` module to have its tests check the changes, it still has some `HasSource` trait usage due to the `ShortLabel` trait usage, as that is only implemented on the Ast parts and not the Hir, should this ideally be implemented for the Hir types as well?(would be a follow up PR of course)

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2020-12-08 13:23:12 +00:00
Aleksey Kladov
ecd1c11f9e cleanup: match over unwrap 2020-12-08 16:17:46 +03:00