Commit Graph

7366 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
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
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
Aleksey Kladov
23258d8436 Simplify file watcher 2020-07-06 09:28:17 +02: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
Aleksey Kladov
4be73c2b7f AbsPath 2020-07-05 11:15:35 +02:00
Aleksey Kladov
453167b492 Modernise item completion tests 2020-07-04 23:25:33 +02: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
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
Aleksey Kladov
824a24c710 Modernize snippet completion tests 2020-07-04 18:03:34 +02:00
Aleksey Kladov
3902e5574c Add Item change to the set of benches 2020-07-04 17:04:33 +02:00
Aleksey Kladov
000d1db351 Fix bench to work with relative paths 2020-07-04 17:03:02 +02:00
Aleksey Kladov
ba9c398144 Modernize postfix completion tests 2020-07-04 15:44:21 +02:00
Aleksey Kladov
7a7fd6d239 Modernize pattern completion tests 2020-07-04 15:10:55 +02:00
Aleksey Kladov
9dacd2338c Fix lookup in tests 2020-07-04 15:05:33 +02:00
Aleksey Kladov
216e093f90 Macro tests 2020-07-04 15:04:57 +02:00
Aleksey Kladov
03ca33406e Modernize tests 2020-07-04 14:53:43 +02:00
Aleksey Kladov
f2f6a46aa4 Cleanup dot completiont tests 2020-07-04 10:41:50 +02:00
Aleksey Kladov
caeddff543 Comments 2020-07-04 10:03:27 +02:00
Aleksey Kladov
5c68dd6b59 Better tests for completion scoring 2020-07-04 09:53:54 +02:00
Aleksey Kladov
aaba2300fb Modernize completion presentation tests 2020-07-04 09:36:53 +02:00
Aleksey Kladov
65768feaff Unify naming 2020-07-04 09:08:51 +02:00
Aleksey Kladov
6518f18f80 Cleanup tests 2020-07-04 09:07:18 +02:00
bors[bot]
212fa29a69
Merge #5197
5197: SSR internal refactorings r=davidlattimore a=davidlattimore

- Extract error code out to a separate module
- Improve error reporting when a test fails
- Refactor matching code
- Update tests so that all paths in search patterns can be resolved

Co-authored-by: David Lattimore <dml@google.com>
2020-07-04 00:13:11 +00:00
David Lattimore
a354e5b5cf SSR: Update tests so that all paths in patterns can be resolved 2020-07-04 08:56:58 +10:00
David Lattimore
69051d2f9d SSR: Refactor matching code.
Mutable state is now stored in the enum Phase.
MatchState, since it now has no mutable state is renamed Matcher.
MatchInputs is merged into Matcher
2020-07-04 08:56:58 +10:00
David Lattimore
4a8679824b SSR: Improve error reporting when a test fails 2020-07-04 08:56:58 +10:00
David Lattimore
a5ef644a16 SSR: Extract error code out to a separate module
This is to make reusing it outside of parsing easier in a subsequent
change.
2020-07-04 08:56:51 +10:00
Aleksey Kladov
cda1a6c638 Cleanup more completion tests 2020-07-04 00:01:45 +02:00
Aleksey Kladov
9f9b38bdb4 Cleanup presentation tests 2020-07-03 23:15:44 +02:00
Aleksey Kladov
d09f692300 Add AssistKind::Generate 2020-07-03 19:32:18 +02:00
Aleksey Kladov
66b6a433c6 Unify naming of generating assists 2020-07-03 19:32:18 +02:00
bors[bot]
a434ecef51
Merge #5212
5212: Fix module renaming r=matklad a=matklad



bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-07-03 16:55:01 +00:00
Aleksey Kladov
f4a3bc30b8 Fix module renaming 2020-07-03 18:47:26 +02:00
Aleksey Kladov
4c347a9f65 Compress rename tests 2020-07-03 18:39:36 +02:00
Aleksey Kladov
2656c415c8 Use expect for rename tests 2020-07-03 18:35:43 +02:00
Aleksey Kladov
ee7ab0104d Adhere to code style in rename tests 2020-07-03 18:29:37 +02:00
bors[bot]
7ad7f3ca8c
Merge #5211
5211: Fix inference of indexing argument (partly) r=flodiebold a=flodiebold

We need to add the `T: Index<Arg>` obligation to be resolved later as well, otherwise we can't make inferences about `Arg` later based on the `Index` impls.

This still doesn't fix indexing with integer variables though; there's a further problem with Chalk floundering because of the variable, I think.

Co-authored-by: Florian Diebold <florian.diebold@freiheit.com>
2020-07-03 16:18:34 +00:00