Commit Graph

11299 Commits

Author SHA1 Message Date
Aleksey Kladov
5d2225f4bc Fix symbol search in salsa
Previous solution for binning paths into disjoint directories was
simple and fast -- just a single binary search.

Unfortunatelly, it wasn't coorrect: if the ditr are

  /d
  /d/a
  /d/c

then partitioning the file /d/b/lib.rs won't pick /d as a correct
directory.

The correct solution here is a trie, but it requires exposing path
components.

So, we use a poor man's substitution -- a *vector* of sorted paths,
such that each bucket is prefix-free

closes #5246
2020-07-07 17:38:02 +02:00
bors[bot]
7407636568
Merge #5250
5250: ⬆️ backtrace r=matklad a=matklad



bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-07-07 14:26:54 +00:00
Aleksey Kladov
1e6336c4b9 ⬆️ backtrace 2020-07-07 16:26:33 +02:00
Aleksey Kladov
6bf33cc5cc
Merge pull request #5249 from matklad/ci
check cargo.lock
2020-07-07 16:24:41 +02:00
Aleksey Kladov
2752f2dccf check cargo.lock 2020-07-07 16:01:05 +02:00
Aleksey Kladov
74223de7c4 Upstream salsa 2020-07-07 16:01:05 +02:00
bors[bot]
43e33f3b4a
Merge #5248
5248: Upstream salsa r=matklad a=matklad



bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-07-07 13:51:51 +00:00
Aleksey Kladov
9effc6116f Upstream salsa 2020-07-07 15:48:55 +02:00
bors[bot]
73e972a173
Merge #5244
5244: Add a command to compute memory usage statistics r=matklad a=jonas-schievink

This allows inspecting memory usage on a live rust-analyzer instance after it has been used interactively.

This will only work with `--features jemalloc`, so maybe it should print something more useful when that's not available? Right now it will just print 0 Bytes for every query.

Co-authored-by: Jonas Schievink <jonas.schievink@ferrous-systems.com>
2020-07-07 11:00:04 +00:00
bors[bot]
0719f2824c
Merge #5247
5247: Modernize unqualified reference completion tests r=matklad a=matklad



bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-07-07 10:52:54 +00:00
Aleksey Kladov
5b8a5bfb15 Modernize unqualified reference completion tests 2020-07-07 12:52:09 +02:00
bors[bot]
687fb031d2
Merge #5245
5245: Refactor AssistBuilder to manage a SourceChange r=matklad a=theduke

`AssistBuilder` now managaes a full `SourceChange` instead of a
`Vec<SourceFileEdit>`.

This prepares AssistBuilder to handle creation of new files.


Co-authored-by: Christoph Herzog <chris@theduke.at>
2020-07-07 10:25:17 +00:00
Christoph Herzog
3360118040 Refactor AssistBuilder to manage a SourceChange
`AssistBuilder`` now managaes a full `SourceChange` instead of a
Vec<SourceFileEdit>.

This prepares AssistBuilder to handle creation of new files.
2020-07-07 12:10:18 +02:00
Jonas Schievink
f44c4b61e1 Add a command to compute memory usage statistics 2020-07-07 12:10:14 +02:00
Aleksey Kladov
9b2847885d cleanup 2020-07-07 11:44:16 +02:00
bors[bot]
0f5d62a3f3
Merge #5235 #5236 #5241
5235: Don't ping people in PRs r=matklad a=lnicola



5236: Disable ES module interop r=matklad a=lnicola



5241: Clippy perf warnings r=matklad a=kjeremy

Removes redundant clones

Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Co-authored-by: kjeremy <kjeremy@gmail.com>
2020-07-07 09:29:52 +00:00
Aleksey Kladov
c88d85bbb4
Update docs/dev/README.md 2020-07-07 11:23:59 +02:00
bors[bot]
0058f97d57
Merge #5243
5243: Consider EPERM error as other vscode processes using rust-analyzer r=matklad a=Veetaha

According to: https://github.com/rust-analyzer/rust-analyzer/issues/5009#issuecomment-654561497

Co-authored-by: Veetaha <veetaha2@gmail.com>
2020-07-07 09:22:39 +00:00
Veetaha
fd1487db51 Consider EPERM error as other vscode processes using rust-analyzer 2020-07-07 12:09:37 +03:00
bors[bot]
7a8597bc20
Merge #5242
5242: Switch to fully dynamically dispatched salsa r=matklad a=matklad

This improves compile times quite a bit



bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-07-07 08:15:40 +00:00
Aleksey Kladov
4bbc385277 Switch to fully dynamically dispatched salsa
This improves compile times quite a bit
2020-07-07 10:14:48 +02:00
kjeremy
ebdee366b0 Clippy perf warnings
Removes redundant clones
2020-07-06 17:13:55 -04:00
bors[bot]
d4bc2f25de
Merge #5240
5240: Update crates r=kjeremy a=kjeremy



Co-authored-by: kjeremy <kjeremy@gmail.com>
2020-07-06 17:45:43 +00:00
kjeremy
b03dbd2c74 Update crates 2020-07-06 13:44:41 -04:00
bors[bot]
f68aac1161
Merge #5239
5239: sponsors link r=matklad a=matklad



bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-07-06 15:13:29 +00:00
Aleksey Kladov
a92b76d823 sponsors link 2020-07-06 17:13:08 +02:00
Laurențiu Nicola
9209a992c9 Disable ES module interop 2020-07-06 14:29:19 +03:00
Laurențiu Nicola
8ab0c7ffd3 Don't ping people in PRs 2020-07-06 13:59:24 +03:00
bors[bot]
a5ae50400d
Merge #5234
5234: Fix: allow for binaries from $PATH to pass validity check r=matklad a=Veetaha

Tackles https://github.com/rust-analyzer/rust-analyzer/pull/5229#issuecomment-654151387
cc @matklad @lnicola 
Apparently `fs.existsSync()` works only with real paths and not with `$PATH` env var

Co-authored-by: Veetaha <veetaha2@gmail.com>
2020-07-06 10:56:22 +00:00
Veetaha
ef223b9e64 Fix: allow for binaries from $PATH to pass validity check 2020-07-06 13:41:38 +03:00
bors[bot]
a0f24455dd
Merge #5233
5233: Update salsa r=jonas-schievink a=jonas-schievink

bors r+

Co-authored-by: Jonas Schievink <jonas.schievink@ferrous-systems.com>
2020-07-06 09:46:44 +00:00
Jonas Schievink
0da5ce0b59 Update salsa 2020-07-06 11:47:11 +02:00
bors[bot]
816a39cb54
Merge #5229
5229: Improve client logging (use output channel and more log levels) r=matklad a=Veetaha

The improvements:
* Separate output channel allows viewing the logs belonging to only our extension (without the intervention of other vscode extensions)
* All the objects in the output channel are always expanded so users only need to `Ctrl + A and Ctrl + C` to copy the entire output to send us and nothing more (e.g. currently users need to expand the object which is not obvious for them and we may lose the logs this way, see two comments: https://github.com/rust-analyzer/rust-analyzer/issues/5009#issuecomment-651361137
* More log levels allows us to be more granular in disabling only optional verbose debug-level output and leave the logs for us as developers to understand the context of user issues.
* For `log.error(...)` invocations we reveal `Rust Analyzer Client` channel automatically so that users don't have to do any additional actions to get the logs output window visible

Demo:
![image](https://user-images.githubusercontent.com/36276403/86535275-d7795f80-bee7-11ea-8c30-135c83c1bc7d.png)



Co-authored-by: Veetaha <veetaha2@gmail.com>
2020-07-06 07:36:49 +00:00
bors[bot]
6546a68470
Merge #5231
5231: Simplify file watcher r=matklad a=matklad



bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-07-06 07:28:59 +00:00
Aleksey Kladov
23258d8436 Simplify file watcher 2020-07-06 09:28:17 +02:00
Veetaha
46163acf62 Revert "Dispose logger on extension deactivation"
This reverts commit 13872543e0.
That commit was wrong because we use-after-free the logger
2020-07-05 21:10:31 +03:00
Veetaha
13872543e0 Dispose logger on extension deactivation 2020-07-05 21:05:38 +03:00
Veetaha
3602f07bbe Improve client logging (use output channel and more log levels) 2020-07-05 17:50:29 +03:00
bors[bot]
8b0983e89a
Merge #5228
5228: Fix typo r=matklad a=matklad



bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-07-05 09:24:58 +00:00
Aleksey Kladov
569504938e Fix typo 2020-07-05 11:19:16 +02:00
bors[bot]
6b74e27ba0
Merge #5227
5227: AbsPath r=matklad a=matklad



bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-07-05 09:17:27 +00:00
Aleksey Kladov
4be73c2b7f AbsPath 2020-07-05 11:15:35 +02:00
bors[bot]
6c2f42260c
Merge #5226
5226: Modernise item completion tests r=matklad a=matklad



bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-07-04 21:40:53 +00:00
Aleksey Kladov
453167b492 Modernise item completion tests 2020-07-04 23:25:33 +02:00
bors[bot]
4cfe0070dd
Merge #4864
4864: Add optional target to crates in json project r=Nashenas88 a=Nashenas88

Lookup default cfgs per target when generating cfg list.

Should fully address #4840

CC @woody77 

Co-authored-by: Paul Daniel Faria <Nashenas88@users.noreply.github.com>
Co-authored-by: Paul Daniel Faria <nashenas88@users.noreply.github.com>
2020-07-04 18:00:17 +00:00
Paul Daniel Faria
5b96d4103e Fallback to target in cfg if not specified in project json config 2020-07-04 13:50:27 -04:00
Paul Daniel Faria
db99f2dd7e Add optional target to crates in json project, lookup default cfgs per target when generating cfg list 2020-07-04 13:49:44 -04:00
bors[bot]
c815d5b496
Merge #5225
5225: Alight details in comkplation list r=matklad a=matklad



bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-07-04 17:04:20 +00:00
Aleksey Kladov
943fa46395 Alight details in comkplation list 2020-07-04 19:03:58 +02:00
Aleksey Kladov
c14a3b4a20 Modernize qual path completion tests 2020-07-04 18:53:30 +02:00