Skip to content

Commit 0f84c4e

Browse files
committed
feat: support for importing .json files in RF 6.1
1 parent 3df22dd commit 0f84c4e

File tree

3 files changed

+19
-0
lines changed

3 files changed

+19
-0
lines changed

packages/language_server/src/robotcode/language_server/robotframework/diagnostics/library_doc.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -828,6 +828,8 @@ def is_library_by_path(path: str) -> bool:
828828

829829

830830
def is_variables_by_path(path: str) -> bool:
831+
if get_robot_version() >= (6, 1):
832+
return path.lower().endswith((".py", ".yml", ".yaml", ".json", "/", os.sep))
831833
return path.lower().endswith((".py", ".yml", ".yaml", "/", os.sep))
832834

833835

@@ -1529,6 +1531,9 @@ def get_variables_doc(
15291531
from robot.utils.importer import Importer
15301532
from robot.variables.filesetter import PythonImporter, YamlImporter
15311533

1534+
if get_robot_version() >= (6, 1):
1535+
from robot.variables.filesetter import JsonImporter
1536+
15321537
import_name: str = name
15331538
stem = Path(name).stem
15341539
module_spec: Optional[ModuleSpec] = None
@@ -1541,6 +1546,8 @@ def get_variables_doc(
15411546
if import_name.lower().endswith((".yaml", ".yml")):
15421547
source = import_name
15431548
importer = YamlImporter()
1549+
if get_robot_version() >= (6, 1) and import_name.lower().endswith(".json"):
1550+
importer = JsonImporter()
15441551
else:
15451552
if not is_variables_by_path(import_name):
15461553
module_spec = get_module_spec(import_name)
@@ -1901,6 +1908,7 @@ def iter_variables_from_python_path(
19011908
if allow_modules and f.suffix.lower() not in [
19021909
".yaml",
19031910
".yml",
1911+
*[".json" if get_robot_version() >= (6, 1) else []],
19041912
]:
19051913
yield CompleteResult(f.stem, CompleteResultKind.VARIABLES_MODULE)
19061914
if allow_files:
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
*** Settings ***
2+
Variables ./vars.json
3+
4+
*** Test Cases ***
5+
first
6+
Log ${var from json}
7+
Log ${var_from_json}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"var from json": "a var from json",
3+
"var_from_json": "asd"
4+
}

0 commit comments

Comments
 (0)