robotcode-language-server 0.89.0__tar.gz → 0.90.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/PKG-INFO +4 -4
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/pyproject.toml +3 -3
- robotcode_language_server-0.90.0/src/robotcode/language_server/__version__.py +1 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/robotframework/parts/completion.py +28 -7
- robotcode_language_server-0.90.0/src/robotcode/language_server/robotframework/parts/project_info.py +54 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/robotframework/protocol.py +2 -0
- robotcode_language_server-0.89.0/src/robotcode/language_server/__version__.py +0 -1
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/.gitignore +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/LICENSE.txt +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/README.md +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/__init__.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/cli.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/common/__init__.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/common/decorators.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/common/parts/__init__.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/common/parts/code_action.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/common/parts/code_lens.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/common/parts/commands.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/common/parts/completion.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/common/parts/declaration.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/common/parts/definition.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/common/parts/diagnostics.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/common/parts/document_highlight.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/common/parts/document_symbols.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/common/parts/documents.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/common/parts/folding_range.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/common/parts/formatting.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/common/parts/hover.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/common/parts/implementation.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/common/parts/inlay_hint.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/common/parts/inline_value.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/common/parts/linked_editing_ranges.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/common/parts/protocol_part.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/common/parts/references.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/common/parts/rename.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/common/parts/selection_range.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/common/parts/semantic_tokens.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/common/parts/signature_help.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/common/parts/window.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/common/parts/workspace.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/common/protocol.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/common/server.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/hooks.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/py.typed +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/robotframework/__init__.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/robotframework/configuration.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/robotframework/parts/__init__.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/robotframework/parts/code_action_documentation.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/robotframework/parts/code_action_helper_mixin.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/robotframework/parts/code_action_quick_fixes.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/robotframework/parts/code_action_refactor.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/robotframework/parts/code_lens.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/robotframework/parts/debugging_utils.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/robotframework/parts/diagnostics.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/robotframework/parts/document_highlight.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/robotframework/parts/document_symbols.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/robotframework/parts/documents_cache.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/robotframework/parts/folding_range.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/robotframework/parts/formatting.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/robotframework/parts/goto.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/robotframework/parts/hover.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/robotframework/parts/http_server.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/robotframework/parts/inlay_hint.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/robotframework/parts/inline_value.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/robotframework/parts/keywords_treeview.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/robotframework/parts/protocol_part.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/robotframework/parts/references.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/robotframework/parts/rename.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/robotframework/parts/robocop_diagnostics.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/robotframework/parts/robot_workspace.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/robotframework/parts/selection_range.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/robotframework/parts/semantic_tokens.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/robotframework/parts/signature_help.py +0 -0
- {robotcode_language_server-0.89.0 → robotcode_language_server-0.90.0}/src/robotcode/language_server/robotframework/server.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: robotcode-language-server
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.90.0
|
|
4
4
|
Summary: RobotCode Language Server for Robot Framework
|
|
5
5
|
Project-URL: Homepage, https://robotcode.io
|
|
6
6
|
Project-URL: Donate, https://opencollective.com/robotcode
|
|
@@ -25,9 +25,9 @@ Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
|
25
25
|
Classifier: Topic :: Utilities
|
|
26
26
|
Classifier: Typing :: Typed
|
|
27
27
|
Requires-Python: >=3.8
|
|
28
|
-
Requires-Dist: robotcode-jsonrpc2==0.
|
|
29
|
-
Requires-Dist: robotcode-robot==0.
|
|
30
|
-
Requires-Dist: robotcode==0.
|
|
28
|
+
Requires-Dist: robotcode-jsonrpc2==0.90.0
|
|
29
|
+
Requires-Dist: robotcode-robot==0.90.0
|
|
30
|
+
Requires-Dist: robotcode==0.90.0
|
|
31
31
|
Requires-Dist: robotframework>=4.1.0
|
|
32
32
|
Description-Content-Type: text/markdown
|
|
33
33
|
|
|
@@ -27,9 +27,9 @@ classifiers = [
|
|
|
27
27
|
]
|
|
28
28
|
dependencies = [
|
|
29
29
|
"robotframework>=4.1.0",
|
|
30
|
-
"robotcode-jsonrpc2==0.
|
|
31
|
-
"robotcode-robot==0.
|
|
32
|
-
"robotcode==0.
|
|
30
|
+
"robotcode-jsonrpc2==0.90.0",
|
|
31
|
+
"robotcode-robot==0.90.0",
|
|
32
|
+
"robotcode==0.90.0",
|
|
33
33
|
]
|
|
34
34
|
dynamic = ["version"]
|
|
35
35
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.90.0"
|
|
@@ -101,6 +101,23 @@ else:
|
|
|
101
101
|
from robot.variables.search import VariableMatches
|
|
102
102
|
|
|
103
103
|
|
|
104
|
+
if get_robot_version() < (5, 0):
|
|
105
|
+
ALLOWED_VARIABLE_TOKENS = [
|
|
106
|
+
Token.NAME,
|
|
107
|
+
Token.ARGUMENT,
|
|
108
|
+
Token.KEYWORD,
|
|
109
|
+
Token.ASSIGN,
|
|
110
|
+
]
|
|
111
|
+
else:
|
|
112
|
+
ALLOWED_VARIABLE_TOKENS = [
|
|
113
|
+
Token.NAME,
|
|
114
|
+
Token.ARGUMENT,
|
|
115
|
+
Token.KEYWORD,
|
|
116
|
+
Token.ASSIGN,
|
|
117
|
+
Token.OPTION,
|
|
118
|
+
]
|
|
119
|
+
|
|
120
|
+
|
|
104
121
|
DEFAULT_HEADER_STYLE = "*** {name}s ***"
|
|
105
122
|
DEFAULT_HEADER_STYLE_51 = "*** {name} ***"
|
|
106
123
|
|
|
@@ -1141,12 +1158,7 @@ class CompletionCollector(ModelHelper):
|
|
|
1141
1158
|
break
|
|
1142
1159
|
token_at_position = tokens_at_position[token_at_position_index]
|
|
1143
1160
|
|
|
1144
|
-
if token_at_position.type not in
|
|
1145
|
-
Token.NAME,
|
|
1146
|
-
Token.ARGUMENT,
|
|
1147
|
-
Token.KEYWORD,
|
|
1148
|
-
Token.ASSIGN,
|
|
1149
|
-
]:
|
|
1161
|
+
if token_at_position.type not in ALLOWED_VARIABLE_TOKENS:
|
|
1150
1162
|
return None
|
|
1151
1163
|
|
|
1152
1164
|
close_brace_index_before = token_at_position.value.rfind(
|
|
@@ -2115,7 +2127,16 @@ class CompletionCollector(ModelHelper):
|
|
|
2115
2127
|
keyword_doc_and_token: Optional[Tuple[Optional[KeywordDoc], Token]] = None
|
|
2116
2128
|
|
|
2117
2129
|
keyword_token = kw_node.get_token(keyword_name_token_type)
|
|
2118
|
-
if keyword_token is None or position
|
|
2130
|
+
if keyword_token is None or position <= range_from_token(keyword_token).end:
|
|
2131
|
+
return None
|
|
2132
|
+
|
|
2133
|
+
if (
|
|
2134
|
+
position == range_from_token(token_at_position).start
|
|
2135
|
+
and len(tokens_at_position) >= 3
|
|
2136
|
+
and tokens_at_position[-2].type == Token.ARGUMENT
|
|
2137
|
+
and not tokens_at_position[-2].value
|
|
2138
|
+
and tokens_at_position[-3].type == Token.CONTINUATION
|
|
2139
|
+
):
|
|
2119
2140
|
return None
|
|
2120
2141
|
|
|
2121
2142
|
keyword_doc_and_token = self.get_keyworddoc_and_token_from_position(
|
robotcode_language_server-0.90.0/src/robotcode/language_server/robotframework/parts/project_info.py
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
from dataclasses import dataclass
|
|
2
|
+
from typing import TYPE_CHECKING, Any, Optional
|
|
3
|
+
|
|
4
|
+
from robot.version import get_version
|
|
5
|
+
|
|
6
|
+
from robotcode.core.utils.dataclasses import CamelSnakeMixin
|
|
7
|
+
from robotcode.core.utils.logging import LoggingDescriptor
|
|
8
|
+
from robotcode.jsonrpc2.protocol import rpc_method
|
|
9
|
+
|
|
10
|
+
from .formatting import robotidy_installed
|
|
11
|
+
from .protocol_part import RobotLanguageServerProtocolPart
|
|
12
|
+
from .robocop_diagnostics import robocop_installed
|
|
13
|
+
|
|
14
|
+
if TYPE_CHECKING:
|
|
15
|
+
from ..protocol import RobotLanguageServerProtocol
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
@dataclass(repr=False)
|
|
19
|
+
class ProjectInfo(CamelSnakeMixin):
|
|
20
|
+
robot_version_string: str
|
|
21
|
+
robocop_version_string: Optional[str]
|
|
22
|
+
tidy_version_string: Optional[str] = None
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class ProjectInfoPart(RobotLanguageServerProtocolPart):
|
|
26
|
+
_logger = LoggingDescriptor()
|
|
27
|
+
|
|
28
|
+
def __init__(self, parent: "RobotLanguageServerProtocol") -> None:
|
|
29
|
+
super().__init__(parent)
|
|
30
|
+
|
|
31
|
+
@rpc_method(name="robot/projectInfo", threaded=True)
|
|
32
|
+
@_logger.call
|
|
33
|
+
def _get_document_imports(
|
|
34
|
+
self,
|
|
35
|
+
*args: Any,
|
|
36
|
+
**kwargs: Any,
|
|
37
|
+
) -> ProjectInfo:
|
|
38
|
+
robocop_version_string = None
|
|
39
|
+
if robocop_installed():
|
|
40
|
+
from robocop.version import __version__
|
|
41
|
+
|
|
42
|
+
robocop_version_string = __version__
|
|
43
|
+
|
|
44
|
+
tidy_version_string = None
|
|
45
|
+
if robotidy_installed():
|
|
46
|
+
from robotidy.version import __version__
|
|
47
|
+
|
|
48
|
+
tidy_version_string = __version__
|
|
49
|
+
|
|
50
|
+
return ProjectInfo(
|
|
51
|
+
robot_version_string=get_version(),
|
|
52
|
+
robocop_version_string=robocop_version_string,
|
|
53
|
+
tidy_version_string=tidy_version_string,
|
|
54
|
+
)
|
|
@@ -43,6 +43,7 @@ from .parts.http_server import HttpServerProtocolPart
|
|
|
43
43
|
from .parts.inlay_hint import RobotInlayHintProtocolPart
|
|
44
44
|
from .parts.inline_value import RobotInlineValueProtocolPart
|
|
45
45
|
from .parts.keywords_treeview import RobotKeywordsTreeViewPart
|
|
46
|
+
from .parts.project_info import ProjectInfoPart
|
|
46
47
|
from .parts.references import RobotReferencesProtocolPart
|
|
47
48
|
from .parts.rename import RobotRenameProtocolPart
|
|
48
49
|
from .parts.robocop_diagnostics import RobotRoboCopDiagnosticsProtocolPart
|
|
@@ -116,6 +117,7 @@ class RobotLanguageServerProtocol(LanguageServerProtocol):
|
|
|
116
117
|
|
|
117
118
|
robot_debugging_utils = ProtocolPartDescriptor(RobotDebuggingUtilsProtocolPart)
|
|
118
119
|
robot_keywords_treeview = ProtocolPartDescriptor(RobotKeywordsTreeViewPart)
|
|
120
|
+
robot_project_info = ProtocolPartDescriptor(ProjectInfoPart)
|
|
119
121
|
|
|
120
122
|
http_server = ProtocolPartDescriptor(HttpServerProtocolPart)
|
|
121
123
|
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.89.0"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|