Skip to content

Commit aa41b1c

Browse files
committed
feat(deno): complete custom capabilities and support experimental api
1 parent e8cbb19 commit aa41b1c

File tree

6 files changed

+395
-6
lines changed

6 files changed

+395
-6
lines changed

src/lsp_client/capability/build.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
from typing import Any
44

55
from lsp_client.protocol import (
6+
ExperimentalCapabilityProtocol,
67
GeneralCapabilityProtocol,
78
NotebookCapabilityProtocol,
89
ServerRequestHookProtocol,
@@ -22,6 +23,7 @@ def build_client_capabilities(cls: type) -> lsp_type.ClientCapabilities:
2223
)
2324
window = lsp_type.WindowClientCapabilities()
2425
general = lsp_type.GeneralClientCapabilities()
26+
experimental: dict[str, Any] = {}
2527

2628
if issubclass(cls, WorkspaceCapabilityProtocol):
2729
cls.register_workspace_capability(workspace)
@@ -33,13 +35,16 @@ def build_client_capabilities(cls: type) -> lsp_type.ClientCapabilities:
3335
cls.register_window_capability(window)
3436
if issubclass(cls, GeneralCapabilityProtocol):
3537
cls.register_general_capability(general)
38+
if issubclass(cls, ExperimentalCapabilityProtocol):
39+
cls.register_experimental_capability(experimental)
3640

3741
return lsp_type.ClientCapabilities(
3842
workspace=workspace,
3943
text_document=text_document,
4044
notebook_document=notebook_document,
4145
window=window,
4246
general=general,
47+
experimental=experimental if experimental else None,
4348
)
4449

4550

src/lsp_client/clients/deno/client.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,20 @@
2828
from lsp_client.server.local import LocalServer
2929
from lsp_client.utils.types import lsp_type
3030

31+
from .extension import (
32+
WithReceiveDenoRegistryStatus,
33+
WithReceiveDenoTestModule,
34+
WithReceiveDenoTestModuleDelete,
35+
WithReceiveDenoTestRunProgress,
36+
WithRequestDenoCache,
37+
WithRequestDenoPerformance,
38+
WithRequestDenoReloadImportRegistries,
39+
WithRequestDenoTask,
40+
WithRequestDenoTestRun,
41+
WithRequestDenoTestRunCancel,
42+
WithRequestDenoVirtualTextDocument,
43+
)
44+
3145
DenoLocalServer = partial(LocalServer, command=["deno", "lsp"])
3246
DenoDockerServer = partial(DockerServer, image="lspcontainers/denols:2.4.2")
3347

@@ -45,6 +59,17 @@ class DenoClient(
4559
WithRequestWorkspaceSymbol,
4660
WithReceiveLogMessage,
4761
WithReceivePublishDiagnostics,
62+
WithRequestDenoCache,
63+
WithRequestDenoPerformance,
64+
WithRequestDenoReloadImportRegistries,
65+
WithRequestDenoVirtualTextDocument,
66+
WithRequestDenoTask,
67+
WithRequestDenoTestRun,
68+
WithRequestDenoTestRunCancel,
69+
WithReceiveDenoRegistryStatus,
70+
WithReceiveDenoTestModule,
71+
WithReceiveDenoTestModuleDelete,
72+
WithReceiveDenoTestRunProgress,
4873
):
4974
"""
5075
- Language: TypeScript, JavaScript

0 commit comments

Comments
 (0)