Aleksey Kladov
c603b9043f
feat: make hightlighting linear
...
In https://youtu.be/qvIZZf5dmTE , we've noticed that AstIdMap does a
linear lookup when going from SyntaxNode to Id. This leads to
accidentally quadratic overall performance. Replace linear lookup with a
O(1) hashmap lookup.
Future work: don't duplicate `SyntaxNodePtr` in `AstIdMap` and switch to
"call site dependency injection" style storage (eg, store a
`HashSet<ErasedFileAstId>`).
See the explanation of the work here on YouTube
https://youtu.be/wvEgymUm7cY :-)
2021-12-05 15:32:39 +03:00
bors[bot]
b519a179b4
Merge #10940
...
10940: minor: Fix HttpsProxyAgent creation and avoid deprecated call r=lnicola a=lnicola
bors r+
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2021-12-05 12:12:44 +00:00
Laurențiu Nicola
725b3fdd65
Fix HttpsProxyAgent creation and avoid deprecated call
2021-12-05 14:11:49 +02:00
bors[bot]
5c0e2b229c
Merge #10939
...
10939: minor: Clean up some unused cross-crate dependencies r=lnicola a=lnicola
bors r+
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2021-12-05 11:55:36 +00:00
Laurențiu Nicola
bff377c712
Clean up some unused cross-crate dependencies
2021-12-05 13:54:49 +02:00
bors[bot]
396f864134
Merge #10938
...
10938: minor: Bump d3 r=lnicola a=lnicola
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2021-12-05 11:40:23 +00:00
Laurențiu Nicola
6300d03acd
Bump d3
2021-12-05 13:38:31 +02:00
bors[bot]
1cf1359c55
Merge #10937
...
10937: fix: Add highlighting hack back for unresolved attributes r=Veykril a=Veykril
cc https://github.com/rust-analyzer/rust-analyzer/issues/10935
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-12-05 11:02:55 +00:00
Lukas Wirth
9b4ca77572
fix: Add highlighting hack back for unresolved attributes
2021-12-05 11:59:07 +01:00
bors[bot]
8a084e6aca
Merge #10902
...
10902: Handle multiple cargo check quick fix spans r=Veykril a=brandondong
Resolves https://github.com/rust-analyzer/rust-analyzer/issues/10705 .
**Cause:**
- For a cargo check diagnostic with multiple spans, only a single quick fix action would be created at the location of `spans[0]`. Additionally, the hover window details would only show the location of `spans[0]` next to the message.
**Fix:**
- Allow cargo check quick fix actions to be triggerable from multiple selection ranges. Specifically, if the selection intersects with any of the replacement spans, the quick fix action is shown.
- No change in behavior for the hover window details. It's pretty minor and I think showing multiple locations next to the message may be more confusing anyways.
Co-authored-by: Brandon <brandondong604@hotmail.com>
2021-12-05 10:52:54 +00:00
Brandon
fa2818551e
Update expected test results
2021-12-04 21:42:13 -08:00
Brandon
0d1910c6fb
Handle multiple cargo check quick fix spans
2021-12-04 21:41:56 -08:00
Brandon
de05c3d406
Refactor away unnecessary Vec
2021-12-04 19:59:05 -08:00
bors[bot]
6434ada19e
Merge #10930
...
10930: fix: Fix self keyword not being tagged as such in highlighting properly r=Veykril a=Veykril
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/10575
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-12-04 18:08:11 +00:00
Lukas Wirth
b35a50cb10
fix: Fix self keyword not being tagged as such in highlighting properly
2021-12-04 19:07:18 +01:00
bors[bot]
372a7cf981
Merge #10929
...
10929: internal: Split up macro/attribute semantic tokens a bit more r=Veykril a=Veykril
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/9172
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-12-04 17:33:16 +00:00
Lukas Wirth
3472105ad9
Update semantic token docs
2021-12-04 18:23:25 +01:00
Lukas Wirth
e4f2d0e3a8
Introduce SymbolKind::Derive
2021-12-04 18:18:09 +01:00
Lukas Wirth
642c1eb720
Introduce SymbolKind::Attribute
2021-12-04 18:01:22 +01:00
bors[bot]
b327cf3d0c
Merge #10928
...
10928: minor: Bump deps r=lnicola a=lnicola
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2021-12-04 13:21:40 +00:00
Laurențiu Nicola
b7368d34a6
Bump pulldown-cmark-to-cmark
2021-12-04 15:21:04 +02:00
Laurențiu Nicola
076f2247f2
Bump miow
2021-12-04 15:17:30 +02:00
Laurențiu Nicola
f2a1082c84
Bump countme
2021-12-04 15:14:31 +02:00
Laurențiu Nicola
26aba38168
Bump chalk
2021-12-04 15:08:43 +02:00
Laurențiu Nicola
89a1256f9a
Bump most deps
2021-12-04 15:08:37 +02:00
bors[bot]
f00e1c05c5
Merge #10927
...
10927: minor: bump the rest of the npm deps r=lnicola a=lnicola
bors r+
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2021-12-04 12:37:19 +00:00
Laurențiu Nicola
341e3773c3
Bump rest of the npm deps
2021-12-04 14:28:48 +02:00
Laurențiu Nicola
29682445ac
Bump node-fetch
2021-12-04 14:26:37 +02:00
Laurențiu Nicola
c3a97a9a9c
Bump vsce
2021-12-04 14:26:14 +02:00
Laurențiu Nicola
98697b61b5
Bump eslint
2021-12-04 14:26:14 +02:00
Laurențiu Nicola
0cf031a18a
Bump engine in lockfile
2021-12-04 14:26:14 +02:00
bors[bot]
71cbc79b0e
Merge #10925
...
10925: minor: Simplify `.vscodeignore` r=lnicola a=lnicola
The quadruple negation we used to have here was quite confusing:
```gitignore
**
!out
out/**
!out/src
```
Let's ignore everything and cherry-pick what we want to include.
~~And also include the extension sourcemap, just in case someone wants to debug the extension.~~
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2021-12-04 12:17:29 +00:00
Laurențiu Nicola
65cdced805
Simplify .vscodeignore
2021-12-04 14:16:10 +02:00
bors[bot]
0c6208a048
Merge #10924
...
10924: minor: Add LICENSE file to make vsce happy r=lnicola a=lnicola
Newer `vsce` versions error out if a `LICENSE` file is missing, even if the license is specified in `package.json`. Concatenate the two licenses we use and add a file with that to make a future `vsce` upgrade easier.
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2021-12-04 11:44:27 +00:00
bors[bot]
d08118298f
Merge #10926
...
10926: minor: Bump Node to 14 in release workflow r=lnicola a=lnicola
bors r+
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2021-12-04 10:46:05 +00:00
Laurențiu Nicola
e4e984325b
Bump Node to 14 in release workflow
2021-12-04 12:45:08 +02:00
Laurențiu Nicola
acd5c1f19b
Add LICENSE file to make vsce happy
2021-12-04 12:29:27 +02:00
bors[bot]
5c00c3e8d4
Merge #10921
...
10921: minor: Update list of safe intrinsics r=Veykril a=Veykril
Closes https://github.com/rust-analyzer/rust-analyzer/issues/4798
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-12-03 23:52:28 +00:00
Lukas Wirth
144200c821
minor: Update list of safe intrinsics
2021-12-04 00:51:50 +01:00
bors[bot]
ea199dcbec
Merge #10920
...
10920: minor: Shorten spans of mismatched_arg_count diag r=Veykril a=Veykril
Fixes #5289
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-12-03 23:27:50 +00:00
Lukas Wirth
045014c17e
minor: Shorten spans of mismatched_arg_count diag
2021-12-04 00:27:29 +01:00
bors[bot]
348110dcd9
Merge #10919
...
10919: internal: Define missing semantic token hierarchies in package.json r=Veykril a=Veykril
Closes https://github.com/rust-analyzer/rust-analyzer/issues/10077
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-12-03 22:53:32 +00:00
Lukas Wirth
d74894abe2
Add some more semantic token to textmate grammar mapping
2021-12-03 22:17:56 +01:00
Lukas Wirth
90e9a49cb9
Define missing semantic token hierarchies in package.json
2021-12-03 21:59:34 +01:00
bors[bot]
bf76226148
Merge #10916
...
10916: feat: ide: Convert while let to loop r=Veykril a=rainy-me
close #10901
Co-authored-by: rainy-me <github@yue.coffee>
2021-12-03 20:21:55 +00:00
rainy-me
79b4e67b4f
fix: defer condition construction
2021-12-04 04:50:06 +09:00
bors[bot]
3f3289df2a
Merge #10915
...
10915: feat: Resolve builtin-attr and tools in ide layer r=Veykril a=Veykril
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-12-03 19:28:36 +00:00
Lukas Wirth
8da850b6d5
Improve hover message for inert attributes
2021-12-03 20:28:15 +01:00
bors[bot]
cf1c7e5d26
Merge #10917
...
10917: minor: Bump some npm deps r=lnicola a=lnicola
bors r+
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2021-12-03 18:54:52 +00:00
Laurențiu Nicola
3ed0f349f2
Bump engine
2021-12-03 20:53:46 +02:00