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

Sign up to get free protection for your applications and to get access to all the features.
@@ -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,,