Jake Heinz
19b1d505db
match style
2021-08-04 06:14:58 +00:00
Jake Heinz
44726b6ca3
fix + update expects
2021-08-04 06:12:41 +00:00
Jake
e01ff775ae
Apply suggestions from code review
...
Co-authored-by: Lukas Wirth <lukastw97@gmail.com >
2021-08-03 23:07:46 -07:00
Jake
28b6a30752
Update crates/ide/src/syntax_highlighting/highlight.rs
...
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com >
2021-08-03 09:54:27 -07:00
Jake Heinz
0eb1afdcb7
update expects
2021-07-31 06:08:05 +00:00
Jake Heinz
0f434b8620
move to else f
2021-07-31 04:50:19 +00:00
Jake Heinz
2baef17bb1
semantic highlighting: add reference hlmod
2021-07-31 04:42:47 +00:00
bors[bot]
33f12a3608
Merge #9732
...
9732: feat: gate custom clint-side commands behind capabilities r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com >
2021-07-30 16:27:10 +00:00
Aleksey Kladov
be84f85c1d
feat: gate custom clint-side commands behind capabilities
...
Some features of rust-analyzer requires support for custom commands on
the client side. Specifically, hover & code lens need this.
Stock LSP doesn't have a way for the server to know which client-side
commands are available. For that reason, we historically were just
sending the commands, not worrying whether the client supports then or
not.
That's not really great though, so in this PR we add infrastructure for
the client to explicitly opt-into custom commands, via `extensions`
field of the ClientCapabilities.
To preserve backwards compatability, if the client doesn't set the
field, we assume that it does support all custom commands. In the
future, we'll start treating that case as if the client doesn't support
commands.
So, if you maintain a rust-analyzer client and implement
`rust-analyzer/runSingle` and such, please also advertise this via a
capability.
2021-07-30 19:16:33 +03:00
bors[bot]
1f817833e7
Merge #9727
...
9727: internal: Simplify extract_function assist r=Veykril a=Veykril
also fixes #7839(blocked on #9728 )
Co-authored-by: Lukas Wirth <lukastw97@gmail.com >
2021-07-30 14:56:50 +00:00
Lukas Wirth
3e351cc0ba
Add trailing comma when extracting match arm expressions into functions
2021-07-30 16:48:13 +02:00
bors[bot]
4cc961007f
Merge #9731
...
9731: feat: Add `replace_char_with_string` assist r=Veykril a=Veykril
Adds the counterpart for the `replace_string_with_char` assist and fixes the assist not escaping the `'` in the string `"'"` when transforming that to a char.
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com >
2021-07-30 14:47:38 +00:00
Lukas Wirth
17a47a830b
Add replace_char_with_string assist
2021-07-30 16:46:06 +02:00
bors[bot]
0a3ac7a96c
Merge #9728
...
9728: fix: Attach comma token to MATCH_ARM instead of MATCH_ARM_LIST r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com >
2021-07-30 14:11:37 +00:00
Lukas Wirth
82c1e61887
Fix assists assuming comma belonging to MATCH_ARM_LIST
2021-07-30 16:01:26 +02:00
Lukas Wirth
f04cff102f
Simplify
2021-07-30 13:12:52 +02:00
Lukas Wirth
836784f02b
Fix move_item test fixture indentations
2021-07-30 13:03:28 +02:00
Lukas Wirth
4de447b293
Attach comma token to MATCH_ARM instead of MATCH_ARM_LIST
2021-07-29 23:02:52 +02:00
Lukas Wirth
322513b06c
Reorder definitions in extract_function
2021-07-29 22:10:40 +02:00
Lukas Wirth
b21f66fce3
Simplify extract_function assist
2021-07-29 22:07:56 +02:00
bors[bot]
8232804d3e
Merge #9706
...
9706: minor: perf and grammar fixes r=lnicola a=lnicola
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro >
2021-07-29 16:14:10 +00:00
Lukas Wirth
b537cb186e
Use more strictly typed syntax nodes for analysis in extract_function assist
2021-07-29 17:26:37 +02:00
Lukas Wirth
2b461c50d7
Refine extraction targets of extract_function assist
2021-07-29 15:45:05 +02:00
bors[bot]
8d3b294ef7
Merge #9719
...
9719: feat: Make flyimport respect `#[doc(hidden)]` r=jonas-schievink a=jonas-schievink
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/7718 (we still don't respect `#[doc(hidden)]` on reexports, but that is tracked by https://github.com/rust-analyzer/rust-analyzer/issues/9197 )
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com >
2021-07-28 17:31:17 +00:00
Jonas Schievink
8764cc955f
Make flyimport respect #[doc(hidden)]
2021-07-28 19:22:59 +02:00
Josh Kuhn
9f5f4c342a
Bump notify to 5.0.0-pre.11
2021-07-28 10:09:58 -07:00
Jonas Schievink
18f86baa62
Stop reexporting hir_def's ItemInNs from HIR
2021-07-28 17:39:04 +02:00
Jonas Schievink
0fbf396f0d
Make most completions respect #[doc(hidden)]
2021-07-28 15:59:02 +02:00
bors[bot]
33dcc895c1
Merge #9700
...
9700: fix: Remove the legacy macro scoping hack r=matklad a=jonas-schievink
This stops prepending `self::` to single-ident macro paths, resolving even legacy-scoped macros using the fixed-point algorithm. This is not correct, but a lot easier than fixing this properly (which involves pushing a new scope for every macro definition and invocation).
This allows resolution of macros from the prelude, fixing https://github.com/rust-analyzer/rust-analyzer/issues/9687 .
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com >
2021-07-28 12:07:25 +00:00
bors[bot]
068ede0991
Merge #9693
...
9693: feat: Add the Hover Range capability which enables showing the type of an expression r=matklad a=alexfertel
Closes https://github.com/rust-analyzer/rust-analyzer/issues/389
This PR extends the `textDocument/hover` method to allow getting the type of an expression. It looks like this:

Edit: One thing I noticed is that when hovering a selection that includes a macro it doesn't work, so maybe this would need a follow-up issue discussing what problem that may have.
(PS: What a great project! I am learning a lot! 🚀 )
Co-authored-by: Alexander Gonzalez <alexfertel97@gmail.com >
Co-authored-by: Alexander González <alexfertel97@gmail.com >
2021-07-28 11:21:33 +00:00
Alexander González
4d3a0529d5
fix: Revert removing [] from the hover gif
2021-07-28 06:58:19 -04:00
Laurențiu Nicola
636933153d
Small grammar fix
2021-07-28 12:40:21 +03:00
Aleksey Kladov
ea9f6920fb
minor: simplify
2021-07-28 12:35:21 +03:00
Alexander Gonzalez
04e3869adb
refactor: Reuse the from_proto call in handle_hover
2021-07-27 18:31:21 -04:00
Alexander Gonzalez
5b30d9c4a9
feat: Add the Hover Range server capability
2021-07-27 18:31:21 -04:00
Alexander Gonzalez
e57ad5456c
fix: Typos
2021-07-27 18:31:21 -04:00
Alexander Gonzalez
41943f2328
refactor: Apply PR suggestions
2021-07-27 18:31:21 -04:00
Alexander Gonzalez
743c037a34
chore: Remove unnecessary println! call
2021-07-27 18:31:21 -04:00
Alexander Gonzalez
506db1852c
test: Add tests for when hovering fails
2021-07-27 18:29:22 -04:00
Alexander Gonzalez
48f43df7d6
docs: Improve the comments in crates/ide/src/hover.rs
2021-07-27 18:29:22 -04:00
Alexander Gonzalez
6310786ca5
test: Add hover_range tests
2021-07-27 18:29:22 -04:00
Alexander Gonzalez
1a0a5da1a4
refactor: Make handle_hover handle ranges too
2021-07-27 18:29:22 -04:00
Alexander Gonzalez
79860808cb
chore: Remove unnecessary log
2021-07-27 18:29:22 -04:00
Alexander Gonzalez
18644720eb
feat: Completed the client side implementation of rust-analyzer/hoverRange
2021-07-27 18:29:22 -04:00
Alexander Gonzalez
8ca3bb8fcd
feat: Add the hover_range capability
2021-07-27 18:29:22 -04:00
Alexander Gonzalez
20c64cc0e6
feat: Extend the server with the hover_range capability
2021-07-27 18:29:22 -04:00
Laurențiu Nicola
ea0014c500
Remove some redundant clones
2021-07-27 21:32:55 +03:00
bors[bot]
6a2a0b7abb
Merge #9710
...
9710: fix: Don't qualify self as crate in add_missing_impl_members assist r=Veykril a=Veykril
Fixes #7499
Co-authored-by: Lukas Wirth <lukastw97@gmail.com >
2021-07-27 17:30:37 +00:00
Lukas Wirth
456f5c6d09
Don't qualify self as crate in add_missing_impl_members assist
2021-07-27 19:29:47 +02:00
Aleksey Kladov
7d6c4142b2
fix: add capability for "open cargo.toml" lsp extension
2021-07-27 19:40:19 +03:00