Skip to content

Commit f0ca9b1

Browse files
committed
fix: make get_language_config a classmethod
1 parent babfb11 commit f0ca9b1

File tree

2 files changed

+15
-5
lines changed

2 files changed

+15
-5
lines changed

src/lsp_client/clients/base.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@
1010

1111
class PythonClientBase(Client, ABC):
1212
@override
13-
def get_language_config(self) -> LanguageConfig:
13+
@classmethod
14+
def get_language_config(cls) -> LanguageConfig:
1415
return LanguageConfig(
1516
kind=lsp_type.LanguageKind.Python,
1617
suffixes=[".py", ".pyi"],
@@ -26,7 +27,8 @@ def get_language_config(self) -> LanguageConfig:
2627

2728
class RustClientBase(Client, ABC):
2829
@override
29-
def get_language_config(self) -> LanguageConfig:
30+
@classmethod
31+
def get_language_config(cls) -> LanguageConfig:
3032
return LanguageConfig(
3133
kind=lsp_type.LanguageKind.Rust,
3234
suffixes=[".rs"],
@@ -36,7 +38,8 @@ def get_language_config(self) -> LanguageConfig:
3638

3739
class GoClientBase(Client, ABC):
3840
@override
39-
def get_language_config(self) -> LanguageConfig:
41+
@classmethod
42+
def get_language_config(cls) -> LanguageConfig:
4043
return LanguageConfig(
4144
kind=lsp_type.LanguageKind.Go,
4245
suffixes=[".go"],
@@ -46,7 +49,8 @@ def get_language_config(self) -> LanguageConfig:
4649

4750
class TypeScriptClientBase(Client, ABC):
4851
@override
49-
def get_language_config(self) -> LanguageConfig:
52+
@classmethod
53+
def get_language_config(cls) -> LanguageConfig:
5054
return LanguageConfig(
5155
kind=lsp_type.LanguageKind.TypeScript,
5256
suffixes=[".ts", ".tsx", ".js", ".jsx", ".mjs", ".cjs"],

src/lsp_client/protocol/client.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
import anyio
1010

11+
from lsp_client.utils.config import ConfigurationMap
1112
from lsp_client.utils.types import AnyPath, Notification, Request, Response
1213
from lsp_client.utils.uri import from_local_uri
1314
from lsp_client.utils.workspace import DEFAULT_WORKSPACE_DIR, Workspace
@@ -27,7 +28,12 @@ def get_workspace(self) -> Workspace:
2728
"""The workspace folders of the client."""
2829

2930
@abstractmethod
30-
def get_language_config(self) -> LanguageConfig:
31+
def get_config_map(self) -> ConfigurationMap:
32+
"""Get the configuration map of the client."""
33+
34+
@classmethod
35+
@abstractmethod
36+
def get_language_config(cls) -> LanguageConfig:
3137
"""Get language-specific configuration for this client."""
3238

3339
@abstractmethod

0 commit comments

Comments
 (0)