Commit graph

8237 commits

Author SHA1 Message Date
bors[bot]
50956f89fc
Merge #3285
3285: Handle trivia in Structural Search and Replace r=matklad a=adamrk

Addresses the second point of https://github.com/rust-analyzer/rust-analyzer/issues/3186.

Structural search and replace will now match code that has varies from the pattern in whitespace or comments.

One issue is that it's not clear where comments in the matched code should go in the replacement. With this change they're just tacked on at the end, which can cause some unexpected moving of comments (see the last test example).

Co-authored-by: adamrk <ark.email@gmail.com>
2020-02-27 08:54:18 +00:00
bors[bot]
7f7d96cffe
Merge #3338
3338: Renam module r=matklad a=matklad



bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-02-27 08:47:03 +00:00
Aleksey Kladov
2374f8ddd8 Renam module 2020-02-27 09:46:41 +01:00
bors[bot]
2180591593
Merge #3335
3335: Refactor highlighting a bit r=matklad a=matklad

bors r+

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-02-27 08:32:44 +00:00
Aleksey Kladov
a8e68ff814 Color constants 2020-02-27 09:32:00 +01:00
Aleksey Kladov
9784ab9f39 Move html highlightig to a separate module 2020-02-27 09:32:00 +01:00
Aleksey Kladov
995c46024b Fix html tests 2020-02-27 09:32:00 +01:00
Aleksey Kladov
f7db49bfc6 Better highlightign API 2020-02-27 09:32:00 +01:00
bors[bot]
ac52a4109f
Merge #3337
3337: Remove unused dependencies r=matklad a=sinkuu



Co-authored-by: Shotaro Yamada <sinkuu@sinkuu.xyz>
2020-02-27 06:44:44 +00:00
Shotaro Yamada
33de107ed9 Remove unused dependencies 2020-02-27 14:04:13 +09:00
bors[bot]
13e16a4ad4
Merge #3336
3336: Use text_range::extend_to r=edwin0cheng a=edwin0cheng



Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2020-02-27 02:08:19 +00:00
Edwin Cheng
61fd6c6270 Use text_range::extend_to 2020-02-27 10:06:48 +08:00
bors[bot]
05388b4ea4
Merge #3334
3334: Update lsp-types r=matklad a=kjeremy

Uses the correct type for the currently unused `SemanticTokensEditsRequest::Return`

Co-authored-by: kjeremy <kjeremy@gmail.com>
2020-02-26 21:53:29 +00:00
kjeremy
bc1985037f Update lsp-types 2020-02-26 16:50:47 -05:00
bors[bot]
0e09ecb8b3
Merge #3332
3332: Fix r=matklad a=matklad



bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-02-26 21:10:44 +00:00
Aleksey Kladov
c88ba9c4bd Fix 2020-02-26 22:10:23 +01:00
Aleksey Kladov
723e83fb25 wip 2020-02-26 22:08:21 +01:00
Aleksey Kladov
cfc6abed9d
Merge pull request #3330 from Veetaha/feature/cargo-audit
cicd: add cargo audit
2020-02-26 22:00:30 +01:00
Aleksey Kladov
5fcb4bb509
Merge pull request #3329 from Veetaha/feature/vscode-add-npm-audit
vscode: added audit at ci
2020-02-26 22:00:09 +01:00
bors[bot]
e47f0f98c9
Merge #3331
3331: Update r=kjeremy a=kjeremy



Co-authored-by: kjeremy <kjeremy@gmail.com>
2020-02-26 20:34:00 +00:00
kjeremy
d90d1e8f8e Update 2020-02-26 15:33:16 -05:00
Veetaha
23907b5d4c cicd: add cargo audit 2020-02-26 22:28:23 +02:00
Veetaha
4291b61810 vscode: added audit at ci 2020-02-26 22:01:09 +02:00
Aleksey Kladov
d1e7a20c00
Merge pull request #3327 from matklad/bitsetoops
Fix bitset ops
2020-02-26 18:32:13 +01:00
Aleksey Kladov
2a2d289e5f Fix bitset ops 2020-02-26 18:09:49 +01:00
Aleksey Kladov
913cdcee8f
Merge pull request #3325 from edwin0cheng/skip-trival-token
Skip trival token in original_range
2020-02-26 17:58:32 +01:00
Aleksey Kladov
6ea633c494
Merge pull request #3324 from matklad/highlight-tag
More type safety for highlighting
2020-02-26 17:24:35 +01:00
Aleksey Kladov
f38bac48e5 More type safety for highlighting 2020-02-26 17:17:15 +01:00
Edwin Cheng
553254973e Skip trival token in original_range 2020-02-27 00:12:26 +08:00
Aleksey Kladov
640ede4ade
Merge pull request #3322 from matklad/semantic-tokens-config
Config to switch to semantic tokens
2020-02-26 16:05:11 +01:00
Aleksey Kladov
225ef6dea2 Config to switch to semantic tokens 2020-02-26 16:03:30 +01:00
Aleksey Kladov
8c0d0894b6
Merge pull request #3321 from kjeremy/semantic-client
Enable SemanticTokens on the client
2020-02-26 15:59:30 +01:00
Aleksey Kladov
2dee0779e9
Merge pull request #3314 from edwin0cheng/original-range-recursive
Add recursive macro support in `original_range`
2020-02-26 14:43:15 +01:00
Jeremy Kolb
74125d012e Enable SemanticTokens on the client
This will crash the extension on stable and insiders without the "--enable-proposed-api matklad.rust-analyzer" command line switch.
2020-02-26 08:42:26 -05:00
Aleksey Kladov
9b11c183ed
Merge pull request #3320 from matklad/no-dep
Remove unnecessary dep
2020-02-26 14:34:46 +01:00
Aleksey Kladov
1f1bda2c5a Remove unnecessary dep 2020-02-26 14:21:23 +01:00
Edwin Cheng
871dc2bd3c Remove duplicate comment 2020-02-26 20:55:11 +08:00
Edwin Cheng
ffdc740446 Add recursive support in original_range 2020-02-26 20:53:00 +08:00
Aleksey Kladov
80f8e474a0
Merge pull request #3318 from matklad/cleanup
Reduce visibility
2020-02-26 13:28:18 +01:00
Aleksey Kladov
ade0176c20 Remove dead code 2020-02-26 13:26:53 +01:00
Aleksey Kladov
09bc7ca74d Reduce visibility 2020-02-26 13:22:46 +01:00
Aleksey Kladov
5c64ad27e0
Merge pull request #3222 from matklad/identity
Introduce Semantics API
2020-02-26 13:04:22 +01:00
Aleksey Kladov
c3a4c4429d Refactor primary IDE API
This introduces the new type -- Semantics.
Semantics maps SyntaxNodes to various semantic info, such as type,
name resolution or macro expansions.

To do so, Semantics maintains a HashMap which maps every node it saw
to the file from which the node originated. This is enough to get all
the necessary hir bits just from syntax.
2020-02-26 12:55:50 +01:00
Aleksey Kladov
04deae3dba
Merge pull request #3317 from matklad/no-unicase
Actually drop unicase dependency
2020-02-26 12:00:33 +01:00
Aleksey Kladov
21fa338bd6
Merge pull request #3316 from matklad/dedup
Remove code duplication in tests
2020-02-26 11:59:59 +01:00
Aleksey Kladov
8046622871 Actually drop unicase dependency 2020-02-26 11:38:33 +01:00
Aleksey Kladov
52fd19621c Remove code duplication in tests 2020-02-26 11:25:07 +01:00
adamrk
b1ee6d17a4 get matches from code.descendants 2020-02-25 23:53:29 +01:00
adamrk
94603d9848 save comments as ra_syntax::ast::Comment 2020-02-25 23:35:16 +01:00
Veetaha
655c8337c0 vscode: fix vscode-vim keybindings conflict
vscode-vim extension overrides the `type` command so that it prevents
some keypresses to reach the text document editor.
It conflicts with our `onEnter` keybinding
that is used to support automatic doc comments extending and
indentation insertion.

The VSCode-native way to implement this would be
to use regular expressions, but as per matklad it is
considered not acceptable for the language server.

Thus we implement it via a `Enter` keybinding that
invokes our `onEnter` command which sends
a request to rust-analyzer process and applies
the appropriate source change recieved from it.

At the end of the day we may only apply
ad hoc workarounds for conflicting extensions.
But vscode has another bug for that. You
either cannot use parantheses in `when` condition
of a keybinding or it just malfunctions.

See an issue about that here: https://github.com/microsoft/vscode/issues/91473
To get the ultimate context, follow this zulip thread: https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/Enhanced.20typing
2020-02-25 23:20:07 +02:00