Skip to content

Commit d60977b

Browse files
committed
refactor(langserver): move TextDocument from langserver to core package, some other simple refactorings
1 parent 4f4ad31 commit d60977b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+98
-100
lines changed
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
from __future__ import annotations
2-
31
import collections
42
import inspect
53
import io
@@ -17,6 +15,8 @@
1715
cast,
1816
)
1917

18+
from typing_extensions import Self
19+
2020
from robotcode.core.event import event
2121
from robotcode.core.lsp.types import DocumentUri, Position, Range
2222
from robotcode.core.uri import Uri
@@ -244,7 +244,7 @@ def __get_cache_reference(self, entry: Callable[..., Any], /, *, add_remove: boo
244244

245245
return weakref.ref(entry, self.__remove_cache_entry if add_remove else None)
246246

247-
def get_cache_value(self, entry: Callable[[TextDocument], _T]) -> Optional[_T]:
247+
def get_cache_value(self, entry: Callable[[Self], _T]) -> Optional[_T]:
248248
reference = self.__get_cache_reference(entry)
249249

250250
e = self._cache.get(reference, None)
@@ -255,7 +255,7 @@ def get_cache_value(self, entry: Callable[[TextDocument], _T]) -> Optional[_T]:
255255

256256
def get_cache(
257257
self,
258-
entry: Union[Callable[[TextDocument], _T], Callable[..., _T]],
258+
entry: Union[Callable[[Self], _T], Callable[..., _T]],
259259
*args: Any,
260260
**kwargs: Any,
261261
) -> _T:
@@ -270,7 +270,7 @@ def get_cache(
270270

271271
return cast(_T, e.data)
272272

273-
def remove_cache_entry(self, entry: Union[Callable[[TextDocument], _T], Callable[..., _T]]) -> None:
273+
def remove_cache_entry(self, entry: Union[Callable[[Self], _T], Callable[..., _T]]) -> None:
274274
self.__remove_cache_entry(self.__get_cache_reference(entry, add_remove=False))
275275

276276
def set_data(self, key: Any, data: Any) -> None:

packages/language_server/src/robotcode/language_server/common/decorators.py

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@
99
)
1010

1111
from robotcode.core.lsp.types import CodeActionKind
12-
13-
from .text_document import TextDocument
12+
from robotcode.core.text_document import TextDocument
1413

1514
_F = TypeVar("_F", bound=Callable[..., Any])
1615

@@ -25,6 +24,22 @@ def decorator(func: _F) -> _F:
2524
return decorator
2625

2726

27+
def language_id_filter(
28+
language_id_or_document: Union[str, TextDocument],
29+
) -> Callable[[Any], bool]:
30+
def filter(c: Any) -> bool:
31+
return not hasattr(c, LANGUAGE_ID_ATTR) or (
32+
(
33+
language_id_or_document.language_id
34+
if isinstance(language_id_or_document, TextDocument)
35+
else language_id_or_document
36+
)
37+
in getattr(c, LANGUAGE_ID_ATTR)
38+
)
39+
40+
return filter
41+
42+
2843
TRIGGER_CHARACTERS_ATTR = "__trigger_characters__"
2944

3045

@@ -91,22 +106,6 @@ class HasCodeActionKinds(Protocol):
91106
__code_action_kinds__: List[str]
92107

93108

94-
def language_id_filter(
95-
language_id_or_document: Union[str, TextDocument],
96-
) -> Callable[[Any], bool]:
97-
def filter(c: Any) -> bool:
98-
return not hasattr(c, LANGUAGE_ID_ATTR) or (
99-
(
100-
language_id_or_document.language_id
101-
if isinstance(language_id_or_document, TextDocument)
102-
else language_id_or_document
103-
)
104-
in getattr(c, LANGUAGE_ID_ATTR)
105-
)
106-
107-
return filter
108-
109-
110109
COMMAND_ID_ATTR = "__command_name__"
111110

112111

packages/language_server/src/robotcode/language_server/common/parts/code_action.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
ServerCapabilities,
1515
TextDocumentIdentifier,
1616
)
17+
from robotcode.core.text_document import TextDocument
1718
from robotcode.core.utils.logging import LoggingDescriptor
1819
from robotcode.jsonrpc2.protocol import rpc_method
1920
from robotcode.language_server.common.decorators import (
@@ -24,7 +25,6 @@
2425
from robotcode.language_server.common.parts.protocol_part import (
2526
LanguageServerProtocolPart,
2627
)
27-
from robotcode.language_server.common.text_document import TextDocument
2828

2929
if TYPE_CHECKING:
3030
from robotcode.language_server.common.protocol import LanguageServerProtocol

packages/language_server/src/robotcode/language_server/common/parts/code_lens.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@
1111
ServerCapabilities,
1212
TextDocumentIdentifier,
1313
)
14+
from robotcode.core.text_document import TextDocument
1415
from robotcode.core.utils.logging import LoggingDescriptor
1516
from robotcode.jsonrpc2.protocol import rpc_method
1617
from robotcode.language_server.common.decorators import language_id_filter
17-
from robotcode.language_server.common.text_document import TextDocument
1818

1919
from .protocol_part import LanguageServerProtocolPart
2020

packages/language_server/src/robotcode/language_server/common/parts/completion.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
TextDocumentIdentifier,
1919
TextEdit,
2020
)
21+
from robotcode.core.text_document import TextDocument
2122
from robotcode.core.utils.logging import LoggingDescriptor
2223
from robotcode.jsonrpc2.protocol import rpc_method
2324
from robotcode.language_server.common.decorators import (
@@ -30,7 +31,6 @@
3031
from robotcode.language_server.common.parts.protocol_part import (
3132
LanguageServerProtocolPart,
3233
)
33-
from robotcode.language_server.common.text_document import TextDocument
3434

3535
if TYPE_CHECKING:
3636
from robotcode.language_server.common.protocol import LanguageServerProtocol

packages/language_server/src/robotcode/language_server/common/parts/declaration.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@
1111
ServerCapabilities,
1212
TextDocumentIdentifier,
1313
)
14+
from robotcode.core.text_document import TextDocument
1415
from robotcode.core.utils.logging import LoggingDescriptor
1516
from robotcode.jsonrpc2.protocol import rpc_method
1617
from robotcode.language_server.common.decorators import language_id_filter
1718
from robotcode.language_server.common.parts.protocol_part import (
1819
LanguageServerProtocolPart,
1920
)
20-
from robotcode.language_server.common.text_document import TextDocument
2121

2222
if TYPE_CHECKING:
2323
from robotcode.language_server.common.protocol import LanguageServerProtocol

packages/language_server/src/robotcode/language_server/common/parts/definition.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@
1111
ServerCapabilities,
1212
TextDocumentIdentifier,
1313
)
14+
from robotcode.core.text_document import TextDocument
1415
from robotcode.core.utils.logging import LoggingDescriptor
1516
from robotcode.jsonrpc2.protocol import rpc_method
1617
from robotcode.language_server.common.decorators import language_id_filter
1718
from robotcode.language_server.common.parts.protocol_part import (
1819
LanguageServerProtocolPart,
1920
)
20-
from robotcode.language_server.common.text_document import TextDocument
2121

2222
if TYPE_CHECKING:
2323
from robotcode.language_server.common.protocol import LanguageServerProtocol

packages/language_server/src/robotcode/language_server/common/parts/diagnostics.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,14 @@
2626
WorkspaceDiagnosticParams,
2727
WorkspaceDiagnosticReport,
2828
)
29+
from robotcode.core.text_document import TextDocument
2930
from robotcode.core.uri import Uri
3031
from robotcode.core.utils.logging import LoggingDescriptor
3132
from robotcode.jsonrpc2.protocol import JsonRPCErrorException, rpc_method
3233
from robotcode.language_server.common.decorators import language_id_filter
3334
from robotcode.language_server.common.parts.protocol_part import (
3435
LanguageServerProtocolPart,
3536
)
36-
from robotcode.language_server.common.text_document import TextDocument
3737

3838
if TYPE_CHECKING:
3939
from robotcode.language_server.common.protocol import LanguageServerProtocol

packages/language_server/src/robotcode/language_server/common/parts/document_highlight.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@
1111
ServerCapabilities,
1212
TextDocumentIdentifier,
1313
)
14+
from robotcode.core.text_document import TextDocument
1415
from robotcode.core.utils.logging import LoggingDescriptor
1516
from robotcode.jsonrpc2.protocol import rpc_method
1617
from robotcode.language_server.common.decorators import language_id_filter
1718
from robotcode.language_server.common.parts.protocol_part import (
1819
LanguageServerProtocolPart,
1920
)
20-
from robotcode.language_server.common.text_document import TextDocument
2121

2222
if TYPE_CHECKING:
2323
from robotcode.language_server.common.protocol import LanguageServerProtocol

packages/language_server/src/robotcode/language_server/common/parts/document_symbols.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,13 @@
2525
SymbolInformation,
2626
TextDocumentIdentifier,
2727
)
28+
from robotcode.core.text_document import TextDocument
2829
from robotcode.core.utils.logging import LoggingDescriptor
2930
from robotcode.jsonrpc2.protocol import rpc_method
3031
from robotcode.language_server.common.decorators import language_id_filter
3132
from robotcode.language_server.common.parts.protocol_part import (
3233
LanguageServerProtocolPart,
3334
)
34-
from robotcode.language_server.common.text_document import TextDocument
3535

3636
if TYPE_CHECKING:
3737
from robotcode.language_server.common.protocol import LanguageServerProtocol

0 commit comments

Comments
 (0)