Skip to content

Commit 4bea3bf

Browse files
committed
fix: update hover
1 parent 1d26c7b commit 4bea3bf

File tree

1 file changed

+7
-22
lines changed
  • src/lsp_client/capability/request

1 file changed

+7
-22
lines changed

src/lsp_client/capability/request/hover.py

Lines changed: 7 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ async def request_hover(
6969
if hover is None:
7070
return None
7171

72-
def to_block(item: object) -> str:
72+
def to_block(item: str | lsp_type.MarkedStringWithLanguage) -> str:
7373
match item:
7474
case lsp_type.MarkedStringWithLanguage(
7575
language=str() as lang, value=str() as val
@@ -78,33 +78,18 @@ def to_block(item: object) -> str:
7878
case str() as s:
7979
return f"```plaintext\n{s}\n```"
8080
case _:
81-
return f"```plaintext\n{item!s}\n```"
81+
raise ValueError(f"Unsupported hover content type: {item!r}")
8282

83-
match contents := hover.contents:
83+
match hover.contents:
8484
case lsp_type.MarkupContent() as mc:
8585
return mc
86-
case lsp_type.MarkedStringWithLanguage():
86+
case lsp_type.MarkedStringWithLanguage() | str() as content:
8787
return lsp_type.MarkupContent(
8888
kind=lsp_type.MarkupKind.Markdown,
89-
value=to_block(contents),
89+
value=to_block(content),
9090
)
91-
case str():
91+
case contents:
9292
return lsp_type.MarkupContent(
9393
kind=lsp_type.MarkupKind.Markdown,
94-
value=to_block(contents),
95-
)
96-
case list() as items:
97-
return lsp_type.MarkupContent(
98-
kind=lsp_type.MarkupKind.Markdown,
99-
value="\n\n".join(to_block(i) for i in items),
100-
)
101-
case tuple() as items:
102-
return lsp_type.MarkupContent(
103-
kind=lsp_type.MarkupKind.Markdown,
104-
value="\n\n".join(to_block(i) for i in items),
105-
)
106-
case _:
107-
return lsp_type.MarkupContent(
108-
kind=lsp_type.MarkupKind.Markdown,
109-
value=to_block(contents),
94+
value="\n\n".join(to_block(content) for content in contents),
11095
)

0 commit comments

Comments
 (0)