Skip to content

Commit 03dae97

Browse files
committed
support ranger hover (for rust-analyzer now)
ref: rust-lang/rust-analyzer#9693
1 parent a039af4 commit 03dae97

File tree

2 files changed

+15
-4
lines changed

2 files changed

+15
-4
lines changed

core/handler/hover.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,16 @@ class Hover(Handler):
1010
name = "hover"
1111
method = "textDocument/hover"
1212

13-
def process_request(self, position, show_style) -> dict:
13+
def process_request(self, start, end, show_style) -> dict:
14+
lsp_server_name = self.file_action.get_match_lsp_servers("hover")[0].server_info['name']
1415
self.show_style = show_style
15-
return dict(position=position)
16+
17+
# rust-analyzer support range hover (not in LSP standard)
18+
if start == end or lsp_server_name != "rust-analyzer":
19+
return dict(position=start)
20+
else:
21+
range = {"start": start, "end": end}
22+
return dict(position=range)
1623

1724
def parse_hover_contents(self, contents, render_strings):
1825
if isinstance(contents, str):

lsp-bridge.el

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2071,11 +2071,15 @@ Off by default."
20712071

20722072
(defun lsp-bridge-show-documentation ()
20732073
(interactive)
2074-
(lsp-bridge-call-file-api "hover" (lsp-bridge--position) "buffer"))
2074+
(let* ((start (lsp-bridge--point-position (if (region-active-p) (region-beginning) (point))))
2075+
(end (lsp-bridge--point-position (if (region-active-p) (region-end) (point)))))
2076+
(lsp-bridge-call-file-api "hover" start end "show")))
20752077

20762078
(defun lsp-bridge-popup-documentation ()
20772079
(interactive)
2078-
(lsp-bridge-call-file-api "hover" (lsp-bridge--position) "popup"))
2080+
(let* ((start (lsp-bridge--point-position (if (region-active-p) (region-beginning) (point))))
2081+
(end (lsp-bridge--point-position (if (region-active-p) (region-end) (point)))))
2082+
(lsp-bridge-call-file-api "hover" start end "popup")))
20792083

20802084
(defun lsp-bridge-signature-help-fetch ()
20812085
(interactive)

0 commit comments

Comments
 (0)