robotcode-robot 0.70.0__py3-none-any.whl → 0.71.0__py3-none-any.whl

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.
@@ -1 +1 @@
1
- __version__ = "0.70.0"
1
+ __version__ = "0.71.0"
@@ -33,7 +33,7 @@ from ..utils import get_robot_version
33
33
  from ..utils.stubs import Languages
34
34
  from .imports_manager import ImportsManager
35
35
  from .namespace import DocumentType, Namespace
36
- from .workspace_config import CacheConfig, RobotConfig
36
+ from .workspace_config import AnalysisRobotConfig, CacheConfig, RobotConfig
37
37
 
38
38
 
39
39
  class UnknownFileTypeError(Exception):
@@ -474,6 +474,7 @@ class DocumentsCacheHelper:
474
474
  *robot_config.variable_files,
475
475
  ]
476
476
 
477
+ analysis_config = self.workspace.get_configuration(AnalysisRobotConfig, root_uri)
477
478
  return ImportsManager(
478
479
  self.documents_manager,
479
480
  self.file_watcher_manager,
@@ -484,6 +485,7 @@ class DocumentsCacheHelper:
484
485
  environment,
485
486
  cache_config.ignored_libraries,
486
487
  cache_config.ignored_variables,
488
+ analysis_config.global_library_search_order,
487
489
  cache_base_path,
488
490
  )
489
491
 
@@ -489,6 +489,7 @@ class ImportsManager:
489
489
  environment: Optional[Dict[str, str]],
490
490
  ignored_libraries: List[str],
491
491
  ignored_variables: List[str],
492
+ global_library_search_order: List[str],
492
493
  cache_base_path: Optional[Path],
493
494
  ) -> None:
494
495
  super().__init__()
@@ -530,6 +531,9 @@ class ImportsManager:
530
531
 
531
532
  self.ignored_libraries_patters = [Pattern(s) for s in ignored_libraries]
532
533
  self.ignored_variables_patters = [Pattern(s) for s in ignored_variables]
534
+
535
+ self.global_library_search_order = global_library_search_order
536
+
533
537
  self._libaries_lock = threading.RLock()
534
538
  self._libaries: OrderedDict[_LibrariesEntryKey, _LibrariesEntry] = OrderedDict()
535
539
  self._resources_lock = threading.RLock()
@@ -596,7 +596,7 @@ class Namespace:
596
596
  self._keywords_lock = RLock(default_timeout=120, name="Namespace.keywords")
597
597
 
598
598
  # TODO: how to get the search order from model
599
- self.search_order: Tuple[str, ...] = ()
599
+ self._search_order: Optional[Tuple[str, ...]] = None
600
600
 
601
601
  self._finder: Optional[KeywordFinder] = None
602
602
 
@@ -625,6 +625,13 @@ class Namespace:
625
625
  def document(self) -> Optional[TextDocument]:
626
626
  return self._document() if self._document is not None else None
627
627
 
628
+ @property
629
+ def search_order(self) -> Tuple[str, ...]:
630
+ if self._search_order is None:
631
+ return tuple(self.imports_manager.global_library_search_order)
632
+
633
+ return self._search_order
634
+
628
635
  def imports_changed(self, sender: Any, uri: DocumentUri) -> None:
629
636
  # TODO: optimise this by checking our imports
630
637
  if self.document is not None:
@@ -48,3 +48,9 @@ class CacheConfig(ConfigBase):
48
48
  save_location: CacheSaveLocation = CacheSaveLocation.WORKSPACE_STORAGE
49
49
  ignored_libraries: List[str] = field(default_factory=list)
50
50
  ignored_variables: List[str] = field(default_factory=list)
51
+
52
+
53
+ @config_section("robotcode.analysis.robot")
54
+ @dataclass
55
+ class AnalysisRobotConfig(ConfigBase):
56
+ global_library_search_order: List[str] = field(default_factory=list)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: robotcode-robot
3
- Version: 0.70.0
3
+ Version: 0.71.0
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://github.com/sponsors/d-biehl
@@ -26,7 +26,7 @@ Classifier: Topic :: Utilities
26
26
  Classifier: Typing :: Typed
27
27
  Requires-Python: >=3.8
28
28
  Requires-Dist: platformdirs<4.2.0,>=3.2.0
29
- Requires-Dist: robotcode-core==0.70.0
29
+ Requires-Dist: robotcode-core==0.71.0
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
@@ -1,20 +1,20 @@
1
1
  robotcode/robot/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- robotcode/robot/__version__.py,sha256=3IhgUqYnqMysoIwxT7jN8hqTm0UVFXntZR74E9Nb9vI,23
2
+ robotcode/robot/__version__.py,sha256=mNejnumd8tVE1XGXnMJ_BwjG-FRuO9U5tz0dQVo3UpU,23
3
3
  robotcode/robot/py.typed,sha256=bWew9mHgMy8LqMu7RuqQXFXLBxh2CRx0dUbSx-3wE48,27
4
4
  robotcode/robot/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  robotcode/robot/config/loader.py,sha256=RvFjU3fu5U4VlTSVDa0uUzZNAnpVdZwIy_4a0sXh6d0,5777
6
6
  robotcode/robot/config/model.py,sha256=ZfzBA3iMqH2F7hWRmvRxOIiWj_ryyn6iSnjmA4ETuF4,82380
7
7
  robotcode/robot/config/utils.py,sha256=mNNE8Uq5U78_OPwhOdZjtt1HufczyEHogGMB0azRcC4,2651
8
8
  robotcode/robot/diagnostics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
- robotcode/robot/diagnostics/document_cache_helper.py,sha256=mgSz7v9zOve3fGve__oTwWYL6r_7XWEZC6NaU1R__k0,19851
9
+ robotcode/robot/diagnostics/document_cache_helper.py,sha256=LRMMF6eVHpOw0RvgG1GqeUxjfgXDeguy5Mh13-JVZ80,20019
10
10
  robotcode/robot/diagnostics/entities.py,sha256=m_AXtaMGrkk7f7oVOQc90-gA21y-sHiMbsxxI_YrmWc,11084
11
11
  robotcode/robot/diagnostics/errors.py,sha256=VavgWYuHoW5sTT16j2rl9hxMhWxBKNSFsNmHWPzARQQ,1413
12
- robotcode/robot/diagnostics/imports_manager.py,sha256=ZsfA__RvEGkrJOs8EA326tJdeyu5i9lr8QKJ2BiMUkg,53125
12
+ robotcode/robot/diagnostics/imports_manager.py,sha256=HR71GvdjJd1uwcV9ARWVd6bkDBxVUwmojSIhK8-ZcCo,53246
13
13
  robotcode/robot/diagnostics/library_doc.py,sha256=0m5VT0eBuFBwEDET65rnex-sDipGP-s0g3KUNS7kwD0,97659
14
14
  robotcode/robot/diagnostics/model_helper.py,sha256=wkh2ltduJkl8YPU1UVltgrpRAgLZEAOqgfSsaSF9X54,29858
15
- robotcode/robot/diagnostics/namespace.py,sha256=NGnr5BEBLWUvAYItpB04bi9Ukqaq2g5m37-vVajemzc,86171
15
+ robotcode/robot/diagnostics/namespace.py,sha256=8n45qHM7WVqkpOh8IzcIl5_E85d5ozUBrVMWerL1x2A,86395
16
16
  robotcode/robot/diagnostics/namespace_analyzer.py,sha256=I1svp-nOB9MslnHPMlb6VD24E64MbRLNAV95H0x3od4,48500
17
- robotcode/robot/diagnostics/workspace_config.py,sha256=UtewdaT0ToexuvwDj5Q8Yk6NlUzHpe7ewJnxpOcVAg8,1560
17
+ robotcode/robot/diagnostics/workspace_config.py,sha256=WbHH8R3KSX-ryPgUYgBnR6gPMpTST2o98Mqyp4p6liw,1729
18
18
  robotcode/robot/utils/__init__.py,sha256=OjNPMn_XSnfaMCyKd8Kmq6vlRt6mIGlzW4qiiD3ykUg,447
19
19
  robotcode/robot/utils/ast.py,sha256=N7PobxXjpPWwv6UBa-GBn5wn6RAsiRm8unP6UZt0P6M,10193
20
20
  robotcode/robot/utils/markdownformatter.py,sha256=IVVnCYJLpX8-sK73n3AjtjBVirB-Xa3U2ZudAtFUOD0,11621
@@ -23,7 +23,7 @@ robotcode/robot/utils/robot_path.py,sha256=qKBh1cEnReBBLKkWu4gB9EzM-scAwE4xJc1m6
23
23
  robotcode/robot/utils/stubs.py,sha256=6-DMI_CQVJHDgG13t-zINKGCRb_Q7MQPm0_AkfhAEvE,748
24
24
  robotcode/robot/utils/variables.py,sha256=fEl8S37lb_mD4hn2MZRAlkiuLGBjAOeZVK0r2o2CfPw,742
25
25
  robotcode/robot/utils/visitor.py,sha256=uYLqEhGPmzWKWI3SSrmCaYMwtKvNShvbiPZ4b3FavX8,3241
26
- robotcode_robot-0.70.0.dist-info/METADATA,sha256=MsOqZHGGOiVRjjn7jZ2sZbnIRQK4ryz05AS3Y6GDxCg,2209
27
- robotcode_robot-0.70.0.dist-info/WHEEL,sha256=TJPnKdtrSue7xZ_AVGkp9YXcvDrobsjBds1du3Nx6dc,87
28
- robotcode_robot-0.70.0.dist-info/licenses/LICENSE.txt,sha256=B05uMshqTA74s-0ltyHKI6yoPfJ3zYgQbvcXfDVGFf8,10280
29
- robotcode_robot-0.70.0.dist-info/RECORD,,
26
+ robotcode_robot-0.71.0.dist-info/METADATA,sha256=_lW_qkoCAOKjsAUYHLivzJsmuIgIX6VmsnER4BgHzgs,2209
27
+ robotcode_robot-0.71.0.dist-info/WHEEL,sha256=TJPnKdtrSue7xZ_AVGkp9YXcvDrobsjBds1du3Nx6dc,87
28
+ robotcode_robot-0.71.0.dist-info/licenses/LICENSE.txt,sha256=B05uMshqTA74s-0ltyHKI6yoPfJ3zYgQbvcXfDVGFf8,10280
29
+ robotcode_robot-0.71.0.dist-info/RECORD,,