robotcode-robot 1.3.0.dev4__tar.gz → 1.3.0.dev6__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_robot-1.3.0.dev4 → robotcode_robot-1.3.0.dev6}/PKG-INFO +2 -2
- {robotcode_robot-1.3.0.dev4 → robotcode_robot-1.3.0.dev6}/pyproject.toml +1 -1
- robotcode_robot-1.3.0.dev6/src/robotcode/robot/__version__.py +1 -0
- {robotcode_robot-1.3.0.dev4 → robotcode_robot-1.3.0.dev6}/src/robotcode/robot/diagnostics/entities.py +18 -2
- {robotcode_robot-1.3.0.dev4 → robotcode_robot-1.3.0.dev6}/src/robotcode/robot/diagnostics/keyword_finder.py +17 -1
- {robotcode_robot-1.3.0.dev4 → robotcode_robot-1.3.0.dev6}/src/robotcode/robot/diagnostics/library_doc.py +2 -2
- {robotcode_robot-1.3.0.dev4 → robotcode_robot-1.3.0.dev6}/src/robotcode/robot/diagnostics/namespace.py +225 -194
- {robotcode_robot-1.3.0.dev4 → robotcode_robot-1.3.0.dev6}/src/robotcode/robot/diagnostics/namespace_analyzer.py +173 -157
- {robotcode_robot-1.3.0.dev4 → robotcode_robot-1.3.0.dev6}/src/robotcode/robot/utils/ast.py +7 -5
- robotcode_robot-1.3.0.dev6/src/robotcode/robot/utils/variables.py +227 -0
- robotcode_robot-1.3.0.dev4/src/robotcode/robot/__version__.py +0 -1
- robotcode_robot-1.3.0.dev4/src/robotcode/robot/utils/variables.py +0 -152
- {robotcode_robot-1.3.0.dev4 → robotcode_robot-1.3.0.dev6}/.gitignore +0 -0
- {robotcode_robot-1.3.0.dev4 → robotcode_robot-1.3.0.dev6}/LICENSE.txt +0 -0
- {robotcode_robot-1.3.0.dev4 → robotcode_robot-1.3.0.dev6}/README.md +0 -0
- {robotcode_robot-1.3.0.dev4 → robotcode_robot-1.3.0.dev6}/src/robotcode/robot/__init__.py +0 -0
- {robotcode_robot-1.3.0.dev4 → robotcode_robot-1.3.0.dev6}/src/robotcode/robot/config/__init__.py +0 -0
- {robotcode_robot-1.3.0.dev4 → robotcode_robot-1.3.0.dev6}/src/robotcode/robot/config/loader.py +0 -0
- {robotcode_robot-1.3.0.dev4 → robotcode_robot-1.3.0.dev6}/src/robotcode/robot/config/model.py +0 -0
- {robotcode_robot-1.3.0.dev4 → robotcode_robot-1.3.0.dev6}/src/robotcode/robot/config/utils.py +0 -0
- {robotcode_robot-1.3.0.dev4 → robotcode_robot-1.3.0.dev6}/src/robotcode/robot/diagnostics/__init__.py +0 -0
- {robotcode_robot-1.3.0.dev4 → robotcode_robot-1.3.0.dev6}/src/robotcode/robot/diagnostics/data_cache.py +0 -0
- {robotcode_robot-1.3.0.dev4 → robotcode_robot-1.3.0.dev6}/src/robotcode/robot/diagnostics/diagnostics_modifier.py +0 -0
- {robotcode_robot-1.3.0.dev4 → robotcode_robot-1.3.0.dev6}/src/robotcode/robot/diagnostics/document_cache_helper.py +0 -0
- {robotcode_robot-1.3.0.dev4 → robotcode_robot-1.3.0.dev6}/src/robotcode/robot/diagnostics/errors.py +0 -0
- {robotcode_robot-1.3.0.dev4 → robotcode_robot-1.3.0.dev6}/src/robotcode/robot/diagnostics/imports_manager.py +0 -0
- {robotcode_robot-1.3.0.dev4 → robotcode_robot-1.3.0.dev6}/src/robotcode/robot/diagnostics/model_helper.py +0 -0
- {robotcode_robot-1.3.0.dev4 → robotcode_robot-1.3.0.dev6}/src/robotcode/robot/diagnostics/workspace_config.py +0 -0
- {robotcode_robot-1.3.0.dev4 → robotcode_robot-1.3.0.dev6}/src/robotcode/robot/py.typed +0 -0
- {robotcode_robot-1.3.0.dev4 → robotcode_robot-1.3.0.dev6}/src/robotcode/robot/utils/__init__.py +0 -0
- {robotcode_robot-1.3.0.dev4 → robotcode_robot-1.3.0.dev6}/src/robotcode/robot/utils/markdownformatter.py +0 -0
- {robotcode_robot-1.3.0.dev4 → robotcode_robot-1.3.0.dev6}/src/robotcode/robot/utils/match.py +0 -0
- {robotcode_robot-1.3.0.dev4 → robotcode_robot-1.3.0.dev6}/src/robotcode/robot/utils/robot_path.py +0 -0
- {robotcode_robot-1.3.0.dev4 → robotcode_robot-1.3.0.dev6}/src/robotcode/robot/utils/stubs.py +0 -0
- {robotcode_robot-1.3.0.dev4 → robotcode_robot-1.3.0.dev6}/src/robotcode/robot/utils/visitor.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: robotcode-robot
|
3
|
-
Version: 1.3.0.
|
3
|
+
Version: 1.3.0.dev6
|
4
4
|
Summary: Support classes for RobotCode for handling Robot Framework projects.
|
5
5
|
Project-URL: Homepage, https://robotcode.io
|
6
6
|
Project-URL: Donate, https://opencollective.com/robotcode
|
@@ -26,7 +26,7 @@ Classifier: Topic :: Utilities
|
|
26
26
|
Classifier: Typing :: Typed
|
27
27
|
Requires-Python: >=3.8
|
28
28
|
Requires-Dist: platformdirs<4.4.0,>=3.2.0
|
29
|
-
Requires-Dist: robotcode-core==1.3.0-dev.
|
29
|
+
Requires-Dist: robotcode-core==1.3.0-dev.6
|
30
30
|
Requires-Dist: robotframework>=4.1.0
|
31
31
|
Requires-Dist: tomli>=1.1.0; python_version < '3.11'
|
32
32
|
Description-Content-Type: text/markdown
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "1.3.0-dev.6"
|
@@ -19,7 +19,7 @@ from robot.parsing.lexer.tokens import Token
|
|
19
19
|
from robotcode.core.lsp.types import Position, Range
|
20
20
|
|
21
21
|
from ..utils.ast import range_from_token
|
22
|
-
from ..utils.variables import VariableMatcher
|
22
|
+
from ..utils.variables import VariableMatcher, search_variable
|
23
23
|
|
24
24
|
if TYPE_CHECKING:
|
25
25
|
from robotcode.robot.diagnostics.library_doc import KeywordDoc, LibraryDoc
|
@@ -187,10 +187,17 @@ class VariableDefinition(SourceEntity):
|
|
187
187
|
|
188
188
|
value: Any = field(default=None, compare=False)
|
189
189
|
value_is_native: bool = field(default=False, compare=False)
|
190
|
+
value_type: Optional[str] = field(default=None, compare=False)
|
190
191
|
|
191
192
|
@functools.cached_property
|
192
193
|
def matcher(self) -> VariableMatcher:
|
193
|
-
return
|
194
|
+
return search_variable(self.name)
|
195
|
+
|
196
|
+
@functools.cached_property
|
197
|
+
def convertable_name(self) -> str:
|
198
|
+
m = self.matcher
|
199
|
+
value_type = f": {self.value_type}" if self.value_type else ""
|
200
|
+
return f"{m.identifier}{{{m.base.strip()}{value_type}}}"
|
194
201
|
|
195
202
|
@single_call
|
196
203
|
def __hash__(self) -> int:
|
@@ -268,6 +275,15 @@ class ArgumentDefinition(LocalVariableDefinition):
|
|
268
275
|
return hash((type(self), self.name, self.type, self.range, self.source))
|
269
276
|
|
270
277
|
|
278
|
+
@dataclass
|
279
|
+
class EmbeddedArgumentDefinition(ArgumentDefinition):
|
280
|
+
pattern: Optional[str] = field(default=None, compare=False)
|
281
|
+
|
282
|
+
@single_call
|
283
|
+
def __hash__(self) -> int:
|
284
|
+
return hash((type(self), self.name, self.type, self.range, self.source))
|
285
|
+
|
286
|
+
|
271
287
|
@dataclass
|
272
288
|
class LibraryArgumentDefinition(ArgumentDefinition):
|
273
289
|
@single_call
|
@@ -87,9 +87,25 @@ class KeywordFinder:
|
|
87
87
|
try:
|
88
88
|
result = self._find_keyword(name, handle_bdd_style)
|
89
89
|
if result is None:
|
90
|
+
error_message = "No keyword with found."
|
91
|
+
|
92
|
+
if name and name.strip(": ").upper() == "FOR":
|
93
|
+
error_message = (
|
94
|
+
f"Support for the old FOR loop syntax has been removed. "
|
95
|
+
f"Replace '{name}' with 'FOR', end the loop with 'END', and "
|
96
|
+
f"remove escaping backslashes."
|
97
|
+
)
|
98
|
+
elif name and name == "\\":
|
99
|
+
error_message = (
|
100
|
+
"No keyword with name '\\' found. If it is used inside a for "
|
101
|
+
"loop, remove escaping backslashes and end the loop with 'END'."
|
102
|
+
)
|
103
|
+
else:
|
104
|
+
error_message = f"No keyword with name '{name}' found."
|
105
|
+
|
90
106
|
self.diagnostics.append(
|
91
107
|
DiagnosticsEntry(
|
92
|
-
|
108
|
+
error_message,
|
93
109
|
DiagnosticSeverity.ERROR,
|
94
110
|
Error.KEYWORD_NOT_FOUND,
|
95
111
|
)
|
@@ -67,7 +67,7 @@ from robotcode.core.utils.path import normalized_path
|
|
67
67
|
from ..utils import get_robot_version
|
68
68
|
from ..utils.ast import (
|
69
69
|
cached_isinstance,
|
70
|
-
|
70
|
+
get_first_variable_token,
|
71
71
|
range_from_token,
|
72
72
|
strip_variable_token,
|
73
73
|
)
|
@@ -2785,7 +2785,7 @@ def _get_argument_definitions_from_line(
|
|
2785
2785
|
|
2786
2786
|
for argument_token in (cast(RobotToken, e) for e in arguments):
|
2787
2787
|
try:
|
2788
|
-
argument =
|
2788
|
+
argument = get_first_variable_token(argument_token)
|
2789
2789
|
|
2790
2790
|
if argument is not None and argument.value != "@{}":
|
2791
2791
|
if argument.value not in args:
|