robotcode-language-server 0.108.0__tar.gz → 0.109.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.
Files changed (76) hide show
  1. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/.gitignore +34 -0
  2. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/PKG-INFO +5 -5
  3. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/pyproject.toml +4 -4
  4. robotcode_language_server-0.109.0/src/robotcode/language_server/__version__.py +1 -0
  5. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/robotframework/parts/completion.py +42 -21
  6. robotcode_language_server-0.108.0/src/robotcode/language_server/__version__.py +0 -1
  7. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/LICENSE.txt +0 -0
  8. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/README.md +0 -0
  9. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/__init__.py +0 -0
  10. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/cli.py +0 -0
  11. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/common/__init__.py +0 -0
  12. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/common/decorators.py +0 -0
  13. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/common/parts/__init__.py +0 -0
  14. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/common/parts/code_action.py +0 -0
  15. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/common/parts/code_lens.py +0 -0
  16. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/common/parts/commands.py +0 -0
  17. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/common/parts/completion.py +0 -0
  18. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/common/parts/declaration.py +0 -0
  19. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/common/parts/definition.py +0 -0
  20. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/common/parts/diagnostics.py +0 -0
  21. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/common/parts/document_highlight.py +0 -0
  22. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/common/parts/document_symbols.py +0 -0
  23. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/common/parts/documents.py +0 -0
  24. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/common/parts/folding_range.py +0 -0
  25. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/common/parts/formatting.py +0 -0
  26. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/common/parts/hover.py +0 -0
  27. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/common/parts/implementation.py +0 -0
  28. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/common/parts/inlay_hint.py +0 -0
  29. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/common/parts/inline_value.py +0 -0
  30. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/common/parts/linked_editing_ranges.py +0 -0
  31. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/common/parts/protocol_part.py +0 -0
  32. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/common/parts/references.py +0 -0
  33. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/common/parts/rename.py +0 -0
  34. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/common/parts/selection_range.py +0 -0
  35. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/common/parts/semantic_tokens.py +0 -0
  36. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/common/parts/signature_help.py +0 -0
  37. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/common/parts/window.py +0 -0
  38. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/common/parts/workspace.py +0 -0
  39. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/common/parts/workspace_symbols.py +0 -0
  40. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/common/protocol.py +0 -0
  41. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/common/server.py +0 -0
  42. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/hooks.py +0 -0
  43. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/py.typed +0 -0
  44. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/robotframework/__init__.py +0 -0
  45. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/robotframework/configuration.py +0 -0
  46. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/robotframework/parts/__init__.py +0 -0
  47. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/robotframework/parts/code_action_documentation.py +0 -0
  48. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/robotframework/parts/code_action_helper_mixin.py +0 -0
  49. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/robotframework/parts/code_action_quick_fixes.py +0 -0
  50. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/robotframework/parts/code_action_refactor.py +0 -0
  51. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/robotframework/parts/code_lens.py +0 -0
  52. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/robotframework/parts/debugging_utils.py +0 -0
  53. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/robotframework/parts/diagnostics.py +0 -0
  54. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/robotframework/parts/document_highlight.py +0 -0
  55. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/robotframework/parts/document_symbols.py +0 -0
  56. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/robotframework/parts/documents_cache.py +0 -0
  57. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/robotframework/parts/folding_range.py +0 -0
  58. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/robotframework/parts/formatting.py +0 -0
  59. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/robotframework/parts/goto.py +0 -0
  60. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/robotframework/parts/hover.py +0 -0
  61. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/robotframework/parts/http_server.py +0 -0
  62. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/robotframework/parts/inlay_hint.py +0 -0
  63. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/robotframework/parts/inline_value.py +0 -0
  64. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/robotframework/parts/keywords_treeview.py +0 -0
  65. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/robotframework/parts/project_info.py +0 -0
  66. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/robotframework/parts/protocol_part.py +0 -0
  67. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/robotframework/parts/references.py +0 -0
  68. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/robotframework/parts/rename.py +0 -0
  69. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/robotframework/parts/robocop_diagnostics.py +0 -0
  70. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/robotframework/parts/robot_workspace.py +0 -0
  71. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/robotframework/parts/selection_range.py +0 -0
  72. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/robotframework/parts/semantic_tokens.py +0 -0
  73. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/robotframework/parts/signature_help.py +0 -0
  74. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/robotframework/parts/workspace_symbols.py +0 -0
  75. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/robotframework/protocol.py +0 -0
  76. {robotcode_language_server-0.108.0 → robotcode_language_server-0.109.0}/src/robotcode/language_server/robotframework/server.py +0 -0
@@ -1,3 +1,37 @@
1
+ # Created by https://www.toptal.com/developers/gitignore/api/macos
2
+ # Edit at https://www.toptal.com/developers/gitignore?templates=macos
3
+
4
+ ### macOS ###
5
+ # General
6
+ .DS_Store
7
+ .AppleDouble
8
+ .LSOverride
9
+
10
+ # Thumbnails
11
+ ._*
12
+
13
+ # Files that might appear in the root of a volume
14
+ .DocumentRevisions-V100
15
+ .fseventsd
16
+ .Spotlight-V100
17
+ .TemporaryItems
18
+ .Trashes
19
+ .VolumeIcon.icns
20
+ .com.apple.timemachine.donotpresent
21
+
22
+ # Directories potentially created on remote AFP share
23
+ .AppleDB
24
+ .AppleDesktop
25
+ Network Trash Folder
26
+ Temporary Items
27
+ .apdisk
28
+
29
+ ### macOS Patch ###
30
+ # iCloud generated files
31
+ *.icloud
32
+
33
+ # End of https://www.toptal.com/developers/gitignore/api/macos
34
+
1
35
  # Byte-compiled / optimized / DLL files
2
36
  __pycache__/
3
37
  *.py[cod]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: robotcode-language-server
3
- Version: 0.108.0
3
+ Version: 0.109.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,10 +25,10 @@ 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-analyze==0.108.0
29
- Requires-Dist: robotcode-jsonrpc2==0.108.0
30
- Requires-Dist: robotcode-robot==0.108.0
31
- Requires-Dist: robotcode==0.108.0
28
+ Requires-Dist: robotcode-analyze==0.109.0
29
+ Requires-Dist: robotcode-jsonrpc2==0.109.0
30
+ Requires-Dist: robotcode-robot==0.109.0
31
+ Requires-Dist: robotcode==0.109.0
32
32
  Requires-Dist: robotframework>=4.1.0
33
33
  Description-Content-Type: text/markdown
34
34
 
@@ -27,10 +27,10 @@ classifiers = [
27
27
  ]
28
28
  dependencies = [
29
29
  "robotframework>=4.1.0",
30
- "robotcode-jsonrpc2==0.108.0",
31
- "robotcode-robot==0.108.0",
32
- "robotcode-analyze==0.108.0",
33
- "robotcode==0.108.0",
30
+ "robotcode-jsonrpc2==0.109.0",
31
+ "robotcode-robot==0.109.0",
32
+ "robotcode-analyze==0.109.0",
33
+ "robotcode==0.109.0",
34
34
  ]
35
35
  dynamic = ["version"]
36
36
 
@@ -0,0 +1 @@
1
+ __version__ = "0.109.0"
@@ -127,7 +127,7 @@ class RobotCompletionProtocolPart(RobotLanguageServerProtocolPart):
127
127
 
128
128
  def __init__(self, parent: "RobotLanguageServerProtocol") -> None:
129
129
  super().__init__(parent)
130
-
130
+ self.doc_cache: Dict[str, str] = {}
131
131
  parent.completion.collect.add(self.collect)
132
132
  parent.completion.resolve.add(self.resolve)
133
133
 
@@ -171,9 +171,9 @@ class RobotCompletionProtocolPart(RobotLanguageServerProtocolPart):
171
171
  model = self.parent.documents_cache.get_model(document, False)
172
172
 
173
173
  config = self.get_config(document)
174
-
174
+ self.doc_cache = {}
175
175
  return CompletionCollector(
176
- self.parent,
176
+ self,
177
177
  document,
178
178
  model,
179
179
  namespace,
@@ -195,7 +195,7 @@ class RobotCompletionProtocolPart(RobotLanguageServerProtocolPart):
195
195
  config = self.get_config(document)
196
196
 
197
197
  return CompletionCollector(
198
- self.parent,
198
+ self,
199
199
  document,
200
200
  model,
201
201
  namespace,
@@ -331,7 +331,7 @@ class CompletionCollector(ModelHelper):
331
331
 
332
332
  def __init__(
333
333
  self,
334
- parent: "RobotLanguageServerProtocol",
334
+ parent: "RobotCompletionProtocolPart",
335
335
  document: TextDocument,
336
336
  model: ast.AST,
337
337
  namespace: Namespace,
@@ -407,7 +407,7 @@ class CompletionCollector(ModelHelper):
407
407
  if data is not None:
408
408
  document_uri = data.get("document_uri", None)
409
409
  if document_uri is not None:
410
- document = self.parent.documents.get(document_uri)
410
+ document = self.parent.parent.documents.get(document_uri)
411
411
  if document is not None and (comp_type := data.get("type", None)) is not None:
412
412
  if comp_type in [
413
413
  CompleteResultKind.MODULE.name,
@@ -532,11 +532,15 @@ class CompletionCollector(ModelHelper):
532
532
  raise
533
533
  except BaseException:
534
534
  pass
535
+ elif comp_type == CompleteResultKind.DOC_CACHE.name:
536
+ if (name := data.get("name", None)) is not None:
537
+ if (doc := self.parent.doc_cache.get(name, None)) is not None:
538
+ completion_item.documentation = MarkupContent(kind=MarkupKind.MARKDOWN, value=doc)
535
539
 
536
540
  return completion_item
537
541
 
538
542
  def create_headers_completion_items(self, range: Optional[Range]) -> List[CompletionItem]:
539
- doc_type = self.parent.documents_cache.get_document_type(self.document)
543
+ doc_type = self.parent.parent.documents_cache.get_document_type(self.document)
540
544
 
541
545
  if self.namespace.languages is None:
542
546
  if doc_type in [DocumentType.RESOURCE, DocumentType.INIT]:
@@ -624,7 +628,7 @@ class CompletionCollector(ModelHelper):
624
628
  ]
625
629
 
626
630
  def create_settings_completion_items(self, range: Optional[Range]) -> List[CompletionItem]:
627
- doc_type = self.parent.documents_cache.get_document_type(self.document)
631
+ doc_type = self.parent.parent.documents_cache.get_document_type(self.document)
628
632
 
629
633
  settings_class: Type[Settings] = SuiteFileSettings
630
634
  if doc_type == DocumentType.RESOURCE:
@@ -2283,21 +2287,24 @@ class CompletionCollector(ModelHelper):
2283
2287
 
2284
2288
  for i, b_snippet in enumerate(bool_snippets):
2285
2289
  if b_snippet[0]:
2290
+ cache_name = f"BOOL{id(type_info)}_{i}"
2291
+ self.parent.doc_cache[cache_name] = type_info.to_markdown()
2286
2292
  result.append(
2287
2293
  CompletionItem(
2288
2294
  label=b_snippet[0],
2289
2295
  kind=CompletionItemKind.CONSTANT,
2290
2296
  detail=f"{type_info.name}({b_snippet[1]})",
2291
- documentation=MarkupContent(
2292
- MarkupKind.MARKDOWN,
2293
- type_info.to_markdown(),
2294
- ),
2295
2297
  sort_text=f"01_000_{int(not b_snippet[1])}_{b_snippet[0]}",
2296
2298
  insert_text_format=InsertTextFormat.PLAIN_TEXT,
2297
2299
  text_edit=TextEdit(
2298
2300
  range=completion_range,
2299
2301
  new_text=b_snippet[0],
2300
2302
  ),
2303
+ data=CompletionItemData(
2304
+ document_uri=str(self.document.uri),
2305
+ type=CompleteResultKind.DOC_CACHE.name,
2306
+ name=cache_name,
2307
+ ),
2301
2308
  )
2302
2309
  )
2303
2310
  elif type_info.name == "None":
@@ -2325,18 +2332,29 @@ class CompletionCollector(ModelHelper):
2325
2332
  )
2326
2333
  if type_info.members:
2327
2334
  for member_index, member in enumerate(type_info.members):
2335
+ cache_name = f"TYPE_MEMBER{id(type_info)}_{member_index}"
2336
+ self.parent.doc_cache[cache_name] = (
2337
+ f"```python\n{member.name} = {member.value}\n```"
2338
+ "\n\n---"
2339
+ f"\n{type_info.to_markdown(only_doc=True)}"
2340
+ )
2328
2341
  result.append(
2329
2342
  CompletionItem(
2330
2343
  label=member.name,
2331
2344
  kind=CompletionItemKind.ENUM_MEMBER,
2332
- detail=type_info.name,
2345
+ detail=f"{type_info.name}({type_info.type})",
2333
2346
  documentation=MarkupContent(
2334
2347
  MarkupKind.MARKDOWN,
2335
- f"```python\n{member.name} = {member.value}\n```\n\n{type_info.to_markdown()}",
2348
+ f"```python\n{member.name} = {member.value}\n```",
2336
2349
  ),
2337
- sort_text=f"09_{i:03}_{member_index:03}_{member.name}",
2350
+ sort_text=f"09_{i:9}_{member_index:09}_{member.name}",
2338
2351
  insert_text_format=InsertTextFormat.PLAIN_TEXT,
2339
2352
  text_edit=TextEdit(range=completion_range, new_text=member.name),
2353
+ data=CompletionItemData(
2354
+ document_uri=str(self.document.uri),
2355
+ type=CompleteResultKind.DOC_CACHE.name,
2356
+ name=cache_name,
2357
+ ),
2340
2358
  )
2341
2359
  )
2342
2360
  if type_info.items:
@@ -2357,19 +2375,22 @@ class CompletionCollector(ModelHelper):
2357
2375
  + "}",
2358
2376
  ]
2359
2377
  for i, snippet in enumerate(snippets):
2378
+ cache_name = f"TYPE_ITEMS{id(type_info)}_{i}"
2379
+ self.parent.doc_cache[cache_name] = type_info.to_markdown()
2360
2380
  if snippet:
2361
2381
  result.append(
2362
2382
  CompletionItem(
2363
2383
  label=snippet,
2364
2384
  kind=CompletionItemKind.STRUCT,
2365
- detail=type_info.name,
2366
- documentation=MarkupContent(
2367
- MarkupKind.MARKDOWN,
2368
- type_info.to_markdown(),
2369
- ),
2370
- sort_text=f"08_{i:03}_{snippet}",
2385
+ detail=f"{type_info.name}({type_info.type})",
2386
+ sort_text=f"08_{i:09}_{snippet}",
2371
2387
  insert_text_format=InsertTextFormat.SNIPPET,
2372
2388
  text_edit=TextEdit(range=completion_range, new_text=snippet),
2389
+ data=CompletionItemData(
2390
+ document_uri=str(self.document.uri),
2391
+ type=CompleteResultKind.DOC_CACHE.name,
2392
+ name=cache_name,
2393
+ ),
2373
2394
  )
2374
2395
  )
2375
2396
 
@@ -1 +0,0 @@
1
- __version__ = "0.108.0"