Commit Graph

3938 Commits

Author SHA1 Message Date
bors[bot]
572a1e507e Merge #1347
1347: Add status buffer function to emacs integration r=flodiebold a=flodiebold

Also fix a minor race condition in the 'extend selection' initialization.

Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2019-05-30 08:36:41 +00:00
bors[bot]
615b59aea0 Merge #1349
1349: don't remove tools from cache r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-05-30 07:21:15 +00:00
Aleksey Kladov
0f6951249e don't remove tools from cache
On CI, we remove this project's artifacts from ./target before caching
it. This way, cache never changes, because it only caches deps.

We do this approximatelly, and, together with our own tools crate, we
also remove itertools, which are used by some other deps. Given that
tools change rarely, let's just cache them?
2019-05-30 10:17:29 +03:00
bors[bot]
e02d90f8f9 Merge #1348
1348: cancel salsa's validation r=matklad a=matklad

This small fix should improve rust-analyzer resopnsivness for
real-time operations like onEnter handling.

Turns out, salsa's validation can take hundreds of milliseconds, and,
in case no changes were made, it won't be triggering any queries.

Because we check for cancellation in queries, that means that
validation is not cancellable!

What this PR does is injecting check_canceled checks into validation,
by using salsa's event API, which wasn't meant to be used like this,
but, hey, it works!

Here's the onEnter handling before and after this change:

https://youtu.be/7-ffPzgvH7o

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-05-30 07:11:08 +00:00
Aleksey Kladov
0ee5bd16c9 cancel salsa's validation
This small fix should improve rust-analyzer resopnsivness for
real-time operations like onEnter handling.

Turns out, salsa's validation can take hundreds of milliseconds, and,
in case no changes were made, it won't be triggering any queries.

Because we check for cancellation in queries, that means that
validation is not cancellable!

What this PR does is injecting check_canceled checks into validation,
by using salsa's event API, which wasn't meant to be used like this,
but, hey, it works!

Here's the onEnter handling before and after this change:

https://youtu.be/7-ffPzgvH7o
2019-05-30 10:06:02 +03:00
Florian Diebold
f2c191e973 Add status buffer function to emacs integration
Also fix a minor race condition in the 'extend selection' initialization.
2019-05-29 23:00:56 +02:00
bors[bot]
8c3cd8f121 Merge #1346
1346: bump timeout for CI r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-05-29 19:18:57 +00:00
Aleksey Kladov
9304cb0263 bump timeout for CI 2019-05-29 22:14:06 +03:00
Aleksey Kladov
6bcc1b8b9e add cacellation checks to expensive queries 2019-05-29 22:13:03 +03:00
bors[bot]
7e9c5e32e5 Merge #1344
1344: Highlight primitive types r=matklad a=lnicola

This is a hack to get better highlighting of primitive types until #1340.

Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2019-05-29 19:02:06 +00:00
Laurențiu Nicola
b1e59cb095 Highlight primitive types 2019-05-29 21:54:22 +03:00
Aleksey Kladov
a9373c4220 less noisy status 2019-05-29 21:07:38 +03:00
bors[bot]
cb21a21998 Merge #1343
1343: optimization: cancel backlog in onEnter r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-05-29 13:05:58 +00:00
Aleksey Kladov
5c410385fc optimization: cancel backlog in onEnter 2019-05-29 16:05:14 +03:00
bors[bot]
557a4b8301 Merge #1342
1342: add latest requests to status page r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-05-29 12:48:13 +00:00
Aleksey Kladov
2c9a1cb3dd add latest requests to status page 2019-05-29 15:47:46 +03:00
bors[bot]
87c8437af3 Merge #1341
1341: log the actual time of requests r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-05-29 11:59:38 +00:00
Aleksey Kladov
e45c350a3b log the actual time of requests 2019-05-29 14:59:01 +03:00
Aleksey Kladov
118a2113c1 trigger garbage collection *after* requests, not before 2019-05-29 14:37:04 +03:00
Aleksey Kladov
6a1e3e59cb more perf logging 2019-05-29 14:34:21 +03:00
bors[bot]
9eef546ca2 Merge #1339
1339: flip Into to From r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-05-29 07:34:12 +00:00
Aleksey Kladov
a6f1b171bc silnce profiling in tests 2019-05-29 10:33:47 +03:00
Aleksey Kladov
38cb88307e flip Into to From 2019-05-29 10:31:07 +03:00
Aleksey Kladov
2e722ec54b show error offsets in tests 2019-05-29 10:31:07 +03:00
bors[bot]
7a1cae59ac Merge #1337
1337: Move syntax errors our of syntax tree r=matklad a=matklad

I am not really sure if it's a good idea, but `SyntaxError` do not really belong to a `SyntaxTree`. So let's just store them on the side?

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-05-29 06:40:39 +00:00
bors[bot]
b0d84cb8fa Merge #1338
1338: Highlight names correctly r=matklad a=lnicola

Part of #1294.

Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2019-05-29 06:30:48 +00:00
Laurențiu Nicola
9146a64386 Highlight type names correctly 2019-05-29 08:30:53 +03:00
Aleksey Kladov
80a1725147 fix todo 2019-05-28 18:50:53 +03:00
Aleksey Kladov
61e1474ab3 fix typos in mbe tests 2019-05-28 18:46:11 +03:00
Aleksey Kladov
c8bcfe6a05 fix syntax errors in tests 2019-05-28 18:07:39 +03:00
Aleksey Kladov
2e3f5af9d4 move mbe to the new API 2019-05-28 17:39:01 +03:00
Aleksey Kladov
0efbcdf435 remove old parsing methods 2019-05-28 17:34:28 +03:00
Aleksey Kladov
310bfe57bd update test data 2019-05-28 17:09:45 +03:00
Aleksey Kladov
bc2550b196 update tests 2019-05-28 16:59:22 +03:00
Aleksey Kladov
afeaea7051 drop error from SOurceFile constructor 2019-05-28 16:34:23 +03:00
Aleksey Kladov
1cece9f219 return errors from tree builder 2019-05-28 16:26:14 +03:00
Aleksey Kladov
90926b9479 drop errors from SyntaxNode 2019-05-28 16:15:17 +03:00
Aleksey Kladov
f52eda675e add Parse 2019-05-28 16:15:17 +03:00
bors[bot]
0545e4781d Merge #1336
1336: Refactor SubtreeSource r=matklad a=edwin0cheng

This PR simplify `SubtreeSource` by removing `SubtreeWalk` and `Querier` and only walk through the top level `TokenTree` when collecting token from source, by comparing two cursors directly.

Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2019-05-28 06:03:47 +00:00
Edwin Cheng
464a00814c Use cfg(test) instead of allow(unused) 2019-05-28 10:55:08 +08:00
Edwin Cheng
a3b9aecc9b Minor use module 2019-05-28 00:54:32 +08:00
Edwin Cheng
98aac6b751 Simpliy how collecting token from src 2019-05-28 00:38:55 +08:00
Edwin Cheng
c8c9230dd2 Add more helper func in Cursor 2019-05-27 23:51:52 +08:00
Edwin Cheng
d833ded3b4 Remove Queier and SubtreeWalk 2019-05-27 23:20:43 +08:00
bors[bot]
b2bf41b2ba Merge #1334
1334: check for cancellation during macro expansion r=matklad a=matklad

closes #1331

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-05-27 11:45:41 +00:00
Aleksey Kladov
a2845bb1f5 check cancellation when expanding macros 2019-05-27 14:41:14 +03:00
Aleksey Kladov
0d2f97e83e specifically profile cancellation 2019-05-27 14:27:05 +03:00
Aleksey Kladov
cf214ac4e7 enable profiling in tests 2019-05-27 14:20:11 +03:00
bors[bot]
0d1c607607 Merge #1319
1319: Rainbow highlighting spike 🌈 r=killercup a=killercup

Very simple approach: For each identifier, set the hash of the range
where it's defined as its 'id' and use it in the VSCode extension to
generate unique colors.

Thus, the generated colors are per-file. They are also quite fragile,
and I'm not entirely sure why. Looks like we need to make sure the
same ranges aren't overwritten by a later request?

Co-authored-by: Pascal Hertleif <pascal@technocreatives.com>
2019-05-27 09:56:06 +00:00
Pascal Hertleif
1e6ba19015 Make rainbows optional 2019-05-27 11:44:46 +02:00