Skip to content

Commit f47dd62

Browse files
yshuiautozimu
authored andcommitted
Provide a sync version of textDocument_hover
In neovim, async functions provided by remote plugins can't return a value, render the result unusable.
1 parent 9416201 commit f47dd62

File tree

1 file changed

+16
-5
lines changed

1 file changed

+16
-5
lines changed

rplugin/python3/LanguageClient/LanguageClient.py

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -585,10 +585,8 @@ def workspace_didChangeConfiguration(self, settings: Dict, languageId: str) -> N
585585
def workspace_didChangeConfiguration_vim(self, args: List) -> None:
586586
self.workspace_didChangeConfiguration(settings=args[0])
587587

588-
@neovim.function("LanguageClient_textDocument_hover")
589-
@deco_args
590-
def textDocument_hover(self, uri: str, languageId: str,
591-
line: int, character: int, handle=True) -> Dict:
588+
def _textDocument_hover(self, uri: str, languageId: str,
589+
line: int, character: int) -> Dict:
592590
logger.info("Begin textDocument/hover")
593591

594592
self.textDocument_didChange()
@@ -603,6 +601,20 @@ def textDocument_hover(self, uri: str, languageId: str,
603601
}
604602
})
605603

604+
logger.info("End textDocument/hover")
605+
return result
606+
607+
@neovim.function("LanguageClient_textDocument_hoverSync", sync=True)
608+
@deco_args
609+
def textDocument_hoverSync(self, uri: str, languageId: str,
610+
line: int, character: int) -> Dict:
611+
return self._textDocument_hover(uri, languageId, line, character)
612+
613+
@neovim.function("LanguageClient_textDocument_hover")
614+
@deco_args
615+
def textDocument_hover(self, uri: str, languageId: str,
616+
line: int, character: int, handle=True) -> Dict:
617+
result = self._textDocument_hover(uri, languageId, line, character)
606618
if result is None or not handle:
607619
return result
608620

@@ -616,7 +628,6 @@ def textDocument_hover(self, uri: str, languageId: str,
616628
info = markedString_to_str(contents)
617629
echo(info)
618630

619-
logger.info("End textDocument/hover")
620631
return result
621632

622633
@neovim.function("LanguageClient_textDocument_definition")

0 commit comments

Comments
 (0)