robotcode-language-server 0.77.1__tar.gz → 0.78.1__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.
Files changed (73) hide show
  1. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/PKG-INFO +3 -3
  2. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/pyproject.toml +2 -2
  3. robotcode_language_server-0.78.1/src/robotcode/language_server/__version__.py +1 -0
  4. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/robotframework/parts/completion.py +4 -1
  5. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/robotframework/parts/hover.py +31 -16
  6. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/robotframework/parts/semantic_tokens.py +11 -9
  7. robotcode_language_server-0.77.1/src/robotcode/language_server/__version__.py +0 -1
  8. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/.gitignore +0 -0
  9. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/LICENSE.txt +0 -0
  10. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/README.md +0 -0
  11. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/__init__.py +0 -0
  12. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/cli.py +0 -0
  13. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/common/__init__.py +0 -0
  14. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/common/decorators.py +0 -0
  15. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/common/parts/__init__.py +0 -0
  16. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/common/parts/code_action.py +0 -0
  17. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/common/parts/code_lens.py +0 -0
  18. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/common/parts/commands.py +0 -0
  19. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/common/parts/completion.py +0 -0
  20. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/common/parts/declaration.py +0 -0
  21. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/common/parts/definition.py +0 -0
  22. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/common/parts/diagnostics.py +0 -0
  23. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/common/parts/document_highlight.py +0 -0
  24. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/common/parts/document_symbols.py +0 -0
  25. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/common/parts/documents.py +0 -0
  26. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/common/parts/folding_range.py +0 -0
  27. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/common/parts/formatting.py +0 -0
  28. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/common/parts/hover.py +0 -0
  29. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/common/parts/implementation.py +0 -0
  30. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/common/parts/inlay_hint.py +0 -0
  31. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/common/parts/inline_value.py +0 -0
  32. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/common/parts/linked_editing_ranges.py +0 -0
  33. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/common/parts/protocol_part.py +0 -0
  34. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/common/parts/references.py +0 -0
  35. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/common/parts/rename.py +0 -0
  36. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/common/parts/selection_range.py +0 -0
  37. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/common/parts/semantic_tokens.py +0 -0
  38. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/common/parts/signature_help.py +0 -0
  39. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/common/parts/window.py +0 -0
  40. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/common/parts/workspace.py +0 -0
  41. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/common/protocol.py +0 -0
  42. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/common/server.py +0 -0
  43. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/hooks.py +0 -0
  44. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/py.typed +0 -0
  45. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/robotframework/__init__.py +0 -0
  46. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/robotframework/configuration.py +0 -0
  47. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/robotframework/parts/__init__.py +0 -0
  48. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/robotframework/parts/code_action_documentation.py +0 -0
  49. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/robotframework/parts/code_action_helper_mixin.py +0 -0
  50. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/robotframework/parts/code_action_quick_fixes.py +0 -0
  51. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/robotframework/parts/code_action_refactor.py +0 -0
  52. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/robotframework/parts/code_lens.py +0 -0
  53. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/robotframework/parts/debugging_utils.py +0 -0
  54. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/robotframework/parts/diagnostics.py +0 -0
  55. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/robotframework/parts/document_highlight.py +0 -0
  56. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/robotframework/parts/document_symbols.py +0 -0
  57. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/robotframework/parts/documents_cache.py +0 -0
  58. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/robotframework/parts/folding_range.py +0 -0
  59. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/robotframework/parts/formatting.py +0 -0
  60. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/robotframework/parts/goto.py +0 -0
  61. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/robotframework/parts/http_server.py +0 -0
  62. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/robotframework/parts/inlay_hint.py +0 -0
  63. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/robotframework/parts/inline_value.py +0 -0
  64. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/robotframework/parts/keywords_treeview.py +0 -0
  65. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/robotframework/parts/protocol_part.py +0 -0
  66. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/robotframework/parts/references.py +0 -0
  67. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/robotframework/parts/rename.py +0 -0
  68. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/robotframework/parts/robocop_diagnostics.py +0 -0
  69. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/robotframework/parts/robot_workspace.py +0 -0
  70. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/robotframework/parts/selection_range.py +0 -0
  71. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/robotframework/parts/signature_help.py +0 -0
  72. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/robotframework/protocol.py +0 -0
  73. {robotcode_language_server-0.77.1 → robotcode_language_server-0.78.1}/src/robotcode/language_server/robotframework/server.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: robotcode-language-server
3
- Version: 0.77.1
3
+ Version: 0.78.1
4
4
  Summary: RobotCode Language Server for Robot Framework
5
5
  Project-URL: Homepage, https://robotcode.io
6
6
  Project-URL: Donate, https://github.com/sponsors/d-biehl
@@ -25,8 +25,8 @@ 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.77.1
29
- Requires-Dist: robotcode==0.77.1
28
+ Requires-Dist: robotcode-jsonrpc2==0.78.1
29
+ Requires-Dist: robotcode==0.78.1
30
30
  Requires-Dist: robotframework>=4.1.0
31
31
  Description-Content-Type: text/markdown
32
32
 
@@ -27,8 +27,8 @@ classifiers = [
27
27
  ]
28
28
  dependencies = [
29
29
  "robotframework>=4.1.0",
30
- "robotcode-jsonrpc2==0.77.1",
31
- "robotcode==0.77.1",
30
+ "robotcode-jsonrpc2==0.78.1",
31
+ "robotcode==0.78.1",
32
32
  ]
33
33
  dynamic = ["version"]
34
34
 
@@ -254,7 +254,8 @@ def get_reserved_keywords() -> List[str]:
254
254
  global __reserved_keywords
255
255
 
256
256
  if __reserved_keywords is None:
257
- __reserved_keywords = ["FOR", "END", "IF", "ELSE", "ELIF", "ELSE IF"]
257
+ __reserved_keywords = ["FOR", "END", "IF", "ELSE", "ELSE IF"]
258
+
258
259
  if get_robot_version() >= (5, 0):
259
260
  __reserved_keywords += [
260
261
  "TRY",
@@ -267,6 +268,8 @@ def get_reserved_keywords() -> List[str]:
267
268
  ]
268
269
  if get_robot_version() >= (7, 0):
269
270
  __reserved_keywords += ["VAR"]
271
+ else:
272
+ __reserved_keywords += ["ELIF"]
270
273
 
271
274
  __reserved_keywords = sorted(__reserved_keywords)
272
275
  return __reserved_keywords
@@ -27,6 +27,7 @@ from robotcode.core.lsp.types import (
27
27
  )
28
28
  from robotcode.core.text_document import TextDocument
29
29
  from robotcode.core.utils.logging import TRACE, LoggingDescriptor
30
+ from robotcode.robot.diagnostics.entities import VariableDefinitionType
30
31
  from robotcode.robot.diagnostics.model_helper import ModelHelper
31
32
  from robotcode.robot.utils.ast import (
32
33
  get_nodes_at_position,
@@ -117,29 +118,43 @@ class RobotHoverProtocolPart(RobotLanguageServerProtocolPart, ModelHelper):
117
118
  if found_range is not None:
118
119
  highlight_range = found_range
119
120
  if variable.has_value or variable.resolvable:
120
- try:
121
- value = reprlib.repr(
122
- namespace.imports_manager.resolve_variable(
123
- variable.name,
124
- str(document.uri.to_path().parent),
125
- namespace.get_resolvable_variables(nodes, position),
126
- )
127
- )
128
- except (
129
- asyncio.CancelledError,
130
- SystemExit,
131
- KeyboardInterrupt,
121
+ if (
122
+ variable.type == VariableDefinitionType.BUILTIN_VARIABLE
123
+ and variable.matcher.normalized_name == "empty"
132
124
  ):
133
- raise
134
- except BaseException:
135
- self._logger.exception("Error resolving variable: {e}", level=TRACE)
136
- value = ""
125
+ line = document.get_lines()[found_range.start.line]
126
+ prefix = line[found_range.start.character - 2 : found_range.start.character - 1]
127
+ if prefix == "$":
128
+ value = "''"
129
+ elif prefix == "&":
130
+ value = "{}"
131
+ elif prefix == "@":
132
+ value = "[]"
133
+ else:
134
+ try:
135
+ value = reprlib.repr(
136
+ namespace.imports_manager.resolve_variable(
137
+ variable.name,
138
+ str(document.uri.to_path().parent),
139
+ namespace.get_resolvable_variables(nodes, position),
140
+ )
141
+ )
142
+ except (
143
+ asyncio.CancelledError,
144
+ SystemExit,
145
+ KeyboardInterrupt,
146
+ ):
147
+ raise
148
+ except BaseException:
149
+ self._logger.exception("Error resolving variable: {e}", level=TRACE)
150
+ value = ""
137
151
  else:
138
152
  value = ""
139
153
  if text is None:
140
154
  text = ""
141
155
  if text:
142
156
  text += "\n"
157
+
143
158
  text += f"| ({variable.type.value}) | {variable.name} | {f' `{value}`' if value else ''} |"
144
159
 
145
160
  if text:
@@ -348,7 +348,7 @@ class RobotSemanticTokenProtocolPart(RobotLanguageServerProtocolPart):
348
348
  if isinstance(node, (Documentation, Metadata)):
349
349
  sem_mod = {SemanticTokenModifiers.DOCUMENTATION}
350
350
 
351
- if token.type == Token.VARIABLE:
351
+ if token.type in [Token.VARIABLE, Token.ASSIGN]:
352
352
  if is_variable(token.value, "$@&%"):
353
353
  if col_offset is None:
354
354
  col_offset = token.col_offset
@@ -403,13 +403,14 @@ class RobotSemanticTokenProtocolPart(RobotLanguageServerProtocolPart):
403
403
  col_offset = token.col_offset
404
404
 
405
405
  for g in cls.ESCAPE_REGEX.finditer(token.value):
406
- yield SemTokenInfo.from_token(
407
- token,
408
- sem_type if g.group("x") is None else RobotSemTokenTypes.ESCAPE,
409
- sem_mod,
410
- col_offset + g.start(),
411
- g.end() - g.start(),
412
- )
406
+ if g.group("x") is not None:
407
+ yield SemTokenInfo.from_token(
408
+ token,
409
+ sem_type if g.group("x") is None else RobotSemTokenTypes.ESCAPE,
410
+ sem_mod,
411
+ col_offset + g.start(),
412
+ g.end() - g.start(),
413
+ )
413
414
  elif token.type in [Token.KEYWORD, ROBOT_KEYWORD_INNER] or (
414
415
  token.type == Token.NAME and isinstance(node, (Fixture, Template, TestTemplate))
415
416
  ):
@@ -614,7 +615,8 @@ class RobotSemanticTokenProtocolPart(RobotLanguageServerProtocolPart):
614
615
  1,
615
616
  )
616
617
  else:
617
- yield SemTokenInfo.from_token(token, sem_type, sem_mod, col_offset, length)
618
+ if token.type != Token.ARGUMENT:
619
+ yield SemTokenInfo.from_token(token, sem_type, sem_mod, col_offset, length)
618
620
 
619
621
  def generate_sem_tokens(
620
622
  self,
@@ -1 +0,0 @@
1
- __version__ = "0.77.1"