diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
index 9c02357a7..78385a7ae 100644
--- a/.devcontainer/devcontainer.json
+++ b/.devcontainer/devcontainer.json
@@ -41,7 +41,6 @@
"tamasfe.even-better-toml",
"gruntfuggly.todo-tree",
"charliermarsh.ruff",
- "ms-python.black-formatter",
"ms-python.mypy-type-checker",
"ms-python.debugpy"
],
@@ -82,12 +81,7 @@
"^(.*(/|\\\\)\\.?robot\\.toml|\\.?robot\\.toml)$": "http://localhost:8000/etc/robot.toml.json"
},
"mypy-type-checker.importStrategy": "fromEnvironment",
- "debugpy.debugJustMyCode": false,
- "black-formatter.importStrategy": "fromEnvironment",
- "black-formatter.args": [
- "--config",
- "${workspaceFolder}./pyproject.toml"
- ]
+ "debugpy.debugJustMyCode": false
}
}
}
diff --git a/.github/workflows/build-test-package-publish.yml b/.github/workflows/build-test-package-publish.yml
index a717e0dec..70139bddd 100644
--- a/.github/workflows/build-test-package-publish.yml
+++ b/.github/workflows/build-test-package-publish.yml
@@ -49,8 +49,8 @@ jobs:
with:
python-version: ${{ matrix.python-version }}
- - name: Ensure latest hatch is installed
- run: pipx install hatch
+ - name: Install Hatch
+ uses: pypa/hatch@install
- name: Test Python Packages
uses: nick-fields/retry@v3
@@ -111,8 +111,8 @@ jobs:
with:
python-version: "3.8"
- - name: Ensure latest hatch is installed
- run: pipx install hatch
+ - name: Install Hatch
+ uses: pypa/hatch@install
- name: Gradle Wrapper Validation
uses: gradle/actions/wrapper-validation@v4
@@ -166,8 +166,8 @@ jobs:
with:
python-version: "3.8"
- - name: Ensure latest hatch is installed
- run: pipx install hatch
+ - name: Install Hatch
+ uses: pypa/hatch@install
- name: Setup Node.js environment
uses: actions/setup-node@v4
@@ -255,8 +255,8 @@ jobs:
with:
python-version: "3.8"
- - name: Ensure latest hatch is installed
- run: pipx install hatch
+ - name: Install Hatch
+ uses: pypa/hatch@install
- name: Setup Node.js environment
uses: actions/setup-node@v4
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index ea1d38246..10a90faf1 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -1,8 +1,22 @@
fail_fast: true
default_language_version:
- python: python3.8
-default_stages: [pre-commit, pre-push]
+ python: python3.9
+default_stages:
+ - commit-msg
+ - pre-commit
+ - pre-push
+default_install_hook_types:
+ - pre-commit
+ - commit-msg
+ - pre-push
+
repos:
+ - repo: https://github.com/compilerla/conventional-pre-commit
+ rev: v4.0.0
+ hooks:
+ - id: conventional-pre-commit
+ stages: [commit-msg]
+ args: []
- repo: local
hooks:
- id: lint_package_update
@@ -35,5 +49,4 @@ repos:
pass_filenames: false
language: system
stages: [pre-commit]
- types:
- - "javascript"
+ types_or: [javascript, jsx, ts, tsx]
\ No newline at end of file
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
index 280cf515f..e814a210a 100644
--- a/.vscode/extensions.json
+++ b/.vscode/extensions.json
@@ -8,7 +8,6 @@
"tamasfe.even-better-toml",
"gruntfuggly.todo-tree",
"charliermarsh.ruff",
- "ms-python.black-formatter",
"ms-python.mypy-type-checker"
]
}
\ No newline at end of file
diff --git a/.vscode/launch.json b/.vscode/launch.json
index e3b4dbe3c..f54f3f660 100644
--- a/.vscode/launch.json
+++ b/.vscode/launch.json
@@ -78,10 +78,10 @@
// "suites",
// // "discover", "tests", "--tags"
// "."
- "discover",
- "--no-diagnostics",
- "all",
- ".."
+ // "discover",
+ // "--no-diagnostics",
+ // "all",
+ // ".."
// "config",
// "show",
// "discover",
@@ -90,8 +90,8 @@
// "-i",
// "-v", "CMD_LINE_VAR:cmd_line_var",
// "E:\\source\\uvtestprj\\tests\\first.robotrepl"
- // "analyze",
- // "code",
+ "analyze",
+ "code",
// "--help"
// "tests"
// "repl-server",
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 61cc6b911..5cec7c817 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,142 @@
All notable changes to this project will be documented in this file. See [conventional commits](https://www.conventionalcommits.org/) for commit guidelines.
+## [1.2.0](https://github.com/robotcodedev/robotcode/compare/v1.1.0..v1.2.0) - 2025-05-07
+
+### Bug Fixes
+
+- **intellij:** Corrected handling of short by-longname argument ([b5fa232](https://github.com/robotcodedev/robotcode/commit/b5fa232f4c0fd3032b863363c141d8ffeff6c8c7))
+- **intellij:** Reenable semantic highlightning, because something has changed in the new LSP4IJ API ([5cdf3c3](https://github.com/robotcodedev/robotcode/commit/5cdf3c3ab87857db294e63bcdc0798f1cfd5eacd))
+- Update IntelliJ platform version and plugin dependencies ([e94c96b](https://github.com/robotcodedev/robotcode/commit/e94c96b99646e602820663f1210d0df962251bf1))
+
+
+ because of some new features regarding syntax highlightning and text mate the minimal supported version is PyCharm 2025.1
+
+
+### Features
+
+- **intellij:** Refactored textmate highlightning to use the new intellij textmate infrastructure ([74644f0](https://github.com/robotcodedev/robotcode/commit/74644f055e6c1dea38e37446ef430387c667b80c))
+- **langserver:** Refactor and optimize Robot Framework textmate syntax highlighting rules ([5b7c4b1](https://github.com/robotcodedev/robotcode/commit/5b7c4b13469072e3c39c8c112118149ac4b5b1cd))
+
+ this also fixes the loading of robotframework core test files in PyCharm
+
+
+
+## [1.1.0](https://github.com/robotcodedev/robotcode/compare/v1.0.3..v1.1.0) - 2025-04-29
+
+### Bug Fixes
+
+- **analyze:** Allow `all` also in `robot.toml` configuration for `exit-code-mask` ([a496714](https://github.com/robotcodedev/robotcode/commit/a496714b88d397b46f4b4192c82336711fccac5a))
+- **langserver:** Corrected highlightning of embedded arguments if there is a namespace given before the keyword ([0ce5446](https://github.com/robotcodedev/robotcode/commit/0ce5446154b34655bd5db4c6cba91a9a82266440))
+
+
+### Documentation
+
+- Draft article about variables ([161006e](https://github.com/robotcodedev/robotcode/commit/161006e6a730f52501bdff7dcd1cba9e85300fcd))
+- Added pycharm link on the robotcode.io homepage ([7686a21](https://github.com/robotcodedev/robotcode/commit/7686a21c76681d2a7321a67c1c872b6c77687000))
+
+
+### Features
+
+- **analyze:** Exit code mask configuration for code analysis ([4b677ad](https://github.com/robotcodedev/robotcode/commit/4b677add254f88519d950e54ac5ef1f4e499d0e6))
+
+ Configure which message types should **not** influence the exit code of `robotcode analyze code`, allowing granular control over CI/CD pipeline behavior or pre-commit hooks.
+
+ **Configuration File (`robot.toml`)**
+
+ ```toml
+ [tool.robotcode-analyze.code]
+ exit-code-mask = ["error", "warn"]
+ ```
+
+ **Command Line Options**
+
+ ```
+ robotcode analyze code --exit-code-mask error,warn # or -xm
+ robotcode analyze code --extend-exit-code-mask info # or -xe
+ ```
+
+ - `-xm` (or `--exit-code-mask`) overwrites the configuration in `robot.toml`
+ - `-xe` (or `--extend-exit-code-mask`) extends the configuration in `robot.toml`
+ - Both options can be specified multiple times or with comma-separated values:
+
+ ```
+ robotcode analyze code -xm error -xm warn # multiple options
+ robotcode analyze code -xm error,warn # comma-separated
+ ```
+
+ **Behavior**
+
+ - Message types in the mask are ignored when determining exit code
+ - Available types: `error`, `warn`/`warning`, `info`/`information`, `hint`
+ - Special value `all` ignores all message types (always exit code 0)
+ - Without configuration, all message types affect the exit code
+
+ **Example**
+
+ ```toml
+ # In robot.toml - Ignore warnings but let errors affect exit code
+ [tool.robotcode-analyze.code]
+ exit-code-mask = ["warn"]
+ ```
+
+ ```bash
+ # Using short options
+ robotcode analyze code -xm error,hint # Overwrites robot.toml config
+ robotcode analyze code -xe info -xe hint # Extends robot.toml config with multiple types
+ robotcode analyze code -xm all # Always exit with code 0
+ ```
+
+- **vscode:** Add configuration for output file display options ([738d7a6](https://github.com/robotcodedev/robotcode/commit/738d7a6129f8e459c0af1961ebedfe320d2a4b9d))
+
+ Add "robotcode.run.openOutputTarget" setting to control how Robot Framework output files are displayed:
+ - simpleBrowser: in VSCode's built-in browser
+ - externalHttp: in default browser via HTTP protocol
+ - externalFile: in default browser via file system
+
+ The externalFile options may not run in remote development environments.
+
+- **vscode:** Use short CLI argument versions when calling robotcode ([0987f55](https://github.com/robotcodedev/robotcode/commit/0987f551803f23e2c8342638d2b3bb1e23cc99da))
+
+
+### Refactor
+
+- **analyze:** Move code analysing to it's own module ([0123a50](https://github.com/robotcodedev/robotcode/commit/0123a507a3b23265676aa8d0c68af322e01f513c))
+
+
+### Testing
+
+- Fix some unittest ([98e4d5c](https://github.com/robotcodedev/robotcode/commit/98e4d5c2e69e1d2a3a1518456f85ff04b15be920))
+- Disable some flaky tests ([f9a1a82](https://github.com/robotcodedev/robotcode/commit/f9a1a823c6cb9d885231c81830d6e438cf60b680))
+- Disable some flaky tests and correct regression test output file to be platform independent ([4387984](https://github.com/robotcodedev/robotcode/commit/43879844c9fdc845ae2b9fa373f076eb13a9feb9))
+
+
+## [1.0.3](https://github.com/robotcodedev/robotcode/compare/v1.0.2..v1.0.3) - 2025-03-14
+
+### Bug Fixes
+
+- **analyzer:** Corrected handling of VAR statement for variable with equal sign ([227d173](https://github.com/robotcodedev/robotcode/commit/227d1738b05cbd07cc5ee88cd234fc477b082e18))
+- **debugger:** Ensure proper evaluation of variable expressions ([6b90851](https://github.com/robotcodedev/robotcode/commit/6b90851271beeb0cfa1a3f6feb6ce2a82a3b0361))
+- **vscode:** Correct handling of comments in keyword calls with return ([c3c32bf](https://github.com/robotcodedev/robotcode/commit/c3c32bf36d3a75aabf22e01de9a35130931bbee9))
+
+
+### Refactor
+
+- **debugger:** Some code simplifications ([b14877c](https://github.com/robotcodedev/robotcode/commit/b14877c41091ba777fdf8a4410ff4fc9630c383d))
+
+
+### Testing
+
+- **langserver:** Update and add some tests ([b47fc81](https://github.com/robotcodedev/robotcode/commit/b47fc81c85310273e716c4ae9804ec876c5080e3))
+
+
+## [1.0.2](https://github.com/robotcodedev/robotcode/compare/v1.0.1..v1.0.2) - 2025-03-07
+
+### Bug Fixes
+
+- **debugger:** Remove unnecessary environment variables for debugpy sessions ([08cba92](https://github.com/robotcodedev/robotcode/commit/08cba92302bf79be1a71c370aaf573f23be90b33))
+
+
## [1.0.1](https://github.com/robotcodedev/robotcode/compare/v1.0.0..v1.0.1) - 2025-03-06
### Bug Fixes
diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts
index 8bf526595..19b1bf98a 100644
--- a/docs/.vitepress/config.mts
+++ b/docs/.vitepress/config.mts
@@ -10,6 +10,7 @@ import pkg from "../../package.json";
//import python_svg from "../images/python.svg?raw";
const python_svg = readFileSync("images/python.svg", "utf-8");
const vscode_svg = readFileSync("images/vscode.svg", "utf-8");
+const pycharm_svg = readFileSync("images/pycharm.svg", "utf-8");
const opencollective_svg = readFileSync("images/opencollective.svg", "utf-8");
// https://vitepress.dev/reference/site-config
@@ -92,6 +93,7 @@ export default defineConfig({
{ icon: "github", link: "https://github.com/robotcodedev/robotcode" },
{ icon: { svg: python_svg }, link: "https://pypi.org/project/robotcode/" },
{ icon: { svg: vscode_svg }, link: "https://marketplace.visualstudio.com/items?itemName=d-biehl.robotcode" },
+ { icon: { svg: pycharm_svg }, link: "https://plugins.jetbrains.com/plugin/26216" },
{ icon: { svg: opencollective_svg }, link: "https://opencollective.com/robotcode" },
],
},
diff --git a/docs/03_reference/cli.md b/docs/03_reference/cli.md
index 9763ae340..6c5fc54b1 100644
--- a/docs/03_reference/cli.md
+++ b/docs/03_reference/cli.md
@@ -171,10 +171,6 @@ robotcode [OPTIONS] COMMAND [ARGS]...
The analyze command provides various subcommands for analyzing Robot Framework code.
-- [`clean`](#clean)
-
- TODO: Cleans a Robot Framework project.
-
- [`config`](#config)
Shows information about the configuration.
@@ -199,10 +195,6 @@ robotcode [OPTIONS] COMMAND [ARGS]...
Runs `libdoc` with the selected configuration, profiles, options and arguments.
-- [`new`](#new)
-
- TODO: Create a new Robot Framework project.
-
- [`profiles`](#profiles)
Shows information on defined profiles.
@@ -349,32 +341,23 @@ robotcode analyze code [OPTIONS] [PATHS]...
Specifies the diagnostics codes to treat as hint.
-- `--help`
-
- Show this message and exit.
-
-
+- `-xm, --exit-code-mask [error|warn|info|hint] *`
+ Specifies which diagnostic severities should not affect the exit code. For example, with 'warn' in the mask, warnings won't cause a non-zero exit code.
-#### clean
-TODO: Cleans a Robot Framework project.
+- `-xe, --extend-exit-code-mask [error|warn|info|hint] *`
-TODO: This is not implemented yet.
+ Extend the exit code mask with the specified values. This appends to the default mask, defined in the config file.
-**Usage:**
-```text
-robotcode clean [OPTIONS]
-```
-
-
-**Options:**
- `--help`
Show this message and exit.
+
+
#### config
Shows information about the configuration.
@@ -656,17 +639,17 @@ robotcode debug [OPTIONS] [ROBOT_OPTIONS_AND_ARGS]...
- `--tcp [
:]`
- Run in `tcp` server mode and listen at the given port. (Equivalent to `--mode tcp --port `) *NOTE:* This option is mutually exclusive with options: pipe-server, pipe-name, mode, port.
+ Run in `tcp` server mode and listen at the given port. (Equivalent to `--mode tcp --port `) *NOTE:* This option is mutually exclusive with options: port, mode, pipe-server, pipe-name.
- `--pipe-server NAME`
- Run in `pipe-server` mode and listen at the given pipe name. (Equivalent to `--mode pipe-server --pipe-name `) *NOTE:* This option is mutually exclusive with options: port, tcp, bind, pipe-name, mode.
+ Run in `pipe-server` mode and listen at the given pipe name. (Equivalent to `--mode pipe-server --pipe-name `) *NOTE:* This option is mutually exclusive with options: pipe-name, tcp, mode, port, bind.
-- `--mode [pipe-server|tcp]`
+- `--mode [tcp|pipe-server]`
- The mode to use for the debug launch server. *NOTE:* This option is mutually exclusive with options: pipe-server, tcp. [env var: ROBOTCODE_MODE; default: tcp]
+ The mode to use for the debug launch server. *NOTE:* This option is mutually exclusive with options: tcp, pipe-server. [env var: ROBOTCODE_MODE; default: tcp]
- `--port PORT`
@@ -681,7 +664,7 @@ robotcode debug [OPTIONS] [ROBOT_OPTIONS_AND_ARGS]...
- `--pipe-name NAME`
- The pipe to listen on or connect to. (Only valid in `pipe` and `pipe-server` mode) *NOTE:* This option is mutually exclusive with options: pipe-server, tcp, bind, port. [env var: ROBOTCODE_PIPE_NAME]
+ The pipe to listen on or connect to. (Only valid in `pipe` and `pipe-server` mode) *NOTE:* This option is mutually exclusive with options: tcp, bind, pipe-server, port. [env var: ROBOTCODE_PIPE_NAME]
- `--version`
@@ -708,47 +691,47 @@ robotcode debug-launch [OPTIONS]
**Options:**
- `--stdio`
- Run in `stdio` mode. (Equivalent to `--mode stdio`) *NOTE:* This option is mutually exclusive with options: socket, port, pipe, pipe-server, tcp, bind, pipe-name, mode. [env var: ROBOTCODE_STDIO]
+ Run in `stdio` mode. (Equivalent to `--mode stdio`) *NOTE:* This option is mutually exclusive with options: pipe, pipe-server, socket, tcp, mode, pipe-name, port, bind. [env var: ROBOTCODE_STDIO]
- `--tcp [:]`
- Run in `tcp` server mode and listen at the given port. (Equivalent to `--mode tcp --port `) *NOTE:* This option is mutually exclusive with options: stdio, socket, port, pipe, pipe-server, pipe-name, mode.
+ Run in `tcp` server mode and listen at the given port. (Equivalent to `--mode tcp --port `) *NOTE:* This option is mutually exclusive with options: pipe, stdio, pipe-server, socket, pipe-name, mode, port.
- `--socket [:]`
- Run in `socket` mode and connect to the given port. (Equivalent to `--mode socket --port `) *NOTE:* This option is mutually exclusive with options: stdio, port, pipe, pipe-server, tcp, pipe-name, mode.
+ Run in `socket` mode and connect to the given port. (Equivalent to `--mode socket --port `) *NOTE:* This option is mutually exclusive with options: pipe, stdio, pipe-server, pipe-name, tcp, mode, port.
- `--pipe NAME`
- Run in `pipe` mode and connect to the given pipe name. (Equivalent to `--mode pipe --pipe-name `) *NOTE:* This option is mutually exclusive with options: stdio, socket, port, pipe-server, tcp, bind, pipe-name, mode.
+ Run in `pipe` mode and connect to the given pipe name. (Equivalent to `--mode pipe --pipe-name `) *NOTE:* This option is mutually exclusive with options: stdio, pipe-server, socket, pipe-name, tcp, mode, port, bind.
- `--pipe-server NAME`
- Run in `pipe-server` mode and listen at the given pipe name. (Equivalent to `--mode pipe-server --pipe-name `) *NOTE:* This option is mutually exclusive with options: stdio, socket, port, pipe, tcp, bind, pipe-name, mode.
+ Run in `pipe-server` mode and listen at the given pipe name. (Equivalent to `--mode pipe-server --pipe-name `) *NOTE:* This option is mutually exclusive with options: pipe, stdio, socket, pipe-name, tcp, mode, port, bind.
- `--mode [stdio|tcp|socket|pipe|pipe-server]`
- The mode to use for the debug launch server. *NOTE:* This option is mutually exclusive with options: stdio, socket, pipe, pipe-server, tcp. [env var: ROBOTCODE_MODE; default: stdio]
+ The mode to use for the debug launch server. *NOTE:* This option is mutually exclusive with options: pipe, stdio, pipe-server, socket, tcp. [env var: ROBOTCODE_MODE; default: stdio]
- `--port PORT`
- The port to listen on or connect to. (Only valid for `tcp` and `socket mode`) *NOTE:* This option is mutually exclusive with options: pipe-server, pipe-name, pipe. [env var: ROBOTCODE_PORT; default: 6611; 1<=x<=65535]
+ The port to listen on or connect to. (Only valid for `tcp` and `socket mode`) *NOTE:* This option is mutually exclusive with options: pipe, pipe-server, pipe-name. [env var: ROBOTCODE_PORT; default: 6611; 1<=x<=65535]
- `--bind ADDRESS *`
- Specify alternate bind address. If no address is specified `localhost` is used. (Only valid for tcp and socket mode) *NOTE:* This option is mutually exclusive with options: pipe-server, pipe-name, pipe. [env var: ROBOTCODE_BIND; default: 127.0.0.1]
+ Specify alternate bind address. If no address is specified `localhost` is used. (Only valid for tcp and socket mode) *NOTE:* This option is mutually exclusive with options: pipe, pipe-server, pipe-name. [env var: ROBOTCODE_BIND; default: 127.0.0.1]
- `--pipe-name NAME`
- The pipe to listen on or connect to. (Only valid in `pipe` and `pipe-server` mode) *NOTE:* This option is mutually exclusive with options: stdio, socket, port, pipe, pipe-server, tcp, bind. [env var: ROBOTCODE_PIPE_NAME]
+ The pipe to listen on or connect to. (Only valid in `pipe` and `pipe-server` mode) *NOTE:* This option is mutually exclusive with options: pipe, stdio, pipe-server, socket, tcp, port, bind. [env var: ROBOTCODE_PIPE_NAME]
- `--version`
@@ -853,11 +836,6 @@ robotcode discover all [OPTIONS] [ROBOT_OPTIONS_AND_ARGS]...
Show the tags that are present. [default: tags]
-- `--by-longname TEXT *`
-
- Select tests/tasks or suites by longname.
-
-
- `--exclude-by-longname TEXT *`
Excludes tests/tasks or suites by longname.
@@ -868,6 +846,11 @@ robotcode discover all [OPTIONS] [ROBOT_OPTIONS_AND_ARGS]...
Show the version and exit.
+- `--by-longname TEXT *`
+
+ Select tests/tasks or suites by longname.
+
+
- `--full-paths / --no-full-paths`
Show full paths instead of releative. [default: no-full-paths]
@@ -952,11 +935,6 @@ robotcode discover suites [OPTIONS] [ROBOT_OPTIONS_AND_ARGS]...
**Options:**
-- `--by-longname TEXT *`
-
- Select tests/tasks or suites by longname.
-
-
- `--exclude-by-longname TEXT *`
Excludes tests/tasks or suites by longname.
@@ -967,6 +945,11 @@ robotcode discover suites [OPTIONS] [ROBOT_OPTIONS_AND_ARGS]...
Show the version and exit.
+- `--by-longname TEXT *`
+
+ Select tests/tasks or suites by longname.
+
+
- `--full-paths / --no-full-paths`
Show full paths instead of releative. [default: no-full-paths]
@@ -1024,11 +1007,6 @@ robotcode discover tags [OPTIONS] [ROBOT_OPTIONS_AND_ARGS]...
Show full paths instead of releative. [default: no-full-paths]
-- `--by-longname TEXT *`
-
- Select tests/tasks or suites by longname.
-
-
- `--exclude-by-longname TEXT *`
Excludes tests/tasks or suites by longname.
@@ -1039,6 +1017,11 @@ robotcode discover tags [OPTIONS] [ROBOT_OPTIONS_AND_ARGS]...
Show the version and exit.
+- `--by-longname TEXT *`
+
+ Select tests/tasks or suites by longname.
+
+
- `--help`
Show this message and exit.
@@ -1081,11 +1064,6 @@ robotcode discover tasks [OPTIONS] [ROBOT_OPTIONS_AND_ARGS]...
Show full paths instead of releative. [default: no-full-paths]
-- `--by-longname TEXT *`
-
- Select tests/tasks or suites by longname.
-
-
- `--exclude-by-longname TEXT *`
Excludes tests/tasks or suites by longname.
@@ -1096,6 +1074,11 @@ robotcode discover tasks [OPTIONS] [ROBOT_OPTIONS_AND_ARGS]...
Show the version and exit.
+- `--by-longname TEXT *`
+
+ Select tests/tasks or suites by longname.
+
+
- `--help`
Show this message and exit.
@@ -1138,11 +1121,6 @@ robotcode discover tests [OPTIONS] [ROBOT_OPTIONS_AND_ARGS]...
Show full paths instead of releative. [default: no-full-paths]
-- `--by-longname TEXT *`
-
- Select tests/tasks or suites by longname.
-
-
- `--exclude-by-longname TEXT *`
Excludes tests/tasks or suites by longname.
@@ -1153,6 +1131,11 @@ robotcode discover tests [OPTIONS] [ROBOT_OPTIONS_AND_ARGS]...
Show the version and exit.
+- `--by-longname TEXT *`
+
+ Select tests/tasks or suites by longname.
+
+
- `--help`
Show this message and exit.
@@ -1178,42 +1161,42 @@ robotcode language-server [OPTIONS] [PATHS]...
**Options:**
- `--stdio`
- Run in `stdio` mode. (Equivalent to `--mode stdio`) *NOTE:* This option is mutually exclusive with options: socket, port, pipe, tcp, bind, pipe-name, mode. [env var: ROBOTCODE_STDIO]
+ Run in `stdio` mode. (Equivalent to `--mode stdio`) *NOTE:* This option is mutually exclusive with options: pipe, socket, pipe-name, tcp, mode, port, bind. [env var: ROBOTCODE_STDIO]
- `--tcp [:]`
- Run in `tcp` server mode and listen at the given port. (Equivalent to `--mode tcp --port `) *NOTE:* This option is mutually exclusive with options: stdio, socket, port, pipe, pipe-name, mode.
+ Run in `tcp` server mode and listen at the given port. (Equivalent to `--mode tcp --port `) *NOTE:* This option is mutually exclusive with options: pipe, stdio, socket, pipe-name, mode, port.
- `--socket [:]`
- Run in `socket` mode and connect to the given port. (Equivalent to `--mode socket --port `) *NOTE:* This option is mutually exclusive with options: stdio, port, pipe, tcp, pipe-name, mode.
+ Run in `socket` mode and connect to the given port. (Equivalent to `--mode socket --port `) *NOTE:* This option is mutually exclusive with options: pipe, stdio, pipe-name, tcp, mode, port.
- `--pipe NAME`
- Run in `pipe` mode and connect to the given pipe name. (Equivalent to `--mode pipe --pipe-name `) *NOTE:* This option is mutually exclusive with options: stdio, socket, port, tcp, bind, pipe-name, mode.
+ Run in `pipe` mode and connect to the given pipe name. (Equivalent to `--mode pipe --pipe-name `) *NOTE:* This option is mutually exclusive with options: stdio, socket, pipe-name, tcp, mode, port, bind.
-- `--mode [stdio|tcp|socket|pipe]`
+- `--mode [tcp|pipe|stdio|socket]`
- The mode to use for the debug launch server. *NOTE:* This option is mutually exclusive with options: stdio, tcp, socket, pipe. [env var: ROBOTCODE_MODE; default: stdio]
+ The mode to use for the debug launch server. *NOTE:* This option is mutually exclusive with options: tcp, pipe, stdio, socket. [env var: ROBOTCODE_MODE; default: stdio]
- `--port PORT`
- The port to listen on or connect to. (Only valid for `tcp` and `socket mode`) *NOTE:* This option is mutually exclusive with options: pipe-name, pipe. [env var: ROBOTCODE_PORT; default: 6610; 1<=x<=65535]
+ The port to listen on or connect to. (Only valid for `tcp` and `socket mode`) *NOTE:* This option is mutually exclusive with options: pipe, pipe-name. [env var: ROBOTCODE_PORT; default: 6610; 1<=x<=65535]
- `--bind ADDRESS *`
- Specify alternate bind address. If no address is specified `localhost` is used. (Only valid for tcp and socket mode) *NOTE:* This option is mutually exclusive with options: pipe-name, pipe. [env var: ROBOTCODE_BIND; default: 127.0.0.1]
+ Specify alternate bind address. If no address is specified `localhost` is used. (Only valid for tcp and socket mode) *NOTE:* This option is mutually exclusive with options: pipe, pipe-name. [env var: ROBOTCODE_BIND; default: 127.0.0.1]
- `--pipe-name NAME`
- The pipe to listen on or connect to. (Only valid in `pipe` and `pipe-server` mode) *NOTE:* This option is mutually exclusive with options: stdio, socket, port, pipe, tcp, bind. [env var: ROBOTCODE_PIPE_NAME]
+ The pipe to listen on or connect to. (Only valid in `pipe` and `pipe-server` mode) *NOTE:* This option is mutually exclusive with options: pipe, stdio, socket, tcp, port, bind. [env var: ROBOTCODE_PIPE_NAME]
- `--version`
@@ -1255,25 +1238,6 @@ robotcode libdoc [OPTIONS] [ROBOT_OPTIONS_AND_ARGS]...
Use `-- --help` to see the `libdoc` help.
-#### new
-
-TODO: Create a new Robot Framework project.
-
-TODO: This is not implemented yet.
-
-
-**Usage:**
-```text
-robotcode new [OPTIONS]
-```
-
-
-**Options:**
-- `--help`
-
- Show this message and exit.
-
-
#### profiles
Shows information on defined profiles.
@@ -1474,47 +1438,47 @@ robotcode repl-server [OPTIONS] [FILES]...
**Options:**
- `--stdio`
- Run in `stdio` mode. (Equivalent to `--mode stdio`) *NOTE:* This option is mutually exclusive with options: socket, port, pipe, pipe-server, tcp, bind, pipe-name, mode. [env var: ROBOTCODE_STDIO]
+ Run in `stdio` mode. (Equivalent to `--mode stdio`) *NOTE:* This option is mutually exclusive with options: pipe, pipe-server, socket, tcp, mode, pipe-name, port, bind. [env var: ROBOTCODE_STDIO]
- `--tcp [:]`
- Run in `tcp` server mode and listen at the given port. (Equivalent to `--mode tcp --port `) *NOTE:* This option is mutually exclusive with options: stdio, socket, port, pipe, pipe-server, pipe-name, mode.
+ Run in `tcp` server mode and listen at the given port. (Equivalent to `--mode tcp --port `) *NOTE:* This option is mutually exclusive with options: pipe, stdio, pipe-server, socket, pipe-name, mode, port.
- `--socket [:]`
- Run in `socket` mode and connect to the given port. (Equivalent to `--mode socket --port `) *NOTE:* This option is mutually exclusive with options: stdio, port, pipe, pipe-server, tcp, pipe-name, mode.
+ Run in `socket` mode and connect to the given port. (Equivalent to `--mode socket --port `) *NOTE:* This option is mutually exclusive with options: pipe, stdio, pipe-server, pipe-name, tcp, mode, port.
- `--pipe NAME`
- Run in `pipe` mode and connect to the given pipe name. (Equivalent to `--mode pipe --pipe-name `) *NOTE:* This option is mutually exclusive with options: stdio, socket, port, pipe-server, tcp, bind, pipe-name, mode.
+ Run in `pipe` mode and connect to the given pipe name. (Equivalent to `--mode pipe --pipe-name `) *NOTE:* This option is mutually exclusive with options: stdio, pipe-server, socket, pipe-name, tcp, mode, port, bind.
- `--pipe-server NAME`
- Run in `pipe-server` mode and listen at the given pipe name. (Equivalent to `--mode pipe-server --pipe-name `) *NOTE:* This option is mutually exclusive with options: stdio, socket, port, pipe, tcp, bind, pipe-name, mode.
+ Run in `pipe-server` mode and listen at the given pipe name. (Equivalent to `--mode pipe-server --pipe-name `) *NOTE:* This option is mutually exclusive with options: pipe, stdio, socket, pipe-name, tcp, mode, port, bind.
- `--mode [stdio|tcp|socket|pipe|pipe-server]`
- The mode to use for the debug launch server. *NOTE:* This option is mutually exclusive with options: stdio, socket, pipe, pipe-server, tcp. [env var: ROBOTCODE_MODE; default: stdio]
+ The mode to use for the debug launch server. *NOTE:* This option is mutually exclusive with options: pipe, stdio, pipe-server, socket, tcp. [env var: ROBOTCODE_MODE; default: stdio]
- `--port PORT`
- The port to listen on or connect to. (Only valid for `tcp` and `socket mode`) *NOTE:* This option is mutually exclusive with options: pipe-server, pipe-name, pipe. [env var: ROBOTCODE_PORT; default: 6601; 1<=x<=65535]
+ The port to listen on or connect to. (Only valid for `tcp` and `socket mode`) *NOTE:* This option is mutually exclusive with options: pipe, pipe-server, pipe-name. [env var: ROBOTCODE_PORT; default: 6601; 1<=x<=65535]
- `--bind ADDRESS *`
- Specify alternate bind address. If no address is specified `localhost` is used. (Only valid for tcp and socket mode) *NOTE:* This option is mutually exclusive with options: pipe-server, pipe-name, pipe. [env var: ROBOTCODE_BIND; default: 127.0.0.1]
+ Specify alternate bind address. If no address is specified `localhost` is used. (Only valid for tcp and socket mode) *NOTE:* This option is mutually exclusive with options: pipe, pipe-server, pipe-name. [env var: ROBOTCODE_BIND; default: 127.0.0.1]
- `--pipe-name NAME`
- The pipe to listen on or connect to. (Only valid in `pipe` and `pipe-server` mode) *NOTE:* This option is mutually exclusive with options: stdio, socket, port, pipe, pipe-server, tcp, bind. [env var: ROBOTCODE_PIPE_NAME]
+ The pipe to listen on or connect to. (Only valid in `pipe` and `pipe-server` mode) *NOTE:* This option is mutually exclusive with options: pipe, stdio, pipe-server, socket, tcp, port, bind. [env var: ROBOTCODE_PIPE_NAME]
- `-v, --variable name:value *`
@@ -1596,11 +1560,6 @@ robotcode robot [OPTIONS] [ROBOT_OPTIONS_AND_ARGS]...
**Options:**
-- `--by-longname TEXT *`
-
- Select tests/tasks or suites by longname.
-
-
- `--exclude-by-longname TEXT *`
Excludes tests/tasks or suites by longname.
@@ -1611,6 +1570,11 @@ robotcode robot [OPTIONS] [ROBOT_OPTIONS_AND_ARGS]...
Show the version and exit.
+- `--by-longname TEXT *`
+
+ Select tests/tasks or suites by longname.
+
+
- `--help`
Show this message and exit.
diff --git a/docs/03_reference/config.md b/docs/03_reference/config.md
index af48f6360..9c11a6d27 100644
--- a/docs/03_reference/config.md
+++ b/docs/03_reference/config.md
@@ -2615,6 +2615,38 @@ Examples:
- `MyVariables`
- `myvars.subpackage.subpackage`
+## tool.robotcode-analyze.code
+
+Type: `CodeConfig | None`
+
+Defines the code analysis configuration.
+
+Examples:
+
+```toml
+[tool.robotcode-analyze.code]
+exit_code_mask = "error|warn"
+```
+
+## tool.robotcode-analyze.code.exit-code-mask
+
+Type: `list[Literal['error', 'warn', 'warning', 'info', 'information', 'hint', 'all']] | None`
+
+Specifies the exit code mask for the code analysis.
+This is useful if you want to ignore certain types of diagnostics in the result code.
+
+Examples:
+```toml
+[tool.robotcode-analyze.code]
+exit_code_mask = ["error", "warn"]
+```
+
+## tool.robotcode-analyze.code.extend-exit-code-mask
+
+Type: `list[Literal['error', 'warn', 'warning', 'info', 'information', 'hint', 'all']] | None`
+
+Extend the exit code mask setting.
+
## tool.robotcode-analyze.exclude-patterns
Type: `list[str] | None`
@@ -2701,6 +2733,31 @@ Examples:
- `MyVariables`
- `myvars.subpackage.subpackage`
+## tool.robotcode-analyze.extend-code
+
+Type: `CodeConfig | None`
+
+Extend the code analysis configuration.
+
+## tool.robotcode-analyze.extend-code.exit-code-mask
+
+Type: `list[Literal['error', 'warn', 'warning', 'info', 'information', 'hint', 'all']] | None`
+
+Specifies the exit code mask for the code analysis.
+This is useful if you want to ignore certain types of diagnostics in the result code.
+
+Examples:
+```toml
+[tool.robotcode-analyze.code]
+exit_code_mask = ["error", "warn"]
+```
+
+## tool.robotcode-analyze.extend-code.extend-exit-code-mask
+
+Type: `list[Literal['error', 'warn', 'warning', 'info', 'information', 'hint', 'all']] | None`
+
+Extend the exit code mask setting.
+
## tool.robotcode-analyze.extend-exclude-patterns
Type: `list[str] | None`
diff --git a/docs/04_tip_and_tricks/variable_not_found.md b/docs/04_tip_and_tricks/variable_not_found.md
new file mode 100644
index 000000000..e019fd7ae
--- /dev/null
+++ b/docs/04_tip_and_tricks/variable_not_found.md
@@ -0,0 +1,299 @@
+# DRAFT: Why is my variable shown as "not found"?
+
+Does this sound familiar? Your Robot Framework tests are carefully written and run smoothly - but RobotCode persistently displays `VariableNotFound` errors, even though you're certain that all variables are defined and no errors are reported during runtime. In this guide, you'll learn what causes this problem, how the different handling of variables between RobotCode and Robot Framework leads to misunderstandings, and which best practices make your tests more reliable, maintainable, and transparent.
+
+## Variables and Variable Scopes in Robot Framework
+
+Variables are a fundamental building block of any test automation with Robot Framework. They allow storing and reusing values, make tests more dynamic, and improve the maintainability of your code. However, to use variables effectively, understanding their scopes is crucial.
+
+In Robot Framework, a variable's scope determines where it's available and how long it exists. Misunderstanding these scopes often leads to confusion, especially when RobotCode marks variables as "not found" even though they work at runtime.
+
+### What scopes exist
+
+Robot Framework distinguishes four main scopes for variables, which are hierarchically arranged ([see also Robot Framework Documentation on Variable Scopes](https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#variable-scopes)):
+
+- **Local**: The narrowest scope level. Local variables exist only within the keyword in which they were created, or within a test case if defined there. They disappear as soon as the keyword or test is completed.
+
+- **Test/Task**: These variables are valid for the duration of a single test and are only accessible within that test. This scope only exists within keywords; within a test, this scope corresponds to the local scope.
+
+- **Suite**: Suite variables are available within an entire test suite - that is, in all tests of a `.robot` file as well as in all keywords called in these tests.
+
+- **Global**: The widest scope level. Global variables are available in all test suites, tests, and keywords that run during a test execution.
+
+This hierarchical structure is important to understand as it determines how Robot Framework searches for variables and how variable overrides work.
+
+### `*** Variables ***` Section
+
+The `*** Variables ***` section is a fundamental component of Robot files for defining variables:
+
+- **Suite Scope:** All variables defined here automatically receive suite scope and are available throughout the file.
+
+- **Import order decides:** For variables with identical names:
+ - The first found definition takes precedence
+ - This applies to both definitions in the current suite and in imported resource files
+ - For nested resource imports (when Resource A imports Resource B), the same rule applies: The first read definition wins
+
+- **Strategic overriding:** This property can be deliberately used, for example:
+ - To control test behavior in different environments
+ - To specifically adjust library settings
+ This powerful technique should be used with caution.
+
+- **Command line variables have the highest priority:** Variables defined via command line parameters (`--variable` or `-v`) always override all definitions in `*** Variables ***` sections.
+
+**Example: Overriding browser settings**
+
+In this test suite, we define default browser settings that can be overridden by command line parameters:
+
+```robot
+*** Settings ***
+Library Browser
+
+*** Variables ***
+${BROWSER} chromium
+${HEADLESS} FALSE
+
+*** Test Cases ***
+Open Browser Test
+ New Browser browser=${BROWSER} headless=${HEADLESS}
+ New Page https://example.com
+ # Further test steps...
+ Close Browser
+```
+
+**Execution with default values:**
+```bash
+robot tests/web_tests.robot
+```
+Uses Chromium in normal (non-headless) mode.
+
+**Execution with Firefox in headless mode:**
+```bash
+robot --variable BROWSER:firefox --variable HEADLESS:True tests/web_tests.robot
+```
+
+This pattern is particularly useful for:
+- CI/CD pipelines with different browser requirements
+- Parallel testing on various browsers
+- Local debugging (GUI mode) vs. server execution (headless)
+
+**Tip:** RobotCode provides special hints when a variable definition might override another definition or be overridden by a global variable.
+
+### How Robot Framework resolves variables
+
+When resolving variables, Robot Framework follows a strictly hierarchical search strategy:
+
+1. **Local scope** (within the current keyword or test)
+2. **Test scope** (within the current test case)
+3. **Suite scope** (within the current test suite)
+4. **Global scope** (valid for the entire test run)
+
+This search strategy follows a hierarchical resolution principle: Robot Framework always searches first in the narrowest available scope (local) and gradually expands the search outward. The search stops as soon as a matching variable is found - even if there are further variables with the same name in outer scopes.
+
+In other words: A local variable named `${status}` always takes precedence over a test, suite, or global variable with the same name. This resolution order (local → test → suite → global) corresponds to the typical scope rules of many programming languages.
+
+### What happens when setting variables?
+
+Robot Framework offers several methods to define variables and assign them a scope:
+
+- **Set keywords**: The classic method with `Set Global Variable`, `Set Suite Variable`, `Set Test Variable`, and `Set Local Variable`
+- **VAR syntax**: The modern, more readable syntax (available from Robot Framework 7.0) with an optional scope parameter
+- **Return values**: Variables created by assigning a keyword return value are local by default
+
+An important concept in Robot Framework is the **scope override mechanism**: If you define a variable with a name that already exists in a narrower scope and specify a wider scope, the variable in the narrower scope is automatically deleted. This behavior ensures that the variable has the last assigned value, regardless of the scope specified.
+
+Consider the following example:
+
+```robot
+*** Test Cases ***
+test variable scopes
+ # 1. Create a local variable
+ VAR ${a_var} a local value
+ Log ${a_var} # Output: "a local value"
+
+ # 2. Create a suite variable with the same name
+ VAR ${a_var} a suite value scope=suite
+ # The local variable is automatically deleted
+ Log ${a_var} # Output: "a suite value"
+
+ # 3. Create a global variable with the same name
+ VAR ${a_var} a global value scope=global
+ # The suite variable is automatically deleted
+ Log ${a_var} # Output: "a global value"
+```
+
+To better understand this behavior, it is recommended to run the code in the debugger and observe the variables in the Variables view.
+
+Pay special attention when variables are set in called keywords with a higher scope:
+
+```robot
+*** Test Cases ***
+test variable scopes
+ VAR ${a_var} a local value
+ Log ${a_var} # Output: a local value
+ Do Something
+ Log ${a_var} # Output: a global value - the local variable was overridden
+
+
+*** Keywords ***
+Do Something
+ VAR ${a_var} a global value scope=global
+```
+
+Caution: By setting a variable with the same name but in a different scope in the `Do Something` keyword, the local variable in the calling test is overridden. This can lead to hard-to-understand effects if you do not explicitly account for this behavior.
+
+## Conclusion on variables and variable scopes
+
+Understanding the different variable scopes in Robot Framework is crucial for developing robust and maintainable tests. The hierarchical structure of local, test, suite, and global variables offers flexibility but also requires careful use. It is especially important to understand the resolution strategy: Robot Framework always searches from the narrowest to the widest scope and stops at the first match.
+
+Pay particular attention to the fact that setting variables with identical names in different scopes can lead to unexpected overrides. The automatic deletion of variables in narrower scopes can cause hard-to-understand side effects, especially when it occurs in nested keywords.
+
+As a best practice, you should:
+- Use meaningful variable names
+- Be cautious when setting variables in suite or global scopes - use these only for truly shared values
+- Prefer keyword arguments and return values over setting variables in wider scopes
+- Most variables should remain in the local scope
+- Be aware of the impact of variables sections in resource files and their import order
+- Document necessary variable overrides between keywords to avoid surprises
+
+These principles help you avoid the most common pitfalls when working with variables and also explain why RobotCode sometimes marks variables as "not found" even though they would exist at runtime.
+
+## Why does RobotCode now report "Variable not found"?
+
+The core of the problem lies in two fundamentally different working methods:
+
+### Runtime vs. Development time
+
+**Robot Framework** is an interpreter that processes your `.robot` files **at runtime** sequentially:
+- Variables are dynamically evaluated
+- Scopes are created and destroyed during test execution
+- Variable definitions through `Set Suite Variable`, `Set Global Variable`, or the `VAR` syntax with scope parameters only take effect when the corresponding code section is executed
+- Only at this moment do the variables become known and usable in the specified scope
+
+**RobotCode**, on the other hand, performs a **static analysis**:
+- Your code is analyzed before it is executed
+- RobotCode cannot "see into the future" and know which variables would exist at runtime
+- The IDE must work with the information available at the time of analysis
+- It cannot predict dynamic assignments or conditional execution paths
+
+This fundamental discrepancy between **dynamic execution** and **static analysis** explains why RobotCode must mark variables as `VariableNotFound` even if they would work correctly at runtime. It's like the difference between reading a recipe (static analysis) and actually cooking (runtime) - when reading, you only see the ingredients explicitly listed, not what will later emerge during cooking.
+
+### Reasons why RobotCode can be confused:
+
+The following points explain why RobotCode sometimes does not recognize variables even though they would exist at runtime.
+
+- **No call analysis:**
+ RobotCode does not perform deep tracking of variable assignments across keyword or test calls during its static analysis. This means specifically:
+
+ - If, for example, a suite or global variable is created within a keyword with `Set Suite Variable` or `Set Global Variable`, RobotCode cannot trace this assignment back to the calling code.
+ - The variable may then appear as "not found" in the test case, even though it would exist correctly at runtime.
+
+ **Example:** A keyword `Setup Environment` sets a suite variable `${CONFIG}`, which is then used in a test. RobotCode cannot automatically recognize that `${CONFIG}` would be defined by calling `Setup Environment`.
+
+ **Why can't RobotCode do this?**
+
+ - **Technically challenging:** A complete call analysis would require simulating all possible execution paths - including conditional branches and loops.
+
+ - **Dynamic language elements:** Robot Framework allows:
+
+ - Conditional execution paths that are not predictable
+ - Dynamically generated keyword calls (`Run Keyword ${dynamic_name}`)
+ - Imports at runtime ([`Import Library ${lib_name}`](https://robotframework.org/robotframework/latest/libraries/BuiltIn.html#Import%20Library), [`Import Resource ${resource_path}`](https://robotframework.org/robotframework/latest/libraries/BuiltIn.html#Import%20Resource))
+ - Dynamically generated variable names ([`${Home ${name}}`](https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#variables-inside-variables))
+
+ - **Performance:** Analyzing complex test suites with all possible execution paths would significantly slow down the IDE.
+
+ - **Unlimited search space:** Nested calls across multiple files and potentially recursive structures make a complete analysis impossible.
+
+- **Unpredictable execution order:**
+ The execution order in Robot Framework is not always statically predictable. RobotCode cannot know during analysis:
+
+ - Whether tests are filtered with **tags** (`--include`/`--exclude`/`--skip`)
+ - Whether the order is changed by **command line options** (`--randomize`)
+ - Whether tests are skipped by **conditional execution** (`Skip If`, `Run Keyword If`)
+ - Whether **dynamically generated tests** are used (test templates with variable data)
+ - Whether **parallel execution** (e.g., with Pabot) is used
+ - Whether **external listeners or prerunmodifiers** change the execution or execution order
+
+ **Example:** A suite contains two tests - the first defines `${CONFIG_VALUE}` as a suite variable, the second uses it:
+
+ ```robot
+ *** Test Cases ***
+ Setup Configuration
+ [Tags] setup
+ Set Suite Variable ${CONFIG_VALUE} production
+
+ Use Configuration
+ [Tags] functional
+ Log ${CONFIG_VALUE} # Works only if the setup test was executed
+ ```
+
+ If the test is run with `--include functional`, the variable is missing.
+
+- **Conditional assignments and loops:**
+ If variables are only set under certain conditions (e.g., in `IF` statements or loops) or in dynamic contexts, RobotCode cannot predict the actual execution path. Examples include:
+
+ - Variables defined only in an `IF` branch
+ - Variables created only within a `FOR` loop
+ - Variables whose assignment depends on dynamic conditions
+
+ ```robot
+ *** Test Cases ***
+ test different environments
+ IF '${ENV}' == 'production'
+ Set Suite Variable ${API_URL} https://api.production.example.com
+ ELSE
+ Set Suite Variable ${TEST_URL} https://api.test.example.com
+ END
+
+ Log ${API_URL} # [!code error] Error: VariableNotFound
+ Log ${TEST_URL} # [!code error] Error: VariableNotFound
+ ```
+
+- **Suite order and `__init__.robot`:**
+ Robot Framework uses a hierarchical execution model with folders and files as test suites. When executing a folder as a suite, Robot Framework first processes the `__init__.robot` file of that folder, if present. This file can define suite setup/teardown keywords as well as test/task setups that then apply to all tests within the entire folder structure.
+
+ This leads to an important peculiarity: Variables defined in these `__init__.robot` files or their suite setups are available at runtime in all subordinate tests. However, this only applies if you run the entire folder. When directly executing a single `.robot` file, parent `__init__.robot` files may not be considered at all - accordingly, the variables defined in them do not exist.
+
+ RobotCode cannot predict during its static analysis whether a single file or an entire folder will be executed.
+
+
+### Summary of technical reasons:
+
+| Problem | At runtime | During static analysis |
+| ---------------------- | -------------------------------------------------- | ------------------------------------------------------ |
+| Call analysis | Variable is defined by called keyword | No complete tracking of call chains |
+| Execution order | Depends on CLI options and conditional executions | Cannot predict which tests will be executed |
+| Conditional assignments| Only one path is actually executed | All possible paths would need to be analyzed |
+| Suite folder | Available depending on execution context | Cannot know the exact execution context |
+
+## The conservative strategy of RobotCode
+
+RobotCode deliberately follows a cautious approach to variable recognition, partly due to technical limitations regarding complexity and performance. It only marks a variable as valid if it is explicitly defined in one of the following ways:
+
+- As a command line parameter
+- In a `*** Variables ***` section
+- In the currently analyzable scope (such as keyword arguments or local variables)
+
+All other variables are consistently marked as `VariableNotFound` - even if they might exist at runtime. This conservative strategy is not merely a technical limitation but a deliberate design principle that offers significant advantages for test quality and maintenance:
+
+- **Error prevention:** The variable might actually be undefined, which would only lead to errors at runtime. Such runtime errors are particularly tricky as they may only occur under certain conditions and take a lot of time to debug. Tests could fail on CI/CD systems or in specific environments even though they work fine locally. RobotCode helps you identify and fix these potential issues early during development - long before they lead to hard-to-trace errors in production-like environments.
+
+- **Code clarity:** Developers cannot immediately tell if a variable is correctly defined when its definition is hidden in other files or nested keywords. A particular risk arises when variables with identical names are set via `Set Global Variable` in different resource files. It can easily happen that a team member uses an already used variable name (`${CONFIG}`) for a completely different purpose - while you store server settings with it, someone else uses the same name for test data. Without explicit definitions, undetected conflicts and hard-to-trace errors arise.
+
+- **Maintainability:** Implicit variable definitions scattered across multiple resource files or occurring only under certain execution conditions create unwanted dependencies and complicate long-term maintenance. When variables "magically" appear - defined somewhere deep in keywords or rarely executed code paths - every change becomes a risk. Teams spend unnecessary time figuring out where a variable was originally set and whether changing it might have unintended side effects. As test suites grow, this problem intensifies exponentially: What was obvious to the original developer becomes an opaque web of hidden dependencies for the team. RobotCode's conservative warnings enforce cleaner design with explicit dependencies.
+
+- **Documentation:** Explicit variable definitions serve as integrated documentation of your code. They make it immediately clear which variables are used, what type they have, and what default values are intended. This significantly eases onboarding for new team members as they don't have to search the entire code to understand where a variable comes from or what purpose it serves. Especially in larger test projects, this kind of self-documentation becomes an important factor for the long-term maintainability and extensibility of the test suite.
+
+The `VariableNotFound` messages should therefore not be seen as annoying warnings but as valuable development tools. They encourage critical reflection on your code and promote better design decisions: "Is a suite variable really necessary here, or is there a more elegant solution?" These diagnostic messages foster an architectural understanding of the test structure, improve code quality, and ultimately support the development of explicit, self-explanatory structures. This principle applies to all diagnostic messages in RobotCode - they are not mere error indications but valuable guardrails on the path to high-quality, robust test suites.
+
+## How to avoid `VariableNotFound` errors
+
+### Definition of cross-scope variables in the `*** Variables ***` section
+
+TODO
+
+#### Checking default values
+
+### Using keywords with RETURN
+
+TODO
diff --git a/docs/images/pycharm.svg b/docs/images/pycharm.svg
new file mode 100644
index 000000000..36c31478f
--- /dev/null
+++ b/docs/images/pycharm.svg
@@ -0,0 +1,214 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/package.json b/docs/package.json
index 9ab63d240..19c6bc855 100644
--- a/docs/package.json
+++ b/docs/package.json
@@ -8,16 +8,16 @@
"preview": "vitepress preview"
},
"devDependencies": {
- "esbuild": "^0.25.0",
+ "esbuild": "^0.25.3",
"markdown-it-abbr": "^2.0.0",
- "markdown-it-kbd": "^2.2.2",
+ "markdown-it-kbd": "^3.0.0",
"markdown-it-mathjax3": "^4.3.2",
"markdown-it-task-lists": "^2.1.1",
- "typescript": "^5.7.3",
- "typescript-eslint": "^8.25.0",
+ "typescript": "^5.8.3",
+ "typescript-eslint": "^8.31.1",
"vitepress": "^1.6.3",
- "vitepress-plugin-tabs": "^0.6.0",
- "vitepress-sidebar": "^1.31.0"
+ "vitepress-plugin-tabs": "^0.7.0",
+ "vitepress-sidebar": "^1.31.1"
},
"dependencies": {
"docs": "file:"
diff --git a/etc/robot.toml.json b/etc/robot.toml.json
index f0f13ec63..52e4cb93c 100644
--- a/etc/robot.toml.json
+++ b/etc/robot.toml.json
@@ -23,6 +23,19 @@
"description": "Defines the cache configuration.",
"title": "Cache"
},
+ "code": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/CodeConfig"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Defines the code analysis configuration.\n\nExamples:\n\n```toml\n[tool.robotcode-analyze.code]\nexit_code_mask = \"error|warn\"\n```\n",
+ "title": "Code"
+ },
"exclude-patterns": {
"default": null,
"description": "Specifies glob patterns for excluding files and folders from analysing by the language server.",
@@ -48,6 +61,19 @@
"description": "Extend the cache configuration.",
"title": "Extend cache"
},
+ "extend-code": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/CodeConfig"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Extend the code analysis configuration.",
+ "title": "Extend code"
+ },
"extend-exclude-patterns": {
"default": null,
"description": "Extend the exclude patterns.",
@@ -203,6 +229,56 @@
"title": "CacheConfig",
"type": "object"
},
+ "CodeConfig": {
+ "additionalProperties": false,
+ "description": "robotcode-analyze code configuration.",
+ "properties": {
+ "exit-code-mask": {
+ "default": null,
+ "description": "Specifies the exit code mask for the code analysis.\nThis is useful if you want to ignore certain types of diagnostics in the result code.\n\nExamples:\n```toml\n[tool.robotcode-analyze.code]\nexit_code_mask = [\"error\", \"warn\"]\n```\n",
+ "items": {
+ "enum": [
+ "error",
+ "warn",
+ "warning",
+ "info",
+ "information",
+ "hint",
+ "all"
+ ],
+ "type": "string"
+ },
+ "title": "Exit code mask",
+ "type": [
+ "array",
+ "null"
+ ]
+ },
+ "extend-exit-code-mask": {
+ "default": null,
+ "description": "Extend the exit code mask setting.",
+ "items": {
+ "enum": [
+ "error",
+ "warn",
+ "warning",
+ "info",
+ "information",
+ "hint",
+ "all"
+ ],
+ "type": "string"
+ },
+ "title": "Extend exit code mask",
+ "type": [
+ "array",
+ "null"
+ ]
+ }
+ },
+ "title": "CodeConfig",
+ "type": "object"
+ },
"Condition": {
"additionalProperties": false,
"description": "Condition to evaluate.",
diff --git a/hatch.toml b/hatch.toml
index 98b967182..f431230d2 100644
--- a/hatch.toml
+++ b/hatch.toml
@@ -22,7 +22,6 @@ dependencies = [
"pytest-cov",
"mypy",
"ruff",
- "black",
"debugpy",
"GitPython",
"semantic-version",
@@ -98,7 +97,7 @@ matrix.rf.dependencies = [
{ value = "robotframework>=7.1, <7.2", if = [
"rf71",
] },
- { value = "robotframework>=7.2, <7.3", if = [
+ { value = "robotframework>=7.2, <7.3", if = [
"rf72",
] },
]
@@ -150,10 +149,8 @@ features = ["all"]
[envs.lint.scripts]
-typing-py = "mypy --no-incremental --cache-dir /dev/null {args:.}"
-typing = ["typing-py", "npm run compile"]
-style = ["ruff check .", "black --check --diff .", "npx eslint ."]
-fmt = ["black .", "ruff check --fix .", "style", "npx eslint --fix ."]
+typing = "mypy --no-incremental --cache-dir /dev/null {args:.}"
+style = ["ruff check .", "ruff format --diff ."]
all = ["style", "typing"]
[envs.lint.overrides]
@@ -178,3 +175,14 @@ extract-release-notes = ["python scripts/extract_release_notes.py"]
is-prerelease = ["python scripts/is_prerelease.py"]
bump = ["cz bump {args}"]
install-bundled-editable = "python ./scripts/install_bundled_editable.py"
+
+
+[envs.hatch-static-analysis]
+installer="uv"
+dependencies = ["ruff"]
+
+[envs.hatch-static-analysis.scripts]
+format-check = ["ruff format --check --diff {args:.}"]
+format-fix = ["ruff format {args:.}"]
+lint-check = ["ruff check {args:.}"]
+lint-fix = "ruff check --fix {args:.}"
diff --git a/intellij-client/build.gradle.kts b/intellij-client/build.gradle.kts
index e83cb1791..a2e5eea57 100644
--- a/intellij-client/build.gradle.kts
+++ b/intellij-client/build.gradle.kts
@@ -27,7 +27,7 @@ kotlin {
// Configure project's dependencies
repositories {
mavenCentral()
-
+
// IntelliJ Platform Gradle Plugin Repositories Extension - read more: https://plugins.jetbrains.com/docs/intellij/tools-intellij-platform-gradle-plugin-repositories-extension.html
intellijPlatform {
defaultRepositories()
@@ -37,10 +37,10 @@ repositories {
// Dependencies are managed with Gradle version catalog - read more: https://docs.gradle.org/current/userguide/platforms.html#sub:version-catalog
dependencies {
compileOnly(libs.kotlinxSerialization)
-
+
testImplementation(kotlin("test"))
testImplementation(libs.junit)
-
+
// IntelliJ Platform Gradle Plugin Dependencies Extension - read more: https://plugins.jetbrains.com/docs/intellij/tools-intellij-platform-gradle-plugin-dependencies-extension.html
intellijPlatform {
create(
@@ -48,11 +48,11 @@ dependencies {
providers.gradleProperty("platformVersion"),
useInstaller = false,
)
-
+
// Plugin Dependencies. Uses `platformBundledPlugins` property from the gradle.properties file for bundled IntelliJ Platform plugins.
bundledPlugins(providers.gradleProperty("platformBundledPlugins").map { it.split(',') })
plugins(providers.gradleProperty("platformPlugins").map { it.split(',') })
-
+
pluginVerifier()
zipSigner()
testFramework(TestFrameworkType.Platform)
@@ -64,12 +64,12 @@ intellijPlatform {
pluginConfiguration {
name = providers.gradleProperty("pluginName")
version = providers.gradleProperty("pluginVersion")
-
+
// Extract the section from README.md and provide for the plugin's manifest
description = providers.fileContents(layout.projectDirectory.file("README.md")).asText.map {
val start = ""
val end = ""
-
+
with(it.lines()) {
if (!containsAll(listOf(start, end))) {
throw GradleException("Plugin description section not found in README.md:\n$start ... $end")
@@ -77,9 +77,9 @@ intellijPlatform {
subList(indexOf(start) + 1, indexOf(end)).joinToString("\n").let(::markdownToHTML)
}
}
-
+
val changelog = project.changelog
-
+
// local variable for configuration cache compatibility // Get the latest available change notes from the changelog file
changeNotes = providers.gradleProperty("pluginVersion").map { pluginVersion ->
with(changelog) {
@@ -89,34 +89,34 @@ intellijPlatform {
)
}
}
-
+
ideaVersion {
sinceBuild = providers.gradleProperty("pluginSinceBuild")
untilBuild = providers.gradleProperty("pluginUntilBuild")
}
}
-
+
signing {
certificateChain = providers.environmentVariable("CERTIFICATE_CHAIN")
privateKey = providers.environmentVariable("PRIVATE_KEY")
password = providers.environmentVariable("PRIVATE_KEY_PASSWORD")
}
-
+
publishing {
token = providers.environmentVariable("PUBLISH_TOKEN")
-
+
// The pluginVersion is based on the SemVer (https://semver.org) and supports pre-release labels, like 2.1.7-alpha.3
// Specify pre-release label to publish the plugin in a custom Release Channel automatically. Read more:
// https://plugins.jetbrains.com/docs/intellij/deployment.html#specifying-a-release-channel
channels = providers.gradleProperty("pluginVersion")
.map { listOf(it.substringAfter('-', "").substringBefore('.').ifEmpty { "default" }) }
}
-
+
pluginVerification {
ides {
recommended()
}
-
+
}
}
@@ -149,22 +149,22 @@ val prepareSandboxConfig: PrepareSandboxTask.() -> Unit = {
tasks {
runIde {
-
+
// From https://app.slack.com/client/T5P9YATH9/C5U8BM1MK
// systemProperty("ide.experimental.ui", "true")
// systemProperty("projectView.hide.dot.idea", "false")
// systemProperty("terminal.new.ui", "false")
// systemProperty("ide.tree.painter.compact.default", "true")
}
-
+
wrapper {
gradleVersion = providers.gradleProperty("gradleVersion").get()
}
-
+
publishPlugin {
dependsOn(patchChangelog)
}
-
+
prepareSandbox(prepareSandboxConfig)
}
@@ -190,9 +190,9 @@ tasks.withType {
)
}
}
-
+
prepareSandboxTask(prepareSandboxConfig)
-
+
plugins {
robotServerPlugin(Constraints.LATEST_VERSION)
}
@@ -200,19 +200,19 @@ tasks.withType {
@Suppress("unused") val runIdePyCharmProf by intellijPlatformTesting.runIde.registering {
type = IntelliJPlatformType.PyCharmProfessional
-
+
prepareSandboxTask(prepareSandboxConfig)
}
@Suppress("unused") val runIdePyCharmCommunityEAP by intellijPlatformTesting.runIde.registering {
type = IntelliJPlatformType.PyCharmCommunity
version = "LATEST-EAP-SNAPSHOT"
-
+
prepareSandboxTask(prepareSandboxConfig)
}
@Suppress("unused") val runIdeIntellijIdeaC by intellijPlatformTesting.runIde.registering {
type = IntelliJPlatformType.IntellijIdeaCommunity
-
+
prepareSandboxTask(prepareSandboxConfig)
}
diff --git a/intellij-client/gradle.properties b/intellij-client/gradle.properties
index e7caff984..9df959cc5 100644
--- a/intellij-client/gradle.properties
+++ b/intellij-client/gradle.properties
@@ -4,25 +4,28 @@ pluginGroup = dev.robotcode
pluginName = RobotCode - Robot Framework Support
pluginRepositoryUrl = https://github.com/robotcodedev/robotcode4ij
# SemVer format -> https://semver.org
-pluginVersion = 1.0.1
+pluginVersion = 1.2.0
# Supported build number ranges and IntelliJ Platform versions -> https://plugins.jetbrains.com/docs/intellij/build-number-ranges.html
-pluginSinceBuild = 243
-pluginUntilBuild = 251.*
+pluginSinceBuild = 251
+pluginUntilBuild = 261.*
# IntelliJ Platform Properties -> https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html#configuration-intellij-extension
platformType = PC
-platformVersion = 2024.3.1
+platformVersion = 2025.1
# Plugin Dependencies -> https://plugins.jetbrains.com/docs/intellij/plugin-dependencies.html
# Example: platformPlugins = com.jetbrains.php:203.4449.22, org.intellij.scala:2023.3.27@EAP
-platformPlugins = com.redhat.devtools.lsp4ij:0.10.0
+#platformPlugins = com.redhat.devtools.lsp4ij:0.13.0-20250502-121924@nightly
+platformPlugins = com.redhat.devtools.lsp4ij:0.12.0
+
+
# Example: platformBundledPlugins = com.intellij.java
platformBundledPlugins = PythonCore, org.jetbrains.plugins.textmate
# Gradle Releases -> https://github.com/gradle/gradle/releases
-gradleVersion = 8.12
+gradleVersion = 8.14
# Opt-out flag for bundling Kotlin standard library -> https://jb.gg/intellij-platform-kotlin-stdlib
kotlin.stdlib.default.dependency = false
diff --git a/intellij-client/gradle/libs.versions.toml b/intellij-client/gradle/libs.versions.toml
index 71690abd9..2ddcd7735 100644
--- a/intellij-client/gradle/libs.versions.toml
+++ b/intellij-client/gradle/libs.versions.toml
@@ -1,14 +1,14 @@
[versions]
# libraries
-annotations = "26.0.1"
+annotations = "26.0.2"
kotlinxSerialization = "1.7.3"
junit = "4.13.2"
lsp4j = "0.21.1"
# plugins
changelog = "2.2.1"
-intelliJPlatForm = "2.2.1"
-kotlin = "2.1.0"
+intelliJPlatForm = "2.5.0"
+kotlin = "2.1.10"
kover = "0.9.1"
[libraries.lsp4j]
@@ -55,5 +55,3 @@ version.ref = "kover"
[plugins.kotlinSerialization]
id = "org.jetbrains.kotlin.plugin.serialization"
version.ref = "kotlin"
-
-
diff --git a/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/RobotCodeHelpers.kt b/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/RobotCodeHelpers.kt
index 84f9a9a96..f98ecff27 100644
--- a/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/RobotCodeHelpers.kt
+++ b/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/RobotCodeHelpers.kt
@@ -111,7 +111,7 @@ fun Project.buildRobotCodeCommandLine(
*(if (format.isNotEmpty()) arrayOf("--format", format) else arrayOf()),
*(if (noColor) arrayOf("--no-color") else arrayOf()),
*(if (noPager) arrayOf("--no-pager") else arrayOf()),
- *profiles.flatMap { listOf("--profile", it) }.toTypedArray(),
+ *profiles.flatMap { listOf("-p", it) }.toTypedArray(),
*extraArgs,
*args
).withWorkDirectory(this.basePath).withCharset(Charsets.UTF_8)
diff --git a/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/TextMateBundleHolder.kt b/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/TextMateBundleHolder.kt
index ecc931fa4..d0abd0cbd 100644
--- a/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/TextMateBundleHolder.kt
+++ b/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/TextMateBundleHolder.kt
@@ -1,28 +1,29 @@
package dev.robotcode.robotcode4ij
-import com.intellij.util.containers.Interner
import org.jetbrains.plugins.textmate.TextMateService
+import org.jetbrains.plugins.textmate.language.TextMateConcurrentMapInterner
import org.jetbrains.plugins.textmate.language.TextMateLanguageDescriptor
-import org.jetbrains.plugins.textmate.language.syntax.TextMateSyntaxTable
+import org.jetbrains.plugins.textmate.language.syntax.TextMateSyntaxTableBuilder
object TextMateBundleHolder {
- private val interner = Interner.createWeakInterner()
+ private val interner = TextMateConcurrentMapInterner()
val descriptor: TextMateLanguageDescriptor by lazy {
val reader = TextMateService.getInstance().readBundle(RobotCodeHelpers.basePath)
?: throw IllegalStateException("Failed to read robotcode textmate bundle")
- val syntaxTable = TextMateSyntaxTable()
+ val builder = TextMateSyntaxTableBuilder(interner)
val grammarIterator = reader.readGrammars().iterator()
while (grammarIterator.hasNext()) {
val grammar = grammarIterator.next()
- val rootScopeName = syntaxTable.loadSyntax(grammar.plist.value, interner) ?: continue
+
+ val rootScopeName = builder.addSyntax(grammar.plist.value) ?: continue
if (rootScopeName == "source.robotframework") {
- val syntax = syntaxTable.getSyntax(rootScopeName)
- return@lazy TextMateLanguageDescriptor(rootScopeName, syntax)
+ val syntax = builder.build()
+ return@lazy TextMateLanguageDescriptor(rootScopeName, syntax.getSyntax(rootScopeName))
}
}
diff --git a/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/configuration/RobotCodeColorSettingsPage.kt b/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/configuration/RobotCodeColorSettingsPage.kt
index 4d176c2e0..8eb78dc66 100644
--- a/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/configuration/RobotCodeColorSettingsPage.kt
+++ b/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/configuration/RobotCodeColorSettingsPage.kt
@@ -22,6 +22,7 @@ class RobotCodeColorSettingsPage : ColorSettingsPage {
AttributesDescriptor("Setting", Colors.SETTING),
AttributesDescriptor("Setting import", Colors.SETTING_IMPORT),
AttributesDescriptor("Control flow", Colors.CONTROL_FLOW),
+ AttributesDescriptor("Var statement", Colors.VAR),
AttributesDescriptor("Argument", Colors.ARGUMENT),
AttributesDescriptor("Embedded argument", Colors.EMBEDDED_ARGUMENT),
AttributesDescriptor("Named argument", Colors.NAMED_ARGUMENT),
@@ -64,38 +65,60 @@ class RobotCodeColorSettingsPage : ColorSettingsPage {
return """
*** Settings ***
Library SeleniumLibrary
-
+
*** Variables ***
${'$'}{URL} http://example.com # a comment
-
+
*** Test Cases ***
Example Test
Open Application ${'$'}{URL}
Log %{APP_DATA=unknown}
+ Do Something with argument1 argument2
+ ... argument3
+ # This is a comment
+ ... argument4
Close Application
-
+
BDD Example Test
Given application is ppen
When I enter something into the Search Field
Then Something Should Happen
-
+
Another Test
[Documentation] This is a test
... with multiple lines
[Arguments]
... ${'$'}{arg1}
... ${'$'}{arg2}
-
+ [Tags] example
+ [Setup] Open Application with arguments
+
Log ${'$'}{arg1} ${'$'}{arg2}
-
+ Log To Console Hello World
+
*** Keywords ***
Open Application
[Arguments] ${'$'}{url}
Open Browser ${'$'}{url}
-
+
Close Application
Close Browser
-
+
+
+ Do Something Different
+ [Arguments] ${'$'}{arg1} ${'$'}{arg2}
+ IF ${'$'}arg1=="value"
+ Log ${'$'}{arg1}
+ ELSE
+ Log ${'$'}{arg2}
+ END
+
+ IF ${'$'}arg2==1234
+ Log ${'$'}{arg1}
+ ELSE IF ${'$'}arg2==789
+ Log ${'$'}{arg2}
+ END
+
*** Comments ***
this is a comment block
with multiple lines
diff --git a/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/execution/RobotCodeRunProfileState.kt b/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/execution/RobotCodeRunProfileState.kt
index 51e5b1e1b..31e5d9c37 100644
--- a/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/execution/RobotCodeRunProfileState.kt
+++ b/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/execution/RobotCodeRunProfileState.kt
@@ -78,13 +78,13 @@ class RobotCodeRunProfileState(private val config: RobotCodeRunConfiguration, en
environment.runProfile as? RobotCodeRunConfiguration ?: throw CantRunException("Invalid run configuration")
// TODO: Add support for configurable paths
- val defaultPaths = arrayOf("--default-path", ".")
+ val defaultPaths = arrayOf("-dp", ".")
val debug = environment.runner is RobotCodeDebugProgramRunner
val included = mutableListOf()
for (test in profile.includedTestItems) {
- included.add("--by-longname")
+ included.add("-bl")
included.add(test.longname)
}
diff --git a/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/highlighting/Colors.kt b/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/highlighting/Colors.kt
index 373efb0d5..7036b6745 100644
--- a/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/highlighting/Colors.kt
+++ b/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/highlighting/Colors.kt
@@ -28,6 +28,9 @@ object Colors {
val CONTROL_FLOW: TextAttributesKey =
createTextAttributesKey("ROBOTFRAMEWORK_CONTROL_FLOW", DefaultLanguageHighlighterColors.KEYWORD)
+ val VAR: TextAttributesKey =
+ createTextAttributesKey("ROBOTFRAMEWORK_VAR", DefaultLanguageHighlighterColors.KEYWORD)
+
val VARIABLE: TextAttributesKey =
createTextAttributesKey("ROBOTFRAMEWORK_VARIABLE", DefaultLanguageHighlighterColors.GLOBAL_VARIABLE)
val VARIABLE_EXPRESSION: TextAttributesKey =
@@ -63,4 +66,3 @@ object Colors {
val CONTINUATION: TextAttributesKey =
createTextAttributesKey("ROBOTFRAMEWORK_CONTINUATION", DefaultLanguageHighlighterColors.DOT)
}
-
diff --git a/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/highlighting/RobotCodeLexer.kt b/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/highlighting/RobotCodeLexer.kt
index f8b4a0055..e955a2705 100644
--- a/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/highlighting/RobotCodeLexer.kt
+++ b/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/highlighting/RobotCodeLexer.kt
@@ -1,9 +1,12 @@
package dev.robotcode.robotcode4ij.highlighting
import com.intellij.lexer.LexerBase
+import com.intellij.openapi.application.ApplicationManager
+import com.intellij.openapi.progress.ProgressManager
import com.intellij.openapi.util.registry.Registry
import com.intellij.psi.TokenType
import com.intellij.psi.tree.IElementType
+import com.intellij.textmate.joni.JoniRegexFactory
import dev.robotcode.robotcode4ij.TextMateBundleHolder
import dev.robotcode.robotcode4ij.psi.ARGUMENT
import dev.robotcode.robotcode4ij.psi.COMMENT_BLOCK
@@ -24,8 +27,16 @@ import dev.robotcode.robotcode4ij.psi.TESTCASE_NAME
import dev.robotcode.robotcode4ij.psi.VARIABLE
import dev.robotcode.robotcode4ij.psi.VARIABLE_BEGIN
import dev.robotcode.robotcode4ij.psi.VARIABLE_END
-import org.jetbrains.plugins.textmate.language.syntax.lexer.TextMateLexer
+import org.jetbrains.plugins.textmate.language.syntax.lexer.TextMateCachingSyntaxMatcher
+import org.jetbrains.plugins.textmate.language.syntax.lexer.TextMateLexerCore
import org.jetbrains.plugins.textmate.language.syntax.lexer.TextMateScope
+import org.jetbrains.plugins.textmate.language.syntax.lexer.TextMateSyntaxMatcherImpl
+import org.jetbrains.plugins.textmate.language.syntax.lexer.TextmateToken
+import org.jetbrains.plugins.textmate.language.syntax.selector.TextMateSelectorCachingWeigher
+import org.jetbrains.plugins.textmate.language.syntax.selector.TextMateSelectorWeigherImpl
+import org.jetbrains.plugins.textmate.regex.CachingRegexFactory
+import org.jetbrains.plugins.textmate.regex.RegexFactory
+import org.jetbrains.plugins.textmate.regex.RememberingLastMatchRegexFactory
import java.util.*
import kotlin.math.min
@@ -76,10 +87,19 @@ class RobotCodeLexer : LexerBase() {
}
}
+ val regexFactory: RegexFactory = CachingRegexFactory(RememberingLastMatchRegexFactory(JoniRegexFactory()))
+ val weigher: TextMateSelectorCachingWeigher = TextMateSelectorCachingWeigher(TextMateSelectorWeigherImpl())
+ val syntaxMatcher: TextMateCachingSyntaxMatcher =
+ TextMateCachingSyntaxMatcher(TextMateSyntaxMatcherImpl(regexFactory, weigher))
+ val lexer = TextMateLexerCore(
+ TextMateBundleHolder.descriptor,
+ syntaxMatcher,
+ Registry.get("textmate.line.highlighting.limit").asInteger(),
+ false
+ )
- private val myLexer =
- TextMateLexer(TextMateBundleHolder.descriptor, Registry.get("textmate.line.highlighting.limit").asInteger())
- private var currentLineTokens = LinkedList()
+
+ private var currentLineTokens = LinkedList()
private lateinit var buffer: CharSequence
private var endOffset = 0
private var currentOffset = 0
@@ -95,7 +115,7 @@ class RobotCodeLexer : LexerBase() {
this.endOffset = endOffset
this.currentLineTokens.clear()
this.restartable = initialState == 0
- myLexer.init(buffer, startOffset)
+ lexer.init(buffer, startOffset)
this.advance()
}
@@ -117,20 +137,23 @@ class RobotCodeLexer : LexerBase() {
override fun advance() {
if (this.currentOffset >= this.endOffset) {
- this.updateState(null as TextMateLexer.Token?, this.endOffset)
+ this.updateState(null, this.endOffset)
} else {
if (currentLineTokens.isEmpty()) {
- myLexer.advanceLine(this.currentLineTokens)
+ val app = ApplicationManager.getApplication()
+ val checkCancelledCallback: Runnable? =
+ if (app != null && !app.isUnitTestMode) Runnable { ProgressManager.checkCanceled() } else null
+ currentLineTokens.addAll(lexer.advanceLine(checkCancelledCallback))
}
this.updateState(
currentLineTokens.poll(),
- myLexer.currentOffset
+ lexer.getCurrentOffset()
)
}
}
- private fun updateState(token: TextMateLexer.Token?, fallbackOffset: Int) {
+ private fun updateState(token: TextmateToken?, fallbackOffset: Int) {
if (token != null) {
this.tokenType =
(if (token.scope === TextMateScope.WHITESPACE) TokenType.WHITE_SPACE else mapping[token.scope.scopeName]
@@ -157,5 +180,3 @@ class RobotCodeLexer : LexerBase() {
return endOffset
}
}
-
-
diff --git a/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/highlighting/RobotCodeSyntaxHighlighter.kt b/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/highlighting/RobotCodeSyntaxHighlighter.kt
index 030d42ea6..bd798f9dd 100644
--- a/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/highlighting/RobotCodeSyntaxHighlighter.kt
+++ b/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/highlighting/RobotCodeSyntaxHighlighter.kt
@@ -92,7 +92,6 @@ class RobotCodeSyntaxHighlighter : SyntaxHighlighterBase() {
)
}
-
private val myLexer = RobotCodeLexer()
override fun getHighlightingLexer(): Lexer {
diff --git a/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/lsp/RobotCodeSemanticTokensColorsProvider.kt b/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/lsp/RobotCodeSemanticTokensColorsProvider.kt
index b437a73ba..bece2116f 100644
--- a/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/lsp/RobotCodeSemanticTokensColorsProvider.kt
+++ b/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/lsp/RobotCodeSemanticTokensColorsProvider.kt
@@ -4,7 +4,6 @@ import com.intellij.openapi.diagnostic.thisLogger
import com.intellij.openapi.editor.colors.TextAttributesKey
import com.intellij.psi.PsiFile
import com.redhat.devtools.lsp4ij.features.semanticTokens.DefaultSemanticTokensColorsProvider
-import com.redhat.devtools.lsp4ij.features.semanticTokens.SemanticTokensColorsProvider
import dev.robotcode.robotcode4ij.highlighting.Colors
private val mapping by lazy {
@@ -20,6 +19,8 @@ private val mapping by lazy {
"setting" to Colors.SETTING,
"settingImport" to Colors.SETTING_IMPORT,
"controlFlow" to Colors.CONTROL_FLOW,
+ "forSeparator" to Colors.CONTROL_FLOW,
+ "var" to Colors.VAR,
"testcaseName" to Colors.TESTCASE_NAME,
"keywordName" to Colors.KEYWORD_NAME,
@@ -28,6 +29,7 @@ private val mapping by lazy {
"nameCall" to Colors.NAME_CALL,
"argument" to Colors.ARGUMENT,
"embeddedArgument" to Colors.EMBEDDED_ARGUMENT,
+ "argument,embedded" to Colors.EMBEDDED_ARGUMENT,
"namedArgument" to Colors.NAMED_ARGUMENT,
"variable" to Colors.VARIABLE,
"variableExpression" to Colors.VARIABLE_EXPRESSION,
@@ -44,12 +46,19 @@ class RobotCodeSemanticTokensColorsProvider : DefaultSemanticTokensColorsProvide
override fun getTextAttributesKey(
tokenType: String, tokenModifiers: MutableList, file: PsiFile
): TextAttributesKey? {
- val result = mapping[tokenType] ?: super.getTextAttributesKey(tokenType, tokenModifiers, file)
+ var tokenTypeAndModifiers = tokenType
+ if (tokenModifiers.isNotEmpty()) {
+ tokenTypeAndModifiers += ",${tokenModifiers.joinToString(",")}"
+ }
+ val result = mapping[tokenTypeAndModifiers] ?: mapping[tokenType] ?: super.getTextAttributesKey(
+ tokenType,
+ tokenModifiers,
+ file
+ )
return result ?: run {
- thisLogger().warn("Unknown token type: $tokenType")
+ thisLogger().warn("Unknown token type: $tokenType and modifiers: $tokenModifiers")
null
}
}
}
-
diff --git a/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/lsp/RobotCodeTokensFileViewProviderFactory.kt b/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/lsp/RobotCodeTokensFileViewProviderFactory.kt
new file mode 100644
index 000000000..f718fa1a5
--- /dev/null
+++ b/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/lsp/RobotCodeTokensFileViewProviderFactory.kt
@@ -0,0 +1,35 @@
+package dev.robotcode.robotcode4ij.lsp
+
+import com.intellij.lang.Language
+import com.intellij.openapi.vfs.VirtualFile
+import com.intellij.psi.FileViewProvider
+import com.intellij.psi.FileViewProviderFactory
+import com.intellij.psi.PsiManager
+import com.redhat.devtools.lsp4ij.features.semanticTokens.viewProvider.LSPSemanticTokensFileViewProvider
+import com.redhat.devtools.lsp4ij.features.semanticTokens.viewProvider.LSPSemanticTokensSingleRootFileViewProvider
+import dev.robotcode.robotcode4ij.RobotFrameworkLanguage
+
+class RobotCodeTokensFileViewProviderFactory : FileViewProviderFactory {
+ override fun createFileViewProvider(
+ file: VirtualFile,
+ language: Language?,
+ manager: PsiManager,
+ eventSystemEnabled: Boolean
+ ): FileViewProvider {
+ if (language == RobotFrameworkLanguage) {
+ return RobotCodeTokensFileViewProvider(manager, file, eventSystemEnabled, language)
+ }
+ throw UnsupportedOperationException("Unsupported language: $language or file: $file")
+ }
+}
+
+class RobotCodeTokensFileViewProvider(
+ manager: PsiManager,
+ file: VirtualFile,
+ eventSystemEnabled: Boolean,
+ language: Language
+) : LSPSemanticTokensSingleRootFileViewProvider(manager, file, eventSystemEnabled, language),
+ LSPSemanticTokensFileViewProvider {
+
+
+}
diff --git a/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/lsp/RobotSemanticTokensHighlightVisitor.kt b/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/lsp/RobotSemanticTokensHighlightVisitor.kt
new file mode 100644
index 000000000..14cf831cb
--- /dev/null
+++ b/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/lsp/RobotSemanticTokensHighlightVisitor.kt
@@ -0,0 +1,64 @@
+package dev.robotcode.robotcode4ij.lsp
+
+import com.intellij.codeInsight.daemon.impl.HighlightVisitor
+import com.intellij.codeInsight.daemon.impl.analysis.HighlightInfoHolder
+import com.intellij.openapi.diagnostic.thisLogger
+import com.intellij.psi.PsiElement
+import com.intellij.psi.PsiFile
+import com.redhat.devtools.lsp4ij.LSPFileSupport
+import com.redhat.devtools.lsp4ij.LSPIJUtils
+import com.redhat.devtools.lsp4ij.features.semanticTokens.LazyHighlightInfo
+import com.redhat.devtools.lsp4ij.internal.PsiFileChangedException
+import dev.robotcode.robotcode4ij.RobotFrameworkLanguage
+import kotlinx.coroutines.future.await
+import kotlinx.coroutines.runBlocking
+import org.eclipse.lsp4j.SemanticTokensParams
+import java.util.concurrent.ExecutionException
+
+class RobotSemanticTokensHighlightVisitor : HighlightVisitor {
+ override fun suitableForFile(file: PsiFile): Boolean {
+ return file.language == RobotFrameworkLanguage
+ }
+
+ override fun visit(element: PsiElement) {
+ // No-op
+ }
+
+ override fun analyze(
+ file: PsiFile,
+ updateWholeFile: Boolean,
+ holder: HighlightInfoHolder,
+ action: Runnable
+ ): Boolean {
+ action.run()
+ runBlocking {
+ highlight(file, holder)
+ }
+ return true
+ }
+
+ suspend fun highlight(file: PsiFile, holder: HighlightInfoHolder) {
+ val semanticTokensSupport = LSPFileSupport.getSupport(file).getSemanticTokensSupport()
+ val params = SemanticTokensParams(LSPIJUtils.toTextDocumentIdentifier(file.virtualFile))
+
+ val semanticTokens = try {
+ semanticTokensSupport.getSemanticTokens(params).await()
+ } catch (_: PsiFileChangedException) {
+ semanticTokensSupport.cancel()
+ return
+ } catch (e: ExecutionException) {
+ thisLogger().error("Error while consuming LSP 'textDocument/semanticTokens/full' request", e)
+ return
+ }
+
+ val document = LSPIJUtils.getDocument(file.virtualFile) ?: return
+
+ semanticTokens.highlight(file, document) { start, end, colorKey ->
+ holder.add(LazyHighlightInfo.resolve(start, end, colorKey))
+ }
+ }
+
+ override fun clone(): HighlightVisitor {
+ return RobotSemanticTokensHighlightVisitor()
+ }
+}
diff --git a/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/psi/RobotCodeParserDefinition.kt b/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/psi/RobotCodeParserDefinition.kt
index 33847551f..6867094b7 100644
--- a/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/psi/RobotCodeParserDefinition.kt
+++ b/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/psi/RobotCodeParserDefinition.kt
@@ -34,14 +34,13 @@ class RobotCodeParserDefinition : ParserDefinition {
}
override fun getStringLiteralElements(): TokenSet {
- // return STRING_TOKENS
- return TokenSet.EMPTY
+ return STRING_TOKENS
}
override fun createElement(node: ASTNode): PsiElement {
return when (node.elementType) {
- is IRobotFrameworkElementType -> SimpleASTWrapperPsiElement(node)
is RobotTextMateElementType -> ASTWrapperPsiElement(node)
+ is IRobotFrameworkElementType -> SimpleASTWrapperPsiElement(node)
else -> throw IllegalArgumentException("Unknown element type: ${node.elementType}")
}
diff --git a/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/testing/RobotCodeTestManager.kt b/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/testing/RobotCodeTestManager.kt
index 1a07c2538..32647d6b6 100644
--- a/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/testing/RobotCodeTestManager.kt
+++ b/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/testing/RobotCodeTestManager.kt
@@ -36,7 +36,6 @@ import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.Job
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
-import kotlinx.coroutines.runBlocking
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
import java.nio.file.Paths
@@ -131,7 +130,7 @@ import java.util.*
}
if (refreshJob != null) {
thisLogger().info("Cancelling previous refresh job")
- //runBlocking { refreshJob?.join() }
+ // runBlocking { refreshJob?.join() }
}
refreshJobs[file] = refreshScope.launch {
delay(DEBOUNCE_DELAY)
@@ -167,7 +166,7 @@ import java.util.*
testItem.children = ApplicationManager.getApplication().executeOnPooledThread {
// TODO: Add support for configurable paths
- val defaultPaths = arrayOf("--default-path", ".")
+ val defaultPaths = arrayOf("-dp", ".")
val cmdLine = project.buildRobotCodeCommandLine(
arrayOf(
@@ -224,7 +223,7 @@ import java.util.*
testItems = ApplicationManager.getApplication().executeOnPooledThread {
// TODO: Add support for configurable paths
- val defaultPaths = arrayOf("--default-path", ".")
+ val defaultPaths = arrayOf("-dp", ".")
val cmdLine = project.buildRobotCodeCommandLine(
arrayOf(*defaultPaths, "discover", "--read-from-stdin", "all"), format = "json"
diff --git a/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/utils/NetUtils.kt b/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/utils/NetUtils.kt
index e6615f197..76eae71c7 100644
--- a/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/utils/NetUtils.kt
+++ b/intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/utils/NetUtils.kt
@@ -8,7 +8,7 @@ object NetUtils {
try {
ServerSocket(startPort).use { return startPort }
} catch (_: Exception) {
-
+
}
return if (endPort == null) {
diff --git a/intellij-client/src/main/resources/META-INF/plugin.xml b/intellij-client/src/main/resources/META-INF/plugin.xml
index c1c181a54..f0b83b625 100644
--- a/intellij-client/src/main/resources/META-INF/plugin.xml
+++ b/intellij-client/src/main/resources/META-INF/plugin.xml
@@ -9,6 +9,7 @@
com.intellij.modules.python
com.redhat.devtools.lsp4ij
org.jetbrains.plugins.textmate
+
robocorp.lsp.intellij
com.github.jnhyperion.hyperrobotframeworkplugin
com.millennialmedia.intellibot
@@ -50,6 +51,27 @@
language="robotframework"
implementationClass="com.redhat.devtools.lsp4ij.features.documentSymbol.LSPDocumentSymbolStructureViewFactory"/>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/intellij-client/src/main/resources/colorSchemes/RobotDarkColorScheme.xml b/intellij-client/src/main/resources/colorSchemes/RobotDarkColorScheme.xml
index 6822c88c1..5a6e7ff51 100644
--- a/intellij-client/src/main/resources/colorSchemes/RobotDarkColorScheme.xml
+++ b/intellij-client/src/main/resources/colorSchemes/RobotDarkColorScheme.xml
@@ -17,4 +17,10 @@
+
+
+
+
+
+
diff --git a/intellij-client/src/main/resources/colorSchemes/RobotLightColorScheme.xml b/intellij-client/src/main/resources/colorSchemes/RobotLightColorScheme.xml
index d8395a5be..39ba7f4f0 100644
--- a/intellij-client/src/main/resources/colorSchemes/RobotLightColorScheme.xml
+++ b/intellij-client/src/main/resources/colorSchemes/RobotLightColorScheme.xml
@@ -17,4 +17,10 @@
+
+
+
+
+
+
diff --git a/package-lock.json b/package-lock.json
index 0ab8663ad..e403dc9c2 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "robotcode",
- "version": "1.0.1",
+ "version": "1.2.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "robotcode",
- "version": "1.0.1",
+ "version": "1.2.0",
"funding": [
{
"type": "opencollective",
@@ -22,27 +22,27 @@
"vscode-languageclient": "^9.0.1"
},
"devDependencies": {
- "@eslint/compat": "^1.2.7",
- "@eslint/eslintrc": "^3.3.0",
- "@eslint/js": "^9.21.0",
+ "@eslint/compat": "^1.2.8",
+ "@eslint/eslintrc": "^3.3.1",
+ "@eslint/js": "^9.25.1",
"@jgoz/esbuild-plugin-typecheck": "^4.0.3",
"@types/fs-extra": "^11.0.4",
- "@types/node": "^22.13.6",
+ "@types/node": "^22.15.3",
"@types/vscode": "^1.96.0",
"@types/vscode-notebook-renderer": "^1.72.3",
"@vscode/python-extension": "^1.0.5",
- "@vscode/vsce": "^3.2.2",
- "esbuild": "^0.25.0",
- "eslint": "^9.21.0",
- "eslint-config-prettier": "^10.0.2",
- "eslint-plugin-prettier": "^5.2.3",
+ "@vscode/vsce": "^3.3.2",
+ "esbuild": "^0.25.3",
+ "eslint": "^9.25.1",
+ "eslint-config-prettier": "^10.1.2",
+ "eslint-plugin-prettier": "^5.2.6",
"globals": "^16.0.0",
- "ovsx": "^0.10.1",
- "preact": "^10.26.4",
- "prettier": "^3.5.2",
+ "ovsx": "^0.10.2",
+ "preact": "^10.26.5",
+ "prettier": "^3.5.3",
"ts-loader": "^9.5.2",
- "typescript": "^5.7.3",
- "typescript-eslint": "^8.25.0"
+ "typescript": "^5.8.3",
+ "typescript-eslint": "^8.31.1"
},
"engines": {
"vscode": "^1.96.0"
@@ -53,16 +53,16 @@
"docs": "file:"
},
"devDependencies": {
- "esbuild": "^0.25.0",
+ "esbuild": "^0.25.3",
"markdown-it-abbr": "^2.0.0",
- "markdown-it-kbd": "^2.2.2",
+ "markdown-it-kbd": "^3.0.0",
"markdown-it-mathjax3": "^4.3.2",
"markdown-it-task-lists": "^2.1.1",
- "typescript": "^5.7.3",
- "typescript-eslint": "^8.25.0",
+ "typescript": "^5.8.3",
+ "typescript-eslint": "^8.31.1",
"vitepress": "^1.6.3",
- "vitepress-plugin-tabs": "^0.6.0",
- "vitepress-sidebar": "^1.31.0"
+ "vitepress-plugin-tabs": "^0.7.0",
+ "vitepress-sidebar": "^1.31.1"
}
},
"node_modules/@algolia/autocomplete-core": {
@@ -580,9 +580,9 @@
}
},
"node_modules/@esbuild/aix-ppc64": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.0.tgz",
- "integrity": "sha512-O7vun9Sf8DFjH2UtqK8Ku3LkquL9SZL8OLY1T5NZkA34+wG3OQF7cl4Ql8vdNzM6fzBbYfLaiRLIOZ+2FOCgBQ==",
+ "version": "0.25.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.3.tgz",
+ "integrity": "sha512-W8bFfPA8DowP8l//sxjJLSLkD8iEjMc7cBVyP+u4cEv9sM7mdUCkgsj+t0n/BWPFtv7WWCN5Yzj0N6FJNUUqBQ==",
"cpu": [
"ppc64"
],
@@ -597,9 +597,9 @@
}
},
"node_modules/@esbuild/android-arm": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.0.tgz",
- "integrity": "sha512-PTyWCYYiU0+1eJKmw21lWtC+d08JDZPQ5g+kFyxP0V+es6VPPSUhM6zk8iImp2jbV6GwjX4pap0JFbUQN65X1g==",
+ "version": "0.25.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.3.tgz",
+ "integrity": "sha512-PuwVXbnP87Tcff5I9ngV0lmiSu40xw1At6i3GsU77U7cjDDB4s0X2cyFuBiDa1SBk9DnvWwnGvVaGBqoFWPb7A==",
"cpu": [
"arm"
],
@@ -614,9 +614,9 @@
}
},
"node_modules/@esbuild/android-arm64": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.0.tgz",
- "integrity": "sha512-grvv8WncGjDSyUBjN9yHXNt+cq0snxXbDxy5pJtzMKGmmpPxeAmAhWxXI+01lU5rwZomDgD3kJwulEnhTRUd6g==",
+ "version": "0.25.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.3.tgz",
+ "integrity": "sha512-XelR6MzjlZuBM4f5z2IQHK6LkK34Cvv6Rj2EntER3lwCBFdg6h2lKbtRjpTTsdEjD/WSe1q8UyPBXP1x3i/wYQ==",
"cpu": [
"arm64"
],
@@ -631,9 +631,9 @@
}
},
"node_modules/@esbuild/android-x64": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.0.tgz",
- "integrity": "sha512-m/ix7SfKG5buCnxasr52+LI78SQ+wgdENi9CqyCXwjVR2X4Jkz+BpC3le3AoBPYTC9NHklwngVXvbJ9/Akhrfg==",
+ "version": "0.25.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.3.tgz",
+ "integrity": "sha512-ogtTpYHT/g1GWS/zKM0cc/tIebFjm1F9Aw1boQ2Y0eUQ+J89d0jFY//s9ei9jVIlkYi8AfOjiixcLJSGNSOAdQ==",
"cpu": [
"x64"
],
@@ -648,9 +648,9 @@
}
},
"node_modules/@esbuild/darwin-arm64": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.0.tgz",
- "integrity": "sha512-mVwdUb5SRkPayVadIOI78K7aAnPamoeFR2bT5nszFUZ9P8UpK4ratOdYbZZXYSqPKMHfS1wdHCJk1P1EZpRdvw==",
+ "version": "0.25.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.3.tgz",
+ "integrity": "sha512-eESK5yfPNTqpAmDfFWNsOhmIOaQA59tAcF/EfYvo5/QWQCzXn5iUSOnqt3ra3UdzBv073ykTtmeLJZGt3HhA+w==",
"cpu": [
"arm64"
],
@@ -665,9 +665,9 @@
}
},
"node_modules/@esbuild/darwin-x64": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.0.tgz",
- "integrity": "sha512-DgDaYsPWFTS4S3nWpFcMn/33ZZwAAeAFKNHNa1QN0rI4pUjgqf0f7ONmXf6d22tqTY+H9FNdgeaAa+YIFUn2Rg==",
+ "version": "0.25.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.3.tgz",
+ "integrity": "sha512-Kd8glo7sIZtwOLcPbW0yLpKmBNWMANZhrC1r6K++uDR2zyzb6AeOYtI6udbtabmQpFaxJ8uduXMAo1gs5ozz8A==",
"cpu": [
"x64"
],
@@ -682,9 +682,9 @@
}
},
"node_modules/@esbuild/freebsd-arm64": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.0.tgz",
- "integrity": "sha512-VN4ocxy6dxefN1MepBx/iD1dH5K8qNtNe227I0mnTRjry8tj5MRk4zprLEdG8WPyAPb93/e4pSgi1SoHdgOa4w==",
+ "version": "0.25.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.3.tgz",
+ "integrity": "sha512-EJiyS70BYybOBpJth3M0KLOus0n+RRMKTYzhYhFeMwp7e/RaajXvP+BWlmEXNk6uk+KAu46j/kaQzr6au+JcIw==",
"cpu": [
"arm64"
],
@@ -699,9 +699,9 @@
}
},
"node_modules/@esbuild/freebsd-x64": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.0.tgz",
- "integrity": "sha512-mrSgt7lCh07FY+hDD1TxiTyIHyttn6vnjesnPoVDNmDfOmggTLXRv8Id5fNZey1gl/V2dyVK1VXXqVsQIiAk+A==",
+ "version": "0.25.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.3.tgz",
+ "integrity": "sha512-Q+wSjaLpGxYf7zC0kL0nDlhsfuFkoN+EXrx2KSB33RhinWzejOd6AvgmP5JbkgXKmjhmpfgKZq24pneodYqE8Q==",
"cpu": [
"x64"
],
@@ -716,9 +716,9 @@
}
},
"node_modules/@esbuild/linux-arm": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.0.tgz",
- "integrity": "sha512-vkB3IYj2IDo3g9xX7HqhPYxVkNQe8qTK55fraQyTzTX/fxaDtXiEnavv9geOsonh2Fd2RMB+i5cbhu2zMNWJwg==",
+ "version": "0.25.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.3.tgz",
+ "integrity": "sha512-dUOVmAUzuHy2ZOKIHIKHCm58HKzFqd+puLaS424h6I85GlSDRZIA5ycBixb3mFgM0Jdh+ZOSB6KptX30DD8YOQ==",
"cpu": [
"arm"
],
@@ -733,9 +733,9 @@
}
},
"node_modules/@esbuild/linux-arm64": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.0.tgz",
- "integrity": "sha512-9QAQjTWNDM/Vk2bgBl17yWuZxZNQIF0OUUuPZRKoDtqF2k4EtYbpyiG5/Dk7nqeK6kIJWPYldkOcBqjXjrUlmg==",
+ "version": "0.25.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.3.tgz",
+ "integrity": "sha512-xCUgnNYhRD5bb1C1nqrDV1PfkwgbswTTBRbAd8aH5PhYzikdf/ddtsYyMXFfGSsb/6t6QaPSzxtbfAZr9uox4A==",
"cpu": [
"arm64"
],
@@ -750,9 +750,9 @@
}
},
"node_modules/@esbuild/linux-ia32": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.0.tgz",
- "integrity": "sha512-43ET5bHbphBegyeqLb7I1eYn2P/JYGNmzzdidq/w0T8E2SsYL1U6un2NFROFRg1JZLTzdCoRomg8Rvf9M6W6Gg==",
+ "version": "0.25.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.3.tgz",
+ "integrity": "sha512-yplPOpczHOO4jTYKmuYuANI3WhvIPSVANGcNUeMlxH4twz/TeXuzEP41tGKNGWJjuMhotpGabeFYGAOU2ummBw==",
"cpu": [
"ia32"
],
@@ -767,9 +767,9 @@
}
},
"node_modules/@esbuild/linux-loong64": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.0.tgz",
- "integrity": "sha512-fC95c/xyNFueMhClxJmeRIj2yrSMdDfmqJnyOY4ZqsALkDrrKJfIg5NTMSzVBr5YW1jf+l7/cndBfP3MSDpoHw==",
+ "version": "0.25.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.3.tgz",
+ "integrity": "sha512-P4BLP5/fjyihmXCELRGrLd793q/lBtKMQl8ARGpDxgzgIKJDRJ/u4r1A/HgpBpKpKZelGct2PGI4T+axcedf6g==",
"cpu": [
"loong64"
],
@@ -784,9 +784,9 @@
}
},
"node_modules/@esbuild/linux-mips64el": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.0.tgz",
- "integrity": "sha512-nkAMFju7KDW73T1DdH7glcyIptm95a7Le8irTQNO/qtkoyypZAnjchQgooFUDQhNAy4iu08N79W4T4pMBwhPwQ==",
+ "version": "0.25.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.3.tgz",
+ "integrity": "sha512-eRAOV2ODpu6P5divMEMa26RRqb2yUoYsuQQOuFUexUoQndm4MdpXXDBbUoKIc0iPa4aCO7gIhtnYomkn2x+bag==",
"cpu": [
"mips64el"
],
@@ -801,9 +801,9 @@
}
},
"node_modules/@esbuild/linux-ppc64": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.0.tgz",
- "integrity": "sha512-NhyOejdhRGS8Iwv+KKR2zTq2PpysF9XqY+Zk77vQHqNbo/PwZCzB5/h7VGuREZm1fixhs4Q/qWRSi5zmAiO4Fw==",
+ "version": "0.25.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.3.tgz",
+ "integrity": "sha512-ZC4jV2p7VbzTlnl8nZKLcBkfzIf4Yad1SJM4ZMKYnJqZFD4rTI+pBG65u8ev4jk3/MPwY9DvGn50wi3uhdaghg==",
"cpu": [
"ppc64"
],
@@ -818,9 +818,9 @@
}
},
"node_modules/@esbuild/linux-riscv64": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.0.tgz",
- "integrity": "sha512-5S/rbP5OY+GHLC5qXp1y/Mx//e92L1YDqkiBbO9TQOvuFXM+iDqUNG5XopAnXoRH3FjIUDkeGcY1cgNvnXp/kA==",
+ "version": "0.25.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.3.tgz",
+ "integrity": "sha512-LDDODcFzNtECTrUUbVCs6j9/bDVqy7DDRsuIXJg6so+mFksgwG7ZVnTruYi5V+z3eE5y+BJZw7VvUadkbfg7QA==",
"cpu": [
"riscv64"
],
@@ -835,9 +835,9 @@
}
},
"node_modules/@esbuild/linux-s390x": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.0.tgz",
- "integrity": "sha512-XM2BFsEBz0Fw37V0zU4CXfcfuACMrppsMFKdYY2WuTS3yi8O1nFOhil/xhKTmE1nPmVyvQJjJivgDT+xh8pXJA==",
+ "version": "0.25.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.3.tgz",
+ "integrity": "sha512-s+w/NOY2k0yC2p9SLen+ymflgcpRkvwwa02fqmAwhBRI3SC12uiS10edHHXlVWwfAagYSY5UpmT/zISXPMW3tQ==",
"cpu": [
"s390x"
],
@@ -852,9 +852,9 @@
}
},
"node_modules/@esbuild/linux-x64": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.0.tgz",
- "integrity": "sha512-9yl91rHw/cpwMCNytUDxwj2XjFpxML0y9HAOH9pNVQDpQrBxHy01Dx+vaMu0N1CKa/RzBD2hB4u//nfc+Sd3Cw==",
+ "version": "0.25.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.3.tgz",
+ "integrity": "sha512-nQHDz4pXjSDC6UfOE1Fw9Q8d6GCAd9KdvMZpfVGWSJztYCarRgSDfOVBY5xwhQXseiyxapkiSJi/5/ja8mRFFA==",
"cpu": [
"x64"
],
@@ -869,9 +869,9 @@
}
},
"node_modules/@esbuild/netbsd-arm64": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.0.tgz",
- "integrity": "sha512-RuG4PSMPFfrkH6UwCAqBzauBWTygTvb1nxWasEJooGSJ/NwRw7b2HOwyRTQIU97Hq37l3npXoZGYMy3b3xYvPw==",
+ "version": "0.25.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.3.tgz",
+ "integrity": "sha512-1QaLtOWq0mzK6tzzp0jRN3eccmN3hezey7mhLnzC6oNlJoUJz4nym5ZD7mDnS/LZQgkrhEbEiTn515lPeLpgWA==",
"cpu": [
"arm64"
],
@@ -886,9 +886,9 @@
}
},
"node_modules/@esbuild/netbsd-x64": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.0.tgz",
- "integrity": "sha512-jl+qisSB5jk01N5f7sPCsBENCOlPiS/xptD5yxOx2oqQfyourJwIKLRA2yqWdifj3owQZCL2sn6o08dBzZGQzA==",
+ "version": "0.25.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.3.tgz",
+ "integrity": "sha512-i5Hm68HXHdgv8wkrt+10Bc50zM0/eonPb/a/OFVfB6Qvpiirco5gBA5bz7S2SHuU+Y4LWn/zehzNX14Sp4r27g==",
"cpu": [
"x64"
],
@@ -903,9 +903,9 @@
}
},
"node_modules/@esbuild/openbsd-arm64": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.0.tgz",
- "integrity": "sha512-21sUNbq2r84YE+SJDfaQRvdgznTD8Xc0oc3p3iW/a1EVWeNj/SdUCbm5U0itZPQYRuRTW20fPMWMpcrciH2EJw==",
+ "version": "0.25.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.3.tgz",
+ "integrity": "sha512-zGAVApJEYTbOC6H/3QBr2mq3upG/LBEXr85/pTtKiv2IXcgKV0RT0QA/hSXZqSvLEpXeIxah7LczB4lkiYhTAQ==",
"cpu": [
"arm64"
],
@@ -920,9 +920,9 @@
}
},
"node_modules/@esbuild/openbsd-x64": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.0.tgz",
- "integrity": "sha512-2gwwriSMPcCFRlPlKx3zLQhfN/2WjJ2NSlg5TKLQOJdV0mSxIcYNTMhk3H3ulL/cak+Xj0lY1Ym9ysDV1igceg==",
+ "version": "0.25.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.3.tgz",
+ "integrity": "sha512-fpqctI45NnCIDKBH5AXQBsD0NDPbEFczK98hk/aa6HJxbl+UtLkJV2+Bvy5hLSLk3LHmqt0NTkKNso1A9y1a4w==",
"cpu": [
"x64"
],
@@ -937,9 +937,9 @@
}
},
"node_modules/@esbuild/sunos-x64": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.0.tgz",
- "integrity": "sha512-bxI7ThgLzPrPz484/S9jLlvUAHYMzy6I0XiU1ZMeAEOBcS0VePBFxh1JjTQt3Xiat5b6Oh4x7UC7IwKQKIJRIg==",
+ "version": "0.25.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.3.tgz",
+ "integrity": "sha512-ROJhm7d8bk9dMCUZjkS8fgzsPAZEjtRJqCAmVgB0gMrvG7hfmPmz9k1rwO4jSiblFjYmNvbECL9uhaPzONMfgA==",
"cpu": [
"x64"
],
@@ -954,9 +954,9 @@
}
},
"node_modules/@esbuild/win32-arm64": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.0.tgz",
- "integrity": "sha512-ZUAc2YK6JW89xTbXvftxdnYy3m4iHIkDtK3CLce8wg8M2L+YZhIvO1DKpxrd0Yr59AeNNkTiic9YLf6FTtXWMw==",
+ "version": "0.25.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.3.tgz",
+ "integrity": "sha512-YWcow8peiHpNBiIXHwaswPnAXLsLVygFwCB3A7Bh5jRkIBFWHGmNQ48AlX4xDvQNoMZlPYzjVOQDYEzWCqufMQ==",
"cpu": [
"arm64"
],
@@ -971,9 +971,9 @@
}
},
"node_modules/@esbuild/win32-ia32": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.0.tgz",
- "integrity": "sha512-eSNxISBu8XweVEWG31/JzjkIGbGIJN/TrRoiSVZwZ6pkC6VX4Im/WV2cz559/TXLcYbcrDN8JtKgd9DJVIo8GA==",
+ "version": "0.25.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.3.tgz",
+ "integrity": "sha512-qspTZOIGoXVS4DpNqUYUs9UxVb04khS1Degaw/MnfMe7goQ3lTfQ13Vw4qY/Nj0979BGvMRpAYbs/BAxEvU8ew==",
"cpu": [
"ia32"
],
@@ -988,9 +988,9 @@
}
},
"node_modules/@esbuild/win32-x64": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.0.tgz",
- "integrity": "sha512-ZENoHJBxA20C2zFzh6AI4fT6RraMzjYw4xKWemRTRmRVtN9c5DcH9r/f2ihEkMjOW5eGgrwCslG/+Y/3bL+DHQ==",
+ "version": "0.25.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.3.tgz",
+ "integrity": "sha512-ICgUR+kPimx0vvRzf+N/7L7tVSQeE3BYY+NhHRHXS1kBuPO7z2+7ea2HbhDyZdTephgvNvKrlDDKUexuCVBVvg==",
"cpu": [
"x64"
],
@@ -1047,9 +1047,9 @@
}
},
"node_modules/@eslint/compat": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/@eslint/compat/-/compat-1.2.7.tgz",
- "integrity": "sha512-xvv7hJE32yhegJ8xNAnb62ggiAwTYHBpUCWhRxEj/ksvgDJuSXfoDkBcRYaYNFiJ+jH0IE3K16hd+xXzhBgNbg==",
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@eslint/compat/-/compat-1.2.8.tgz",
+ "integrity": "sha512-LqCYHdWL/QqKIJuZ/ucMAv8d4luKGs4oCPgpt8mWztQAtPrHfXKQ/XAUc8ljCHAfJCn6SvkpTcGt5Tsh8saowA==",
"dev": true,
"license": "Apache-2.0",
"engines": {
@@ -1065,9 +1065,9 @@
}
},
"node_modules/@eslint/config-array": {
- "version": "0.19.2",
- "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.2.tgz",
- "integrity": "sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==",
+ "version": "0.20.0",
+ "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.0.tgz",
+ "integrity": "sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
@@ -1079,10 +1079,20 @@
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
}
},
+ "node_modules/@eslint/config-helpers": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.1.tgz",
+ "integrity": "sha512-RI17tsD2frtDu/3dmI7QRrD4bedNKPM08ziRYaC5AhkGrzIAJelm9kJU1TznK+apx6V+cqRz8tfpEeG3oIyjxw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
"node_modules/@eslint/core": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.12.0.tgz",
- "integrity": "sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==",
+ "version": "0.13.0",
+ "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.13.0.tgz",
+ "integrity": "sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
@@ -1093,9 +1103,9 @@
}
},
"node_modules/@eslint/eslintrc": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.0.tgz",
- "integrity": "sha512-yaVPAiNAalnCZedKLdR21GOGILMLKPyqSLWaAjQFvYA2i/ciDi8ArYVr69Anohb6cH2Ukhqti4aFnYyPm8wdwQ==",
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz",
+ "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1130,9 +1140,9 @@
}
},
"node_modules/@eslint/js": {
- "version": "9.21.0",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.21.0.tgz",
- "integrity": "sha512-BqStZ3HX8Yz6LvsF5ByXYrtigrV5AXADWLAGc7PH/1SxOb7/FIYYMszZZWiUou/GB9P2lXWk2SV4d+Z8h0nknw==",
+ "version": "9.25.1",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.25.1.tgz",
+ "integrity": "sha512-dEIwmjntEx8u3Uvv+kr3PDeeArL8Hw07H9kyYxCjnM9pBjfEhk6uLXSchxxzgiwtRhhzVzqmUSDFBOi1TuZ7qg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -1150,13 +1160,13 @@
}
},
"node_modules/@eslint/plugin-kit": {
- "version": "0.2.7",
- "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.7.tgz",
- "integrity": "sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g==",
+ "version": "0.2.8",
+ "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.8.tgz",
+ "integrity": "sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
- "@eslint/core": "^0.12.0",
+ "@eslint/core": "^0.13.0",
"levn": "^0.4.1"
},
"engines": {
@@ -1400,16 +1410,16 @@
}
},
"node_modules/@pkgr/core": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz",
- "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==",
+ "version": "0.2.4",
+ "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.4.tgz",
+ "integrity": "sha512-ROFF39F6ZrnzSUEmQQZUar0Jt4xVoP9WnDRdWwF4NNcXs3xBTLgBUDoOwW141y1jP+S8nahIbdxbFC7IShw9Iw==",
"dev": true,
"license": "MIT",
"engines": {
"node": "^12.20.0 || ^14.18.0 || >=16.0.0"
},
"funding": {
- "url": "https://opencollective.com/unts"
+ "url": "https://opencollective.com/pkgr"
}
},
"node_modules/@rollup/rollup-android-arm-eabi": {
@@ -1870,13 +1880,13 @@
"license": "MIT"
},
"node_modules/@types/node": {
- "version": "22.13.7",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.7.tgz",
- "integrity": "sha512-oU2q+BsQldB9lYxHNp/5aZO+/Bs0Usa74Abo9mAKulz4ahQyXRHK6UVKYIN8KSC8HXwhWSi7b49JnX+txuac0w==",
+ "version": "22.15.3",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.3.tgz",
+ "integrity": "sha512-lX7HFZeHf4QG/J7tBZqrCAXwz9J5RD56Y6MpP0eJkka8p+K0RY/yBTW7CYFJ4VGCclxqOLKmiGP5juQc6MKgcw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "undici-types": "~6.20.0"
+ "undici-types": "~6.21.0"
}
},
"node_modules/@types/unist": {
@@ -1908,17 +1918,17 @@
"license": "MIT"
},
"node_modules/@typescript-eslint/eslint-plugin": {
- "version": "8.25.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.25.0.tgz",
- "integrity": "sha512-VM7bpzAe7JO/BFf40pIT1lJqS/z1F8OaSsUB3rpFJucQA4cOSuH2RVVVkFULN+En0Djgr29/jb4EQnedUo95KA==",
+ "version": "8.31.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.31.1.tgz",
+ "integrity": "sha512-oUlH4h1ABavI4F0Xnl8/fOtML/eu8nI2A1nYd+f+55XI0BLu+RIqKoCiZKNo6DtqZBEQm5aNKA20G3Z5w3R6GQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/regexpp": "^4.10.0",
- "@typescript-eslint/scope-manager": "8.25.0",
- "@typescript-eslint/type-utils": "8.25.0",
- "@typescript-eslint/utils": "8.25.0",
- "@typescript-eslint/visitor-keys": "8.25.0",
+ "@typescript-eslint/scope-manager": "8.31.1",
+ "@typescript-eslint/type-utils": "8.31.1",
+ "@typescript-eslint/utils": "8.31.1",
+ "@typescript-eslint/visitor-keys": "8.31.1",
"graphemer": "^1.4.0",
"ignore": "^5.3.1",
"natural-compare": "^1.4.0",
@@ -1934,20 +1944,20 @@
"peerDependencies": {
"@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0",
"eslint": "^8.57.0 || ^9.0.0",
- "typescript": ">=4.8.4 <5.8.0"
+ "typescript": ">=4.8.4 <5.9.0"
}
},
"node_modules/@typescript-eslint/parser": {
- "version": "8.25.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.25.0.tgz",
- "integrity": "sha512-4gbs64bnbSzu4FpgMiQ1A+D+urxkoJk/kqlDJ2W//5SygaEiAP2B4GoS7TEdxgwol2el03gckFV9lJ4QOMiiHg==",
+ "version": "8.31.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.31.1.tgz",
+ "integrity": "sha512-oU/OtYVydhXnumd0BobL9rkJg7wFJ9bFFPmSmB/bf/XWN85hlViji59ko6bSKBXyseT9V8l+CN1nwmlbiN0G7Q==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/scope-manager": "8.25.0",
- "@typescript-eslint/types": "8.25.0",
- "@typescript-eslint/typescript-estree": "8.25.0",
- "@typescript-eslint/visitor-keys": "8.25.0",
+ "@typescript-eslint/scope-manager": "8.31.1",
+ "@typescript-eslint/types": "8.31.1",
+ "@typescript-eslint/typescript-estree": "8.31.1",
+ "@typescript-eslint/visitor-keys": "8.31.1",
"debug": "^4.3.4"
},
"engines": {
@@ -1959,18 +1969,18 @@
},
"peerDependencies": {
"eslint": "^8.57.0 || ^9.0.0",
- "typescript": ">=4.8.4 <5.8.0"
+ "typescript": ">=4.8.4 <5.9.0"
}
},
"node_modules/@typescript-eslint/scope-manager": {
- "version": "8.25.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.25.0.tgz",
- "integrity": "sha512-6PPeiKIGbgStEyt4NNXa2ru5pMzQ8OYKO1hX1z53HMomrmiSB+R5FmChgQAP1ro8jMtNawz+TRQo/cSXrauTpg==",
+ "version": "8.31.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.31.1.tgz",
+ "integrity": "sha512-BMNLOElPxrtNQMIsFHE+3P0Yf1z0dJqV9zLdDxN/xLlWMlXK/ApEsVEKzpizg9oal8bAT5Sc7+ocal7AC1HCVw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.25.0",
- "@typescript-eslint/visitor-keys": "8.25.0"
+ "@typescript-eslint/types": "8.31.1",
+ "@typescript-eslint/visitor-keys": "8.31.1"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -1981,14 +1991,14 @@
}
},
"node_modules/@typescript-eslint/type-utils": {
- "version": "8.25.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.25.0.tgz",
- "integrity": "sha512-d77dHgHWnxmXOPJuDWO4FDWADmGQkN5+tt6SFRZz/RtCWl4pHgFl3+WdYCn16+3teG09DY6XtEpf3gGD0a186g==",
+ "version": "8.31.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.31.1.tgz",
+ "integrity": "sha512-fNaT/m9n0+dpSp8G/iOQ05GoHYXbxw81x+yvr7TArTuZuCA6VVKbqWYVZrV5dVagpDTtj/O8k5HBEE/p/HM5LA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/typescript-estree": "8.25.0",
- "@typescript-eslint/utils": "8.25.0",
+ "@typescript-eslint/typescript-estree": "8.31.1",
+ "@typescript-eslint/utils": "8.31.1",
"debug": "^4.3.4",
"ts-api-utils": "^2.0.1"
},
@@ -2001,13 +2011,13 @@
},
"peerDependencies": {
"eslint": "^8.57.0 || ^9.0.0",
- "typescript": ">=4.8.4 <5.8.0"
+ "typescript": ">=4.8.4 <5.9.0"
}
},
"node_modules/@typescript-eslint/types": {
- "version": "8.25.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.25.0.tgz",
- "integrity": "sha512-+vUe0Zb4tkNgznQwicsvLUJgZIRs6ITeWSCclX1q85pR1iOiaj+4uZJIUp//Z27QWu5Cseiw3O3AR8hVpax7Aw==",
+ "version": "8.31.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.31.1.tgz",
+ "integrity": "sha512-SfepaEFUDQYRoA70DD9GtytljBePSj17qPxFHA/h3eg6lPTqGJ5mWOtbXCk1YrVU1cTJRd14nhaXWFu0l2troQ==",
"dev": true,
"license": "MIT",
"engines": {
@@ -2019,14 +2029,14 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
- "version": "8.25.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.25.0.tgz",
- "integrity": "sha512-ZPaiAKEZ6Blt/TPAx5Ot0EIB/yGtLI2EsGoY6F7XKklfMxYQyvtL+gT/UCqkMzO0BVFHLDlzvFqQzurYahxv9Q==",
+ "version": "8.31.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.31.1.tgz",
+ "integrity": "sha512-kaA0ueLe2v7KunYOyWYtlf/QhhZb7+qh4Yw6Ni5kgukMIG+iP773tjgBiLWIXYumWCwEq3nLW+TUywEp8uEeag==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.25.0",
- "@typescript-eslint/visitor-keys": "8.25.0",
+ "@typescript-eslint/types": "8.31.1",
+ "@typescript-eslint/visitor-keys": "8.31.1",
"debug": "^4.3.4",
"fast-glob": "^3.3.2",
"is-glob": "^4.0.3",
@@ -2042,7 +2052,7 @@
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "typescript": ">=4.8.4 <5.8.0"
+ "typescript": ">=4.8.4 <5.9.0"
}
},
"node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": {
@@ -2072,16 +2082,16 @@
}
},
"node_modules/@typescript-eslint/utils": {
- "version": "8.25.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.25.0.tgz",
- "integrity": "sha512-syqRbrEv0J1wywiLsK60XzHnQe/kRViI3zwFALrNEgnntn1l24Ra2KvOAWwWbWZ1lBZxZljPDGOq967dsl6fkA==",
+ "version": "8.31.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.31.1.tgz",
+ "integrity": "sha512-2DSI4SNfF5T4oRveQ4nUrSjUqjMND0nLq9rEkz0gfGr3tg0S5KB6DhwR+WZPCjzkZl3cH+4x2ce3EsL50FubjQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.4.0",
- "@typescript-eslint/scope-manager": "8.25.0",
- "@typescript-eslint/types": "8.25.0",
- "@typescript-eslint/typescript-estree": "8.25.0"
+ "@typescript-eslint/scope-manager": "8.31.1",
+ "@typescript-eslint/types": "8.31.1",
+ "@typescript-eslint/typescript-estree": "8.31.1"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2092,17 +2102,17 @@
},
"peerDependencies": {
"eslint": "^8.57.0 || ^9.0.0",
- "typescript": ">=4.8.4 <5.8.0"
+ "typescript": ">=4.8.4 <5.9.0"
}
},
"node_modules/@typescript-eslint/visitor-keys": {
- "version": "8.25.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.25.0.tgz",
- "integrity": "sha512-kCYXKAum9CecGVHGij7muybDfTS2sD3t0L4bJsEZLkyrXUImiCTq1M3LG2SRtOhiHFwMR9wAFplpT6XHYjTkwQ==",
+ "version": "8.31.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.31.1.tgz",
+ "integrity": "sha512-I+/rgqOVBn6f0o7NDTmAPWWC6NuqhV174lfYvAm9fUaWeiefLdux9/YI3/nLugEn9L8fcSi0XmpKi/r5u0nmpw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.25.0",
+ "@typescript-eslint/types": "8.31.1",
"eslint-visitor-keys": "^4.2.0"
},
"engines": {
@@ -2146,9 +2156,9 @@
}
},
"node_modules/@vscode/vsce": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/@vscode/vsce/-/vsce-3.2.2.tgz",
- "integrity": "sha512-4TqdUq/yKlQTHcQMk/DamR632bq/+IJDomSbexOMee/UAYWqYm0XHWA6scGslsCpzY+sCWEhhl0nqdOB0XW1kw==",
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/@vscode/vsce/-/vsce-3.3.2.tgz",
+ "integrity": "sha512-XQ4IhctYalSTMwLnMS8+nUaGbU7v99Qm2sOoGfIEf2QC7jpiLXZZMh7NwArEFsKX4gHTJLx0/GqAUlCdC3gKCw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3823,9 +3833,9 @@
}
},
"node_modules/esbuild": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.0.tgz",
- "integrity": "sha512-BXq5mqc8ltbaN34cDqWuYKyNhX8D/Z0J1xdtdQ8UcIIIyJyz+ZMKUt58tF3SrZ85jcfN/PZYhjR5uDQAYNVbuw==",
+ "version": "0.25.3",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.3.tgz",
+ "integrity": "sha512-qKA6Pvai73+M2FtftpNKRxJ78GIjmFXFxd/1DVBqGo/qNhLSfv+G12n9pNoWdytJC8U00TrViOwpjT0zgqQS8Q==",
"dev": true,
"hasInstallScript": true,
"license": "MIT",
@@ -3836,31 +3846,31 @@
"node": ">=18"
},
"optionalDependencies": {
- "@esbuild/aix-ppc64": "0.25.0",
- "@esbuild/android-arm": "0.25.0",
- "@esbuild/android-arm64": "0.25.0",
- "@esbuild/android-x64": "0.25.0",
- "@esbuild/darwin-arm64": "0.25.0",
- "@esbuild/darwin-x64": "0.25.0",
- "@esbuild/freebsd-arm64": "0.25.0",
- "@esbuild/freebsd-x64": "0.25.0",
- "@esbuild/linux-arm": "0.25.0",
- "@esbuild/linux-arm64": "0.25.0",
- "@esbuild/linux-ia32": "0.25.0",
- "@esbuild/linux-loong64": "0.25.0",
- "@esbuild/linux-mips64el": "0.25.0",
- "@esbuild/linux-ppc64": "0.25.0",
- "@esbuild/linux-riscv64": "0.25.0",
- "@esbuild/linux-s390x": "0.25.0",
- "@esbuild/linux-x64": "0.25.0",
- "@esbuild/netbsd-arm64": "0.25.0",
- "@esbuild/netbsd-x64": "0.25.0",
- "@esbuild/openbsd-arm64": "0.25.0",
- "@esbuild/openbsd-x64": "0.25.0",
- "@esbuild/sunos-x64": "0.25.0",
- "@esbuild/win32-arm64": "0.25.0",
- "@esbuild/win32-ia32": "0.25.0",
- "@esbuild/win32-x64": "0.25.0"
+ "@esbuild/aix-ppc64": "0.25.3",
+ "@esbuild/android-arm": "0.25.3",
+ "@esbuild/android-arm64": "0.25.3",
+ "@esbuild/android-x64": "0.25.3",
+ "@esbuild/darwin-arm64": "0.25.3",
+ "@esbuild/darwin-x64": "0.25.3",
+ "@esbuild/freebsd-arm64": "0.25.3",
+ "@esbuild/freebsd-x64": "0.25.3",
+ "@esbuild/linux-arm": "0.25.3",
+ "@esbuild/linux-arm64": "0.25.3",
+ "@esbuild/linux-ia32": "0.25.3",
+ "@esbuild/linux-loong64": "0.25.3",
+ "@esbuild/linux-mips64el": "0.25.3",
+ "@esbuild/linux-ppc64": "0.25.3",
+ "@esbuild/linux-riscv64": "0.25.3",
+ "@esbuild/linux-s390x": "0.25.3",
+ "@esbuild/linux-x64": "0.25.3",
+ "@esbuild/netbsd-arm64": "0.25.3",
+ "@esbuild/netbsd-x64": "0.25.3",
+ "@esbuild/openbsd-arm64": "0.25.3",
+ "@esbuild/openbsd-x64": "0.25.3",
+ "@esbuild/sunos-x64": "0.25.3",
+ "@esbuild/win32-arm64": "0.25.3",
+ "@esbuild/win32-ia32": "0.25.3",
+ "@esbuild/win32-x64": "0.25.3"
}
},
"node_modules/escalade": {
@@ -3898,19 +3908,20 @@
}
},
"node_modules/eslint": {
- "version": "9.21.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.21.0.tgz",
- "integrity": "sha512-KjeihdFqTPhOMXTt7StsDxriV4n66ueuF/jfPNC3j/lduHwr/ijDwJMsF+wyMJethgiKi5wniIE243vi07d3pg==",
+ "version": "9.25.1",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.25.1.tgz",
+ "integrity": "sha512-E6Mtz9oGQWDCpV12319d59n4tx9zOTXSTmc8BLVxBx+G/0RdM5MvEEJLU9c0+aleoePYYgVTOsRblx433qmhWQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
"@eslint-community/regexpp": "^4.12.1",
- "@eslint/config-array": "^0.19.2",
- "@eslint/core": "^0.12.0",
- "@eslint/eslintrc": "^3.3.0",
- "@eslint/js": "9.21.0",
- "@eslint/plugin-kit": "^0.2.7",
+ "@eslint/config-array": "^0.20.0",
+ "@eslint/config-helpers": "^0.2.1",
+ "@eslint/core": "^0.13.0",
+ "@eslint/eslintrc": "^3.3.1",
+ "@eslint/js": "9.25.1",
+ "@eslint/plugin-kit": "^0.2.8",
"@humanfs/node": "^0.16.6",
"@humanwhocodes/module-importer": "^1.0.1",
"@humanwhocodes/retry": "^0.4.2",
@@ -3921,7 +3932,7 @@
"cross-spawn": "^7.0.6",
"debug": "^4.3.2",
"escape-string-regexp": "^4.0.0",
- "eslint-scope": "^8.2.0",
+ "eslint-scope": "^8.3.0",
"eslint-visitor-keys": "^4.2.0",
"espree": "^10.3.0",
"esquery": "^1.5.0",
@@ -3958,27 +3969,27 @@
}
},
"node_modules/eslint-config-prettier": {
- "version": "10.0.2",
- "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.0.2.tgz",
- "integrity": "sha512-1105/17ZIMjmCOJOPNfVdbXafLCLj3hPmkmB7dLgt7XsQ/zkxSuDerE/xgO3RxoHysR1N1whmquY0lSn2O0VLg==",
+ "version": "10.1.2",
+ "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.2.tgz",
+ "integrity": "sha512-Epgp/EofAUeEpIdZkW60MHKvPyru1ruQJxPL+WIycnaPApuseK0Zpkrh/FwL9oIpQvIhJwV7ptOy0DWUjTlCiA==",
"dev": true,
"license": "MIT",
"bin": {
- "eslint-config-prettier": "build/bin/cli.js"
+ "eslint-config-prettier": "bin/cli.js"
},
"peerDependencies": {
"eslint": ">=7.0.0"
}
},
"node_modules/eslint-plugin-prettier": {
- "version": "5.2.3",
- "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.3.tgz",
- "integrity": "sha512-qJ+y0FfCp/mQYQ/vWQ3s7eUlFEL4PyKfAJxsnYTJ4YT73nsJBWqmEpFryxV9OeUiqmsTsYJ5Y+KDNaeP31wrRw==",
+ "version": "5.2.6",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.6.tgz",
+ "integrity": "sha512-mUcf7QG2Tjk7H055Jk0lGBjbgDnfrvqjhXh9t2xLMSCjZVcw9Rb1V6sVNXO0th3jgeO7zllWPTNRil3JW94TnQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"prettier-linter-helpers": "^1.0.0",
- "synckit": "^0.9.1"
+ "synckit": "^0.11.0"
},
"engines": {
"node": "^14.18.0 || >=16.0.0"
@@ -3989,7 +4000,7 @@
"peerDependencies": {
"@types/eslint": ">=8.0.0",
"eslint": ">=8.0.0",
- "eslint-config-prettier": "*",
+ "eslint-config-prettier": ">= 7.0.0 <10.0.0 || >=10.1.0",
"prettier": ">=3.0.0"
},
"peerDependenciesMeta": {
@@ -4002,9 +4013,9 @@
}
},
"node_modules/eslint-scope": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz",
- "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==",
+ "version": "8.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.3.0.tgz",
+ "integrity": "sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==",
"dev": true,
"license": "BSD-2-Clause",
"dependencies": {
@@ -5686,13 +5697,13 @@
"license": "MIT"
},
"node_modules/markdown-it-kbd": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/markdown-it-kbd/-/markdown-it-kbd-2.2.2.tgz",
- "integrity": "sha512-J5qVHtLuxh1HTJcl5xhopiFpf6fnHIBY0OO1akGHf2KW0VwQLYhsip/bkiTJFoEZqhssxQuUBY1LO5/SbCrB6g==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/markdown-it-kbd/-/markdown-it-kbd-3.0.0.tgz",
+ "integrity": "sha512-r6XK2f8qKPycRX8pn4QShMlmBXElRHqurUV7T30/RIaMkyTTuKJWp/fijDoxiysian5HSExzmKDwIuFTR8+VRA==",
"dev": true,
"license": "MIT",
"engines": {
- "node": ">=6.0.0"
+ "node": ">=20.0.0"
}
},
"node_modules/markdown-it-mathjax3": {
@@ -6212,9 +6223,9 @@
}
},
"node_modules/ovsx": {
- "version": "0.10.1",
- "resolved": "https://registry.npmjs.org/ovsx/-/ovsx-0.10.1.tgz",
- "integrity": "sha512-8i7+MJMMeq73m1zPEIClSFe17SNuuzU5br7G77ZIfOC24elB4pGQs0N1qRd+gnnbyhL5Qu96G21nFOVOBa2OBg==",
+ "version": "0.10.2",
+ "resolved": "https://registry.npmjs.org/ovsx/-/ovsx-0.10.2.tgz",
+ "integrity": "sha512-osLwIOz5Uu1ePvYYSjKw05bkCZo2j/ydQLjm3uO7bCfstyFFzmWyzMGTAL3wJpI4qpo1S47Y52+q09h9A2ZRkQ==",
"dev": true,
"license": "EPL-2.0",
"dependencies": {
@@ -6481,9 +6492,9 @@
}
},
"node_modules/preact": {
- "version": "10.26.4",
- "resolved": "https://registry.npmjs.org/preact/-/preact-10.26.4.tgz",
- "integrity": "sha512-KJhO7LBFTjP71d83trW+Ilnjbo+ySsaAgCfXOXUlmGzJ4ygYPWmysm77yg4emwfmoz3b22yvH5IsVFHbhUaH5w==",
+ "version": "10.26.5",
+ "resolved": "https://registry.npmjs.org/preact/-/preact-10.26.5.tgz",
+ "integrity": "sha512-fmpDkgfGU6JYux9teDWLhj9mKN55tyepwYbxHgQuIxbWQzgFg5vk7Mrrtfx7xRxq798ynkY4DDDxZr235Kk+4w==",
"dev": true,
"license": "MIT",
"funding": {
@@ -6530,9 +6541,9 @@
}
},
"node_modules/prettier": {
- "version": "3.5.2",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.2.tgz",
- "integrity": "sha512-lc6npv5PH7hVqozBR7lkBNOGXV9vMwROAPlumdBkX0wTbbzPu/U1hk5yL8p2pt4Xoc+2mkT8t/sow2YrV/M5qg==",
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.3.tgz",
+ "integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==",
"dev": true,
"license": "MIT",
"bin": {
@@ -6618,9 +6629,9 @@
}
},
"node_modules/qsu": {
- "version": "1.7.1",
- "resolved": "https://registry.npmjs.org/qsu/-/qsu-1.7.1.tgz",
- "integrity": "sha512-GE/0bqFoMHcywbaJJ/t3A8DzVzp26ukNxJTwOp4h9F/G/NCeWh4p19nw7CbZ4XwfsjptkeJ/BKbCYtMFlOeHjg==",
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/qsu/-/qsu-1.10.0.tgz",
+ "integrity": "sha512-60UGE7IEYXX/xy/n1w7vDm+is43pmePajAdXAnFOczvVDJKbVqZ5/RvRy+yobjA4iQitr4H/4zojVFtAkNWW9g==",
"dev": true,
"license": "MIT",
"engines": {
@@ -7474,20 +7485,20 @@
}
},
"node_modules/synckit": {
- "version": "0.9.2",
- "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.2.tgz",
- "integrity": "sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==",
+ "version": "0.11.4",
+ "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.4.tgz",
+ "integrity": "sha512-Q/XQKRaJiLiFIBNN+mndW7S/RHxvwzuZS6ZwmRzUBqJBv/5QIKCEwkBC8GBf8EQJKYnaFs0wOZbKTXBPj8L9oQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@pkgr/core": "^0.1.0",
- "tslib": "^2.6.2"
+ "@pkgr/core": "^0.2.3",
+ "tslib": "^2.8.1"
},
"engines": {
"node": "^14.18.0 || >=16.0.0"
},
"funding": {
- "url": "https://opencollective.com/unts"
+ "url": "https://opencollective.com/synckit"
}
},
"node_modules/tabbable": {
@@ -7645,9 +7656,9 @@
}
},
"node_modules/ts-api-utils": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.1.tgz",
- "integrity": "sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz",
+ "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==",
"dev": true,
"license": "MIT",
"engines": {
@@ -7811,9 +7822,9 @@
}
},
"node_modules/typescript": {
- "version": "5.7.3",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz",
- "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==",
+ "version": "5.8.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz",
+ "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==",
"dev": true,
"license": "Apache-2.0",
"bin": {
@@ -7825,15 +7836,15 @@
}
},
"node_modules/typescript-eslint": {
- "version": "8.25.0",
- "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.25.0.tgz",
- "integrity": "sha512-TxRdQQLH4g7JkoFlYG3caW5v1S6kEkz8rqt80iQJZUYPq1zD1Ra7HfQBJJ88ABRaMvHAXnwRvRB4V+6sQ9xN5Q==",
+ "version": "8.31.1",
+ "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.31.1.tgz",
+ "integrity": "sha512-j6DsEotD/fH39qKzXTQRwYYWlt7D+0HmfpOK+DVhwJOFLcdmn92hq3mBb7HlKJHbjjI/gTOqEcc9d6JfpFf/VA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/eslint-plugin": "8.25.0",
- "@typescript-eslint/parser": "8.25.0",
- "@typescript-eslint/utils": "8.25.0"
+ "@typescript-eslint/eslint-plugin": "8.31.1",
+ "@typescript-eslint/parser": "8.31.1",
+ "@typescript-eslint/utils": "8.31.1"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -7844,7 +7855,7 @@
},
"peerDependencies": {
"eslint": "^8.57.0 || ^9.0.0",
- "typescript": ">=4.8.4 <5.8.0"
+ "typescript": ">=4.8.4 <5.9.0"
}
},
"node_modules/uc.micro": {
@@ -7872,9 +7883,9 @@
}
},
"node_modules/undici-types": {
- "version": "6.20.0",
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz",
- "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==",
+ "version": "6.21.0",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
+ "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
"dev": true,
"license": "MIT"
},
@@ -8068,9 +8079,9 @@
}
},
"node_modules/vite": {
- "version": "5.4.14",
- "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.14.tgz",
- "integrity": "sha512-EK5cY7Q1D8JNhSaPKVK4pwBFvaTmZxEnoKXLG/U9gmdDcihQGNzFlgIvaxezFR4glP1LsuiedwMBqCXH3wZccA==",
+ "version": "5.4.18",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.18.tgz",
+ "integrity": "sha512-1oDcnEp3lVyHCuQ2YFelM4Alm2o91xNoMncRm1U7S+JdYfYOvbiGZ3/CxGttrOu2M/KcGz7cRC2DoNUA6urmMA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8600,26 +8611,26 @@
}
},
"node_modules/vitepress-plugin-tabs": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/vitepress-plugin-tabs/-/vitepress-plugin-tabs-0.6.0.tgz",
- "integrity": "sha512-35mQUbI6lcVrLj0PpwautXm8LiV6Gz5ZDlklVRf/0KDd6gGs8HaZztqOxdffnzCiKIFLURBx930xq28it9jQTg==",
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/vitepress-plugin-tabs/-/vitepress-plugin-tabs-0.7.0.tgz",
+ "integrity": "sha512-++RyeFNEsj/bJBXJK1IURRbJOB9vRqCahRwk1a2ntp9+SZy+7qgE5806vw9W7+uKR9CMi1iW+6plOcCKpmDnfA==",
"dev": true,
"license": "MIT",
"peerDependencies": {
"vitepress": "^1.0.0",
- "vue": "^3.3.8"
+ "vue": "^3.5.0"
}
},
"node_modules/vitepress-sidebar": {
- "version": "1.31.0",
- "resolved": "https://registry.npmjs.org/vitepress-sidebar/-/vitepress-sidebar-1.31.0.tgz",
- "integrity": "sha512-ctdALc8ptXsD0HuOYMM8xjUu3lSBfHGJJZYtKYuixvjhL+q/AipLeSvsvwfUEhDIwRyi46HQlSa/7XsevVA/Mg==",
+ "version": "1.31.1",
+ "resolved": "https://registry.npmjs.org/vitepress-sidebar/-/vitepress-sidebar-1.31.1.tgz",
+ "integrity": "sha512-Hx10z5le87jIIXVfKq4AtRrVqVJJ/1cQsZhmwT+ghVR/j4Yor9FjNMszyigJ54ktrEtoxSLO6C9tvuLauT4lZA==",
"dev": true,
"license": "MIT",
"dependencies": {
"glob": "10.4.5",
"gray-matter": "4.0.3",
- "qsu": "^1.6.4"
+ "qsu": "^1.10.0"
},
"engines": {
"node": ">=18.0.0"
diff --git a/package.json b/package.json
index b0f93b002..702d333b7 100644
--- a/package.json
+++ b/package.json
@@ -4,7 +4,7 @@
"description": "Robot Framework IntelliSense, linting, test execution and debugging, code formatting, refactoring, and many more",
"icon": "images/icon.png",
"publisher": "d-biehl",
- "version": "1.0.1",
+ "version": "1.2.0",
"author": {
"name": "Daniel Biehl",
"url": "https://github.com/robotcodedev/"
@@ -757,6 +757,22 @@
"default": "none",
"description": "Defines if the report or log file should be opened after a run.",
"scope": "resource"
+ },
+ "robotcode.run.openOutputTarget": {
+ "type": "string",
+ "enum": [
+ "simpleBrowser",
+ "externalHttp",
+ "externalFile"
+ ],
+ "enumDescriptions": [
+ "Display the output file in a simple VSCode browser window.",
+ "Display the output file in your default web browser via HTTP.",
+ "Display the output file in your default browser via the file system."
+ ],
+ "default": "simpleBrowser",
+ "description": "Specifies how Robot Framework output files should be displayed when opened.",
+ "scope": "resource"
}
}
},
@@ -1918,27 +1934,27 @@
"vscode-languageclient": "^9.0.1"
},
"devDependencies": {
- "@eslint/compat": "^1.2.7",
- "@eslint/eslintrc": "^3.3.0",
- "@eslint/js": "^9.21.0",
+ "@eslint/compat": "^1.2.8",
+ "@eslint/eslintrc": "^3.3.1",
+ "@eslint/js": "^9.25.1",
"@jgoz/esbuild-plugin-typecheck": "^4.0.3",
"@types/fs-extra": "^11.0.4",
- "@types/node": "^22.13.6",
+ "@types/node": "^22.15.3",
"@types/vscode": "^1.96.0",
"@types/vscode-notebook-renderer": "^1.72.3",
"@vscode/python-extension": "^1.0.5",
- "@vscode/vsce": "^3.2.2",
- "esbuild": "^0.25.0",
- "eslint": "^9.21.0",
- "eslint-config-prettier": "^10.0.2",
- "eslint-plugin-prettier": "^5.2.3",
+ "@vscode/vsce": "^3.3.2",
+ "esbuild": "^0.25.3",
+ "eslint": "^9.25.1",
+ "eslint-config-prettier": "^10.1.2",
+ "eslint-plugin-prettier": "^5.2.6",
"globals": "^16.0.0",
- "ovsx": "^0.10.1",
- "preact": "^10.26.4",
- "prettier": "^3.5.2",
+ "ovsx": "^0.10.2",
+ "preact": "^10.26.5",
+ "prettier": "^3.5.3",
"ts-loader": "^9.5.2",
- "typescript": "^5.7.3",
- "typescript-eslint": "^8.25.0"
+ "typescript": "^5.8.3",
+ "typescript-eslint": "^8.31.1"
},
"workspaces": [
"docs"
diff --git a/packages/analyze/pyproject.toml b/packages/analyze/pyproject.toml
index b42d14e51..a71c8b0ed 100644
--- a/packages/analyze/pyproject.toml
+++ b/packages/analyze/pyproject.toml
@@ -27,9 +27,9 @@ classifiers = [
]
dependencies = [
"robotframework>=4.1.0",
- "robotcode-plugin==1.0.1",
- "robotcode-robot==1.0.1",
- "robotcode==1.0.1",
+ "robotcode-plugin==1.2.0",
+ "robotcode-robot==1.2.0",
+ "robotcode==1.2.0",
]
dynamic = ["version"]
diff --git a/packages/analyze/src/robotcode/analyze/__version__.py b/packages/analyze/src/robotcode/analyze/__version__.py
index 5c4105cd3..c68196d1c 100644
--- a/packages/analyze/src/robotcode/analyze/__version__.py
+++ b/packages/analyze/src/robotcode/analyze/__version__.py
@@ -1 +1 @@
-__version__ = "1.0.1"
+__version__ = "1.2.0"
diff --git a/packages/analyze/src/robotcode/analyze/cli.py b/packages/analyze/src/robotcode/analyze/cli.py
index cdc6aceab..604d1f0e8 100644
--- a/packages/analyze/src/robotcode/analyze/cli.py
+++ b/packages/analyze/src/robotcode/analyze/cli.py
@@ -1,24 +1,9 @@
-from enum import Flag
-from pathlib import Path
-from textwrap import indent
-from typing import List, Optional, Set, Tuple, Union
-
import click
-from robotcode.core.lsp.types import Diagnostic, DiagnosticSeverity
-from robotcode.core.text_document import TextDocument
-from robotcode.core.uri import Uri
-from robotcode.core.utils.path import try_get_relative_path
-from robotcode.core.workspace import WorkspaceFolder
from robotcode.plugin import Application, pass_application
-from robotcode.robot.config.loader import (
- load_robot_config_from_path,
-)
-from robotcode.robot.config.utils import get_config_files
from .__version__ import __version__
-from .code_analyzer import CodeAnalyzer, DocumentDiagnosticReport, FolderDiagnosticReport
-from .config import AnalyzeConfig, ModifiersConfig
+from .code.cli import code
@click.group(
@@ -38,341 +23,4 @@ def analyze(app: Application) -> None:
"""
-SEVERITY_COLORS = {
- DiagnosticSeverity.ERROR: "red",
- DiagnosticSeverity.WARNING: "yellow",
- DiagnosticSeverity.INFORMATION: "blue",
- DiagnosticSeverity.HINT: "cyan",
-}
-
-
-class ReturnCode(Flag):
- SUCCESS = 0
- ERRORS = 1
- WARNINGS = 2
- INFOS = 4
- HINTS = 8
-
-
-class Statistic:
- def __init__(self) -> None:
- self._folders: Set[WorkspaceFolder] = set()
- self._files: Set[TextDocument] = set()
- self._diagnostics: List[Union[DocumentDiagnosticReport, FolderDiagnosticReport]] = []
-
- @property
- def errors(self) -> int:
- return sum(
- len([i for i in e.items if i.severity == DiagnosticSeverity.ERROR]) for e in self._diagnostics if e.items
- )
-
- @property
- def warnings(self) -> int:
- return sum(
- len([i for i in e.items if i.severity == DiagnosticSeverity.WARNING]) for e in self._diagnostics if e.items
- )
-
- @property
- def infos(self) -> int:
- return sum(
- len([i for i in e.items if i.severity == DiagnosticSeverity.INFORMATION])
- for e in self._diagnostics
- if e.items
- )
-
- @property
- def hints(self) -> int:
- return sum(
- len([i for i in e.items if i.severity == DiagnosticSeverity.HINT]) for e in self._diagnostics if e.items
- )
-
- def add_diagnostics_report(
- self, diagnostics_report: Union[DocumentDiagnosticReport, FolderDiagnosticReport]
- ) -> None:
- self._diagnostics.append(diagnostics_report)
-
- if isinstance(diagnostics_report, FolderDiagnosticReport):
- self._folders.add(diagnostics_report.folder)
- elif isinstance(diagnostics_report, DocumentDiagnosticReport):
- self._files.add(diagnostics_report.document)
-
- def __str__(self) -> str:
- return (
- f"Files: {len(self._files)}, Errors: {self.errors}, Warnings: {self.warnings}, "
- f"Infos: {self.infos}, Hints: {self.hints}"
- )
-
- def calculate_return_code(self) -> ReturnCode:
- return_code = ReturnCode.SUCCESS
- if self.errors > 0:
- return_code |= ReturnCode.ERRORS
- if self.warnings > 0:
- return_code |= ReturnCode.WARNINGS
- if self.infos > 0:
- return_code |= ReturnCode.INFOS
- if self.hints > 0:
- return_code |= ReturnCode.HINTS
- return return_code
-
-
-@analyze.command(
- add_help_option=True,
-)
-@click.version_option(
- version=__version__,
- package_name="robotcode.analyze",
- prog_name="RobotCode Analyze",
-)
-@click.option(
- "-f",
- "--filter",
- "filter",
- metavar="PATTERN",
- type=str,
- multiple=True,
- help="""\
- Glob pattern to filter files to analyze. Can be specified multiple times.
- """,
-)
-@click.option(
- "-v",
- "--variable",
- metavar="name:value",
- type=str,
- multiple=True,
- help="Set variables in the test data. see `robot --variable` option.",
-)
-@click.option(
- "-V",
- "--variablefile",
- metavar="PATH",
- type=str,
- multiple=True,
- help="Python or YAML file file to read variables from. see `robot --variablefile` option.",
-)
-@click.option(
- "-P",
- "--pythonpath",
- metavar="PATH",
- type=str,
- multiple=True,
- help="Additional locations where to search test libraries"
- " and other extensions when they are imported. see `robot --pythonpath` option.",
-)
-@click.option(
- "-mi",
- "--modifiers-ignore",
- metavar="CODE",
- type=str,
- multiple=True,
- help="Specifies the diagnostics codes to ignore.",
-)
-@click.option(
- "-me",
- "--modifiers-error",
- metavar="CODE",
- type=str,
- multiple=True,
- help="Specifies the diagnostics codes to treat as errors.",
-)
-@click.option(
- "-mw",
- "--modifiers-warning",
- metavar="CODE",
- type=str,
- multiple=True,
- help="Specifies the diagnostics codes to treat as warning.",
-)
-@click.option(
- "-mI",
- "--modifiers-information",
- metavar="CODE",
- type=str,
- multiple=True,
- help="Specifies the diagnostics codes to treat as information.",
-)
-@click.option(
- "-mh",
- "--modifiers-hint",
- metavar="CODE",
- type=str,
- multiple=True,
- help="Specifies the diagnostics codes to treat as hint.",
-)
-@click.argument(
- "paths", nargs=-1, type=click.Path(exists=True, dir_okay=True, file_okay=True, readable=True, path_type=Path)
-)
-@pass_application
-def code(
- app: Application,
- filter: Tuple[str, ...],
- variable: Tuple[str, ...],
- variablefile: Tuple[str, ...],
- pythonpath: Tuple[str, ...],
- modifiers_ignore: Tuple[str, ...],
- modifiers_error: Tuple[str, ...],
- modifiers_warning: Tuple[str, ...],
- modifiers_information: Tuple[str, ...],
- modifiers_hint: Tuple[str, ...],
- paths: Tuple[Path],
-) -> None:
- """\
- Performs static code analysis to identify potential issues in the specified *PATHS*. The analysis detects syntax
- errors, missing keywords or variables, missing arguments, and other problems.
-
- - **PATHS**: Can be individual files or directories. If no *PATHS* are provided, the current directory is
- analyzed by default.
-
- The return code is a bitwise combination of the following values:
-
- - `0`: **SUCCESS** - No issues detected.
- - `1`: **ERRORS** - Critical issues found.
- - `2`: **WARNINGS** - Non-critical issues detected.
- - `4`: **INFORMATIONS** - General information messages.
- - `8`: **HINTS** - Suggestions or improvements.
-
- \b
- *Examples*:
- ```
- robotcode analyze code
- robotcode analyze code --filter **/*.robot
- robotcode analyze code tests/acceptance/first.robot
- robotcode analyze code -mi DuplicateKeyword tests/acceptance/first.robot
- robotcode --format json analyze code
- ```
- """
-
- config_files, root_folder, _ = get_config_files(
- paths,
- app.config.config_files,
- root_folder=app.config.root,
- no_vcs=app.config.no_vcs,
- verbose_callback=app.verbose,
- )
-
- try:
- robot_config = load_robot_config_from_path(
- *config_files, extra_tools={"robotcode-analyze": AnalyzeConfig}, verbose_callback=app.verbose
- )
-
- analyzer_config = robot_config.tool.get("robotcode-analyze", None) if robot_config.tool is not None else None
- if analyzer_config is None:
- analyzer_config = AnalyzeConfig()
-
- robot_profile = robot_config.combine_profiles(
- *(app.config.profiles or []), verbose_callback=app.verbose, error_callback=app.error
- ).evaluated_with_env()
-
- if variable:
- if robot_profile.variables is None:
- robot_profile.variables = {}
- for v in variable:
- name, value = v.split(":", 1) if ":" in v else (v, "")
- robot_profile.variables.update({name: value})
-
- if pythonpath:
- if robot_profile.python_path is None:
- robot_profile.python_path = []
- robot_profile.python_path.extend(pythonpath)
-
- if variablefile:
- if robot_profile.variable_files is None:
- robot_profile.variable_files = []
- for vf in variablefile:
- robot_profile.variable_files.append(vf)
-
- if analyzer_config.modifiers is None:
- analyzer_config.modifiers = ModifiersConfig()
-
- if modifiers_ignore:
- if analyzer_config.modifiers.ignore is None:
- analyzer_config.modifiers.ignore = []
- analyzer_config.modifiers.ignore.extend(modifiers_ignore)
-
- if modifiers_error:
- if analyzer_config.modifiers.error is None:
- analyzer_config.modifiers.error = []
- analyzer_config.modifiers.error.extend(modifiers_error)
-
- if modifiers_warning:
- if analyzer_config.modifiers.warning is None:
- analyzer_config.modifiers.warning = []
- analyzer_config.modifiers.warning.extend(modifiers_warning)
-
- if modifiers_information:
- if analyzer_config.modifiers.information is None:
- analyzer_config.modifiers.information = []
- analyzer_config.modifiers.information.extend(modifiers_information)
-
- if modifiers_hint:
- if analyzer_config.modifiers.hint is None:
- analyzer_config.modifiers.hint = []
- analyzer_config.modifiers.hint.extend(modifiers_hint)
-
- statistics = Statistic()
- for e in CodeAnalyzer(
- app=app,
- analysis_config=analyzer_config.to_workspace_analysis_config(),
- robot_profile=robot_profile,
- root_folder=root_folder,
- ).run(paths=paths, filter=filter):
- statistics.add_diagnostics_report(e)
-
- if isinstance(e, FolderDiagnosticReport):
- if e.items:
- _print_diagnostics(app, root_folder, e.items, e.folder.uri.to_path())
- elif isinstance(e, DocumentDiagnosticReport):
- doc_path = (
- e.document.uri.to_path().relative_to(root_folder) if root_folder else e.document.uri.to_path()
- )
- if e.items:
- _print_diagnostics(app, root_folder, e.items, doc_path)
-
- statistics_str = str(statistics)
- if statistics.errors > 0:
- statistics_str = click.style(statistics_str, fg="red")
-
- app.echo(statistics_str)
-
- app.exit(statistics.calculate_return_code().value)
-
- except (TypeError, ValueError) as e:
- raise click.ClickException(str(e)) from e
-
-
-def _print_diagnostics(
- app: Application,
- root_folder: Optional[Path],
- diagnostics: List[Diagnostic],
- folder_path: Optional[Path],
- print_range: bool = True,
-) -> None:
- for item in diagnostics:
- severity = item.severity if item.severity is not None else DiagnosticSeverity.ERROR
-
- app.echo(
- (
- (
- f"{folder_path}:"
- + (f"{item.range.start.line + 1}:{item.range.start.character + 1}: " if print_range else " ")
- )
- if folder_path and folder_path != root_folder
- else ""
- )
- + click.style(f"[{severity.name[0]}] {item.code}", fg=SEVERITY_COLORS[severity])
- + f": {indent(item.message, prefix=' ').strip()}",
- )
-
- if item.related_information:
- for related in item.related_information or []:
- related_path = try_get_relative_path(Uri(related.location.uri).to_path(), root_folder)
-
- app.echo(
- f" {related_path}:"
- + (
- f"{related.location.range.start.line + 1}:{related.location.range.start.character + 1}: "
- if print_range
- else " "
- )
- + f"{indent(related.message, prefix=' ').strip()}",
- )
+analyze.add_command(code)
diff --git a/packages/analyze/src/robotcode/analyze/code/cli.py b/packages/analyze/src/robotcode/analyze/code/cli.py
new file mode 100644
index 000000000..c21be6f3b
--- /dev/null
+++ b/packages/analyze/src/robotcode/analyze/code/cli.py
@@ -0,0 +1,404 @@
+from enum import Flag
+from pathlib import Path
+from textwrap import indent
+from typing import List, Optional, Set, Tuple, Union
+
+import click
+
+from robotcode.core.lsp.types import Diagnostic, DiagnosticSeverity
+from robotcode.core.text_document import TextDocument
+from robotcode.core.uri import Uri
+from robotcode.core.utils.path import try_get_relative_path
+from robotcode.core.workspace import WorkspaceFolder
+from robotcode.plugin import Application, pass_application
+from robotcode.robot.config.loader import (
+ load_robot_config_from_path,
+)
+from robotcode.robot.config.utils import get_config_files
+
+from ..__version__ import __version__
+from ..config import AnalyzeConfig, ExitCodeMask, ModifiersConfig
+from .code_analyzer import CodeAnalyzer, DocumentDiagnosticReport, FolderDiagnosticReport
+
+SEVERITY_COLORS = {
+ DiagnosticSeverity.ERROR: "red",
+ DiagnosticSeverity.WARNING: "yellow",
+ DiagnosticSeverity.INFORMATION: "blue",
+ DiagnosticSeverity.HINT: "cyan",
+}
+
+
+class ReturnCode(Flag):
+ SUCCESS = 0
+ ERRORS = 1
+ WARNINGS = 2
+ INFOS = 4
+ HINTS = 8
+
+
+class Statistic:
+ def __init__(self, exit_code_mask: ExitCodeMask) -> None:
+ self.exit_code_mask = exit_code_mask
+ self._folders: Set[WorkspaceFolder] = set()
+ self._files: Set[TextDocument] = set()
+ self._diagnostics: List[Union[DocumentDiagnosticReport, FolderDiagnosticReport]] = []
+
+ @property
+ def errors(self) -> int:
+ return sum(
+ len([i for i in e.items if i.severity == DiagnosticSeverity.ERROR]) for e in self._diagnostics if e.items
+ )
+
+ @property
+ def warnings(self) -> int:
+ return sum(
+ len([i for i in e.items if i.severity == DiagnosticSeverity.WARNING]) for e in self._diagnostics if e.items
+ )
+
+ @property
+ def infos(self) -> int:
+ return sum(
+ len([i for i in e.items if i.severity == DiagnosticSeverity.INFORMATION])
+ for e in self._diagnostics
+ if e.items
+ )
+
+ @property
+ def hints(self) -> int:
+ return sum(
+ len([i for i in e.items if i.severity == DiagnosticSeverity.HINT]) for e in self._diagnostics if e.items
+ )
+
+ def add_diagnostics_report(
+ self, diagnostics_report: Union[DocumentDiagnosticReport, FolderDiagnosticReport]
+ ) -> None:
+ self._diagnostics.append(diagnostics_report)
+
+ if isinstance(diagnostics_report, FolderDiagnosticReport):
+ self._folders.add(diagnostics_report.folder)
+ elif isinstance(diagnostics_report, DocumentDiagnosticReport):
+ self._files.add(diagnostics_report.document)
+
+ def __str__(self) -> str:
+ return (
+ f"Files: {len(self._files)}, Errors: {self.errors}, Warnings: {self.warnings}, "
+ f"Infos: {self.infos}, Hints: {self.hints}"
+ )
+
+ def calculate_return_code(self) -> ReturnCode:
+ return_code = ReturnCode.SUCCESS
+ if self.errors > 0 and not self.exit_code_mask & ExitCodeMask.ERROR:
+ return_code |= ReturnCode.ERRORS
+ if self.warnings > 0 and not self.exit_code_mask & ExitCodeMask.WARN:
+ return_code |= ReturnCode.WARNINGS
+ if self.infos > 0 and not self.exit_code_mask & ExitCodeMask.INFO:
+ return_code |= ReturnCode.INFOS
+ if self.hints > 0 and not self.exit_code_mask & ExitCodeMask.HINT:
+ return_code |= ReturnCode.HINTS
+ return return_code
+
+
+def _parse_exit_code_mask(ctx: click.Context, param: click.Option, value: Tuple[str, ...]) -> ExitCodeMask:
+ try:
+ return ExitCodeMask.parse(value)
+ except KeyError as e:
+ raise click.BadParameter(str(e)) from e
+
+
+def _split_comma(ctx: click.Context, param: click.Option, value: Optional[List[str]]) -> List[str]:
+ if value is None:
+ return []
+ result: List[str] = []
+ for item in value:
+ result.extend([x.strip() for x in item.split(",") if x.strip()])
+ return result
+
+
+@click.command(
+ add_help_option=True,
+)
+@click.version_option(
+ version=__version__,
+ package_name="robotcode.analyze",
+ prog_name="RobotCode Analyze",
+)
+@click.option(
+ "-f",
+ "--filter",
+ "filter",
+ metavar="PATTERN",
+ type=str,
+ multiple=True,
+ help="""\
+ Glob pattern to filter files to analyze. Can be specified multiple times.
+ """,
+)
+@click.option(
+ "-v",
+ "--variable",
+ metavar="name:value",
+ type=str,
+ multiple=True,
+ help="Set variables in the test data. see `robot --variable` option.",
+)
+@click.option(
+ "-V",
+ "--variablefile",
+ metavar="PATH",
+ type=str,
+ multiple=True,
+ help="Python or YAML file file to read variables from. see `robot --variablefile` option.",
+)
+@click.option(
+ "-P",
+ "--pythonpath",
+ metavar="PATH",
+ type=str,
+ multiple=True,
+ help="Additional locations where to search test libraries"
+ " and other extensions when they are imported. see `robot --pythonpath` option.",
+)
+@click.option(
+ "-mi",
+ "--modifiers-ignore",
+ metavar="CODE",
+ type=str,
+ multiple=True,
+ help="Specifies the diagnostics codes to ignore.",
+)
+@click.option(
+ "-me",
+ "--modifiers-error",
+ metavar="CODE",
+ type=str,
+ multiple=True,
+ help="Specifies the diagnostics codes to treat as errors.",
+)
+@click.option(
+ "-mw",
+ "--modifiers-warning",
+ metavar="CODE",
+ type=str,
+ multiple=True,
+ help="Specifies the diagnostics codes to treat as warning.",
+)
+@click.option(
+ "-mI",
+ "--modifiers-information",
+ metavar="CODE",
+ type=str,
+ multiple=True,
+ help="Specifies the diagnostics codes to treat as information.",
+)
+@click.option(
+ "-mh",
+ "--modifiers-hint",
+ metavar="CODE",
+ type=str,
+ multiple=True,
+ help="Specifies the diagnostics codes to treat as hint.",
+)
+@click.option(
+ "--exit-code-mask",
+ "-xm",
+ multiple=True,
+ callback=_parse_exit_code_mask,
+ metavar="[" + "|".join(member.name.lower() for member in ExitCodeMask if member.name is not None) + "|all]",
+ help="Specifies which diagnostic severities should not affect the exit code. "
+ "For example, with 'warn' in the mask, warnings won't cause a non-zero exit code.",
+)
+@click.option(
+ "--extend-exit-code-mask",
+ "-xe",
+ multiple=True,
+ callback=_parse_exit_code_mask,
+ metavar="[" + "|".join(member.name.lower() for member in ExitCodeMask if member.name is not None) + "|all]",
+ help="Extend the exit code mask with the specified values. This appends to the default mask, defined in the config"
+ " file.",
+)
+@click.argument(
+ "paths", nargs=-1, type=click.Path(exists=True, dir_okay=True, file_okay=True, readable=True, path_type=Path)
+)
+@pass_application
+def code(
+ app: Application,
+ filter: Tuple[str, ...],
+ variable: Tuple[str, ...],
+ variablefile: Tuple[str, ...],
+ pythonpath: Tuple[str, ...],
+ modifiers_ignore: Tuple[str, ...],
+ modifiers_error: Tuple[str, ...],
+ modifiers_warning: Tuple[str, ...],
+ modifiers_information: Tuple[str, ...],
+ modifiers_hint: Tuple[str, ...],
+ exit_code_mask: ExitCodeMask,
+ extend_exit_code_mask: ExitCodeMask,
+ paths: Tuple[Path],
+) -> None:
+ """\
+ Performs static code analysis to identify potential issues in the specified *PATHS*. The analysis detects syntax
+ errors, missing keywords or variables, missing arguments, and other problems.
+
+ - **PATHS**: Can be individual files or directories. If no *PATHS* are provided, the current directory is
+ analyzed by default.
+
+ The return code is a bitwise combination of the following values:
+
+ - `0`: **SUCCESS** - No issues detected.
+ - `1`: **ERRORS** - Critical issues found.
+ - `2`: **WARNINGS** - Non-critical issues detected.
+ - `4`: **INFORMATIONS** - General information messages.
+ - `8`: **HINTS** - Suggestions or improvements.
+
+ \b
+ *Examples*:
+ ```
+ robotcode analyze code
+ robotcode analyze code --filter **/*.robot
+ robotcode analyze code tests/acceptance/first.robot
+ robotcode analyze code -mi DuplicateKeyword tests/acceptance/first.robot
+ robotcode --format json analyze code
+ ```
+ """
+
+ config_files, root_folder, _ = get_config_files(
+ paths,
+ app.config.config_files,
+ root_folder=app.config.root,
+ no_vcs=app.config.no_vcs,
+ verbose_callback=app.verbose,
+ )
+
+ try:
+ robot_config = load_robot_config_from_path(
+ *config_files, extra_tools={"robotcode-analyze": AnalyzeConfig}, verbose_callback=app.verbose
+ )
+
+ analyzer_config = robot_config.tool.get("robotcode-analyze", None) if robot_config.tool is not None else None
+ if analyzer_config is None:
+ analyzer_config = AnalyzeConfig()
+
+ robot_profile = robot_config.combine_profiles(
+ *(app.config.profiles or []), verbose_callback=app.verbose, error_callback=app.error
+ ).evaluated_with_env()
+
+ if variable:
+ if robot_profile.variables is None:
+ robot_profile.variables = {}
+ for v in variable:
+ name, value = v.split(":", 1) if ":" in v else (v, "")
+ robot_profile.variables.update({name: value})
+
+ if pythonpath:
+ if robot_profile.python_path is None:
+ robot_profile.python_path = []
+ robot_profile.python_path.extend(pythonpath)
+
+ if variablefile:
+ if robot_profile.variable_files is None:
+ robot_profile.variable_files = []
+ for vf in variablefile:
+ robot_profile.variable_files.append(vf)
+
+ if analyzer_config.modifiers is None:
+ analyzer_config.modifiers = ModifiersConfig()
+
+ if modifiers_ignore:
+ if analyzer_config.modifiers.ignore is None:
+ analyzer_config.modifiers.ignore = []
+ analyzer_config.modifiers.ignore.extend(modifiers_ignore)
+
+ if modifiers_error:
+ if analyzer_config.modifiers.error is None:
+ analyzer_config.modifiers.error = []
+ analyzer_config.modifiers.error.extend(modifiers_error)
+
+ if modifiers_warning:
+ if analyzer_config.modifiers.warning is None:
+ analyzer_config.modifiers.warning = []
+ analyzer_config.modifiers.warning.extend(modifiers_warning)
+
+ if modifiers_information:
+ if analyzer_config.modifiers.information is None:
+ analyzer_config.modifiers.information = []
+ analyzer_config.modifiers.information.extend(modifiers_information)
+
+ if modifiers_hint:
+ if analyzer_config.modifiers.hint is None:
+ analyzer_config.modifiers.hint = []
+ analyzer_config.modifiers.hint.extend(modifiers_hint)
+
+ default_mask = (
+ exit_code_mask
+ if exit_code_mask != ExitCodeMask.NONE
+ else ExitCodeMask.parse(analyzer_config.code.exit_code_mask if analyzer_config.code is not None else None)
+ )
+ mask = default_mask | extend_exit_code_mask
+
+ statistics = Statistic(mask)
+ for e in CodeAnalyzer(
+ app=app,
+ analysis_config=analyzer_config.to_workspace_analysis_config(),
+ robot_profile=robot_profile,
+ root_folder=root_folder,
+ ).run(paths=paths, filter=filter):
+ statistics.add_diagnostics_report(e)
+
+ if isinstance(e, FolderDiagnosticReport):
+ if e.items:
+ _print_diagnostics(app, root_folder, e.items, e.folder.uri.to_path())
+ elif isinstance(e, DocumentDiagnosticReport):
+ doc_path = (
+ e.document.uri.to_path().relative_to(root_folder) if root_folder else e.document.uri.to_path()
+ )
+ if e.items:
+ _print_diagnostics(app, root_folder, e.items, doc_path)
+
+ statistics_str = str(statistics)
+ if statistics.errors > 0:
+ statistics_str = click.style(statistics_str, fg="red")
+
+ app.echo(statistics_str)
+
+ app.exit(statistics.calculate_return_code().value)
+
+ except (TypeError, ValueError) as e:
+ raise click.ClickException(str(e)) from e
+
+
+def _print_diagnostics(
+ app: Application,
+ root_folder: Optional[Path],
+ diagnostics: List[Diagnostic],
+ folder_path: Optional[Path],
+ print_range: bool = True,
+) -> None:
+ for item in diagnostics:
+ severity = item.severity if item.severity is not None else DiagnosticSeverity.ERROR
+
+ app.echo(
+ (
+ (
+ f"{folder_path}:"
+ + (f"{item.range.start.line + 1}:{item.range.start.character + 1}: " if print_range else " ")
+ )
+ if folder_path and folder_path != root_folder
+ else ""
+ )
+ + click.style(f"[{severity.name[0]}] {item.code}", fg=SEVERITY_COLORS[severity])
+ + f": {indent(item.message, prefix=' ').strip()}",
+ )
+
+ if item.related_information:
+ for related in item.related_information or []:
+ related_path = try_get_relative_path(Uri(related.location.uri).to_path(), root_folder)
+
+ app.echo(
+ f" {related_path}:"
+ + (
+ f"{related.location.range.start.line + 1}:{related.location.range.start.character + 1}: "
+ if print_range
+ else " "
+ )
+ + f"{indent(related.message, prefix=' ').strip()}",
+ )
diff --git a/packages/analyze/src/robotcode/analyze/code_analyzer.py b/packages/analyze/src/robotcode/analyze/code/code_analyzer.py
similarity index 98%
rename from packages/analyze/src/robotcode/analyze/code_analyzer.py
rename to packages/analyze/src/robotcode/analyze/code/code_analyzer.py
index cbea1389b..26ed15392 100644
--- a/packages/analyze/src/robotcode/analyze/code_analyzer.py
+++ b/packages/analyze/src/robotcode/analyze/code/code_analyzer.py
@@ -83,7 +83,7 @@ def run(
) -> Iterable[Union[DocumentDiagnosticReport, FolderDiagnosticReport]]:
for folder in self.workspace.workspace_folders:
self.app.verbose(f"Initialize folder {folder.uri.to_path()}")
- initialize_result = self.diagnostics.initialize_folder(folder)
+ initialize_result = self.diagnostics.analyze_folder(folder)
if initialize_result is not None:
diagnostics: List[Diagnostic] = []
for item in initialize_result:
diff --git a/packages/analyze/src/robotcode/analyze/diagnostics_context.py b/packages/analyze/src/robotcode/analyze/code/diagnostics_context.py
similarity index 87%
rename from packages/analyze/src/robotcode/analyze/diagnostics_context.py
rename to packages/analyze/src/robotcode/analyze/code/diagnostics_context.py
index 4803dbc34..6335b591a 100644
--- a/packages/analyze/src/robotcode/analyze/diagnostics_context.py
+++ b/packages/analyze/src/robotcode/analyze/code/diagnostics_context.py
@@ -14,13 +14,13 @@ class DiagnosticHandlers:
@event
def document_analyzers(sender, document: TextDocument) -> Optional[List[Diagnostic]]: ...
@event
- def folder_initializers(sender, folder: WorkspaceFolder) -> Optional[List[Diagnostic]]: ...
+ def folder_analyzers(sender, folder: WorkspaceFolder) -> Optional[List[Diagnostic]]: ...
@event
def collectors(sender, document: TextDocument) -> Optional[List[Diagnostic]]: ...
- def initialize_folder(self, folder: WorkspaceFolder) -> List[Union[List[Diagnostic], BaseException, None]]:
- return self.folder_initializers(
+ def analyze_folder(self, folder: WorkspaceFolder) -> List[Union[List[Diagnostic], BaseException, None]]:
+ return self.folder_analyzers(
self,
folder,
return_exceptions=True,
diff --git a/packages/analyze/src/robotcode/analyze/language_provider.py b/packages/analyze/src/robotcode/analyze/code/language_provider.py
similarity index 90%
rename from packages/analyze/src/robotcode/analyze/language_provider.py
rename to packages/analyze/src/robotcode/analyze/code/language_provider.py
index fab8673be..a802956b2 100644
--- a/packages/analyze/src/robotcode/analyze/language_provider.py
+++ b/packages/analyze/src/robotcode/analyze/code/language_provider.py
@@ -2,7 +2,7 @@
from pathlib import Path
from typing import Callable, Iterable, List, Optional
-from robotcode.analyze.diagnostics_context import DiagnosticsContext
+from robotcode.analyze.code.diagnostics_context import DiagnosticsContext
from robotcode.core.language import LanguageDefinition
from robotcode.core.workspace import WorkspaceFolder
diff --git a/packages/analyze/src/robotcode/analyze/robot_framework_language_provider.py b/packages/analyze/src/robotcode/analyze/code/robot_framework_language_provider.py
similarity index 82%
rename from packages/analyze/src/robotcode/analyze/robot_framework_language_provider.py
rename to packages/analyze/src/robotcode/analyze/code/robot_framework_language_provider.py
index c38cf50ba..4a58ff414 100644
--- a/packages/analyze/src/robotcode/analyze/robot_framework_language_provider.py
+++ b/packages/analyze/src/robotcode/analyze/code/robot_framework_language_provider.py
@@ -5,7 +5,7 @@
from robot.utils import FileReader
-from robotcode.analyze.diagnostics_context import DiagnosticsContext
+from robotcode.analyze.code.diagnostics_context import DiagnosticsContext
from robotcode.core.filewatcher import FileWatcherManagerDummy
from robotcode.core.ignore_spec import DEFAULT_SPEC_RULES, GIT_IGNORE_FILE, ROBOT_IGNORE_FILE, IgnoreSpec, iter_files
from robotcode.core.language import LanguageDefinition, language_id
@@ -47,20 +47,25 @@ def __init__(self, diagnostics_context: DiagnosticsContext) -> None:
)
self.diagnostics_context.workspace.documents.on_read_document_text.add(self.on_read_document_text)
- self.diagnostics_context.diagnostics.folder_initializers.add(self.analyze_folder)
+ self.diagnostics_context.diagnostics.folder_analyzers.add(self.analyze_folder)
self.diagnostics_context.diagnostics.document_analyzers.add(self.analyze_document)
def _update_python_path(self) -> None:
- if self.diagnostics_context.workspace.root_uri is not None:
- for p in self.diagnostics_context.profile.python_path or []:
- pa = Path(str(p))
- if not pa.is_absolute():
- pa = Path(self.diagnostics_context.workspace.root_uri.to_path(), pa)
-
- absolute_path = str(pa.absolute())
- for f in glob.glob(absolute_path):
- if Path(f).is_dir() and f not in sys.path:
- sys.path.insert(0, f)
+ root_path = (
+ self.diagnostics_context.workspace.root_uri.to_path()
+ if self.diagnostics_context.workspace.root_uri is not None
+ else None
+ )
+
+ for p in self.diagnostics_context.profile.python_path or []:
+ pa = Path(str(p))
+ if root_path is not None and not pa.is_absolute():
+ pa = Path(root_path, pa)
+
+ absolute_path = str(pa.absolute())
+ for f in glob.glob(absolute_path):
+ if Path(f).is_dir() and f not in sys.path:
+ sys.path.insert(0, f)
@language_id("robotframework")
def on_read_document_text(self, sender: Any, uri: Uri) -> str:
diff --git a/packages/analyze/src/robotcode/analyze/config.py b/packages/analyze/src/robotcode/analyze/config.py
index 3e0d8fcad..65becdf06 100644
--- a/packages/analyze/src/robotcode/analyze/config.py
+++ b/packages/analyze/src/robotcode/analyze/config.py
@@ -1,6 +1,7 @@
# ruff: noqa: RUF009
from dataclasses import dataclass
-from typing import List, Optional
+from enum import IntFlag
+from typing import Iterable, List, Literal, Optional, Union
from robotcode.robot.config.model import BaseOptions, field
from robotcode.robot.diagnostics.workspace_config import (
@@ -197,10 +198,74 @@ class CacheConfig(BaseOptions):
)
+class ExitCodeMask(IntFlag):
+ NONE = 0
+ ERROR = 1
+ WARN = 2
+ WARNING = WARN
+ INFO = 4
+ INFORMATION = INFO
+ HINT = 8
+ ALL = ERROR | WARN | INFO | HINT
+
+ @staticmethod
+ def parse(value: Union[Iterable[str], str, None]) -> "ExitCodeMask":
+ if value is None:
+ return ExitCodeMask.NONE
+
+ flags = ExitCodeMask(0)
+ for entry in value:
+ for part_orig in entry.split(","):
+ part = part_orig.strip().upper()
+ if part:
+ try:
+ flags |= ExitCodeMask[part]
+ except KeyError as e:
+ raise KeyError(f"Invalid exit code mask value: {part_orig}") from e
+ return flags
+
+
+ExitCodeMaskLiteral = Literal["error", "warn", "warning", "info", "information", "hint", "all"]
+ExitCodeMaskList = List[ExitCodeMaskLiteral]
+
+
+@dataclass
+class CodeConfig(BaseOptions):
+ """robotcode-analyze code configuration."""
+
+ exit_code_mask: Optional[ExitCodeMaskList] = field(
+ description="""\
+ Specifies the exit code mask for the code analysis.
+ This is useful if you want to ignore certain types of diagnostics in the result code.
+
+ Examples:
+ ```toml
+ [tool.robotcode-analyze.code]
+ exit_code_mask = ["error", "warn"]
+ ```
+ """,
+ )
+ extend_exit_code_mask: Optional[ExitCodeMaskList] = field(description="Extend the exit code mask setting.")
+
+
@dataclass
class AnalyzeConfig(BaseOptions):
"""robotcode-analyze configuration."""
+ code: Optional[CodeConfig] = field(
+ description="""\
+ Defines the code analysis configuration.
+
+ Examples:
+
+ ```toml
+ [tool.robotcode-analyze.code]
+ exit_code_mask = "error|warn"
+ ```
+ """
+ )
+ extend_code: Optional[CodeConfig] = field(description="Extend the code analysis configuration.")
+
modifiers: Optional[ModifiersConfig] = field(
description="""\
Defines the modifiers for the analysis.
diff --git a/packages/core/src/robotcode/core/__version__.py b/packages/core/src/robotcode/core/__version__.py
index 5c4105cd3..c68196d1c 100644
--- a/packages/core/src/robotcode/core/__version__.py
+++ b/packages/core/src/robotcode/core/__version__.py
@@ -1 +1 @@
-__version__ = "1.0.1"
+__version__ = "1.2.0"
diff --git a/packages/core/src/robotcode/core/concurrent.py b/packages/core/src/robotcode/core/concurrent.py
index ad0d99aff..18f26e1be 100644
--- a/packages/core/src/robotcode/core/concurrent.py
+++ b/packages/core/src/robotcode/core/concurrent.py
@@ -53,7 +53,7 @@ def acquire(self, blocking: bool = True, timeout: Optional[float] = None) -> boo
aquired = self._lock.acquire(blocking, timeout=timeout)
if not aquired and blocking and timeout > 0:
raise RuntimeError(
- f"Could not acquire {self.__class__.__qualname__} {self.name+' ' if self.name else ' '}in {timeout}s."
+ f"Could not acquire {self.__class__.__qualname__} {self.name + ' ' if self.name else ' '}in {timeout}s."
)
return aquired
diff --git a/packages/core/src/robotcode/core/utils/dataclasses.py b/packages/core/src/robotcode/core/utils/dataclasses.py
index be449efd6..4a6bd5cdd 100644
--- a/packages/core/src/robotcode/core/utils/dataclasses.py
+++ b/packages/core/src/robotcode/core/utils/dataclasses.py
@@ -480,7 +480,7 @@ def from_dict(
raise TypeError(f"Can't initialize {match_!r} with parameters {params!r}: {ex}") from ex
raise TypeError(
- "Value must be of type `"
+ f"Value '{value}' must be of type `"
+ (
repr(types[0])
if len(types) == 1
@@ -488,7 +488,9 @@ def from_dict(
(
(getattr(e, "__name__", None) or str(e) if e is not type(None) else "None")
if _get_origin_cached(e) is not Literal
- else repr(e).replace("typing.", "") if e is not None else "None"
+ else repr(e).replace("typing.", "")
+ if e is not None
+ else "None"
)
for e in types
)
diff --git a/packages/core/src/robotcode/core/utils/logging.py b/packages/core/src/robotcode/core/utils/logging.py
index 0e633e6e1..d1808275d 100644
--- a/packages/core/src/robotcode/core/utils/logging.py
+++ b/packages/core/src/robotcode/core/utils/logging.py
@@ -149,7 +149,9 @@ def __init_logger(self) -> LoggingDescriptor:
else (
("" if self.__owner is None else self.__owner.__module__ + "." + self.__owner.__qualname__)
if self.__owner is not None
- else get_unwrapped_func(self.__func).__module__ if self.__func is not None else ""
+ else get_unwrapped_func(self.__func).__module__
+ if self.__func is not None
+ else ""
)
+ self.__postfix
)
diff --git a/packages/debugger/pyproject.toml b/packages/debugger/pyproject.toml
index 02228088b..8ca5b8e0b 100644
--- a/packages/debugger/pyproject.toml
+++ b/packages/debugger/pyproject.toml
@@ -28,8 +28,8 @@ classifiers = [
dynamic = ["version"]
dependencies = [
"robotframework>=4.1.0",
- "robotcode-jsonrpc2==1.0.1",
- "robotcode-runner==1.0.1",
+ "robotcode-jsonrpc2==1.2.0",
+ "robotcode-runner==1.2.0",
]
[project.optional-dependencies]
diff --git a/packages/debugger/src/robotcode/debugger/__version__.py b/packages/debugger/src/robotcode/debugger/__version__.py
index 5c4105cd3..c68196d1c 100644
--- a/packages/debugger/src/robotcode/debugger/__version__.py
+++ b/packages/debugger/src/robotcode/debugger/__version__.py
@@ -1 +1 @@
-__version__ = "1.0.1"
+__version__ = "1.2.0"
diff --git a/packages/debugger/src/robotcode/debugger/debugger.py b/packages/debugger/src/robotcode/debugger/debugger.py
index 5115fc9f5..d09f684c6 100644
--- a/packages/debugger/src/robotcode/debugger/debugger.py
+++ b/packages/debugger/src/robotcode/debugger/debugger.py
@@ -547,7 +547,6 @@ def set_breakpoints(
lines: Optional[List[int]] = None,
source_modified: Optional[bool] = None,
) -> List[Breakpoint]:
-
if self.is_windows_path(source.path or ""):
path: pathlib.PurePath = pathlib.PureWindowsPath(source.path or "")
else:
@@ -647,7 +646,6 @@ def process_start_state(self, source: str, line_no: int, type: str, status: str)
if source_path in self.breakpoints:
breakpoints = [v for v in self.breakpoints[source_path].breakpoints if v.line == line_no]
if len(breakpoints) > 0:
-
for point in breakpoints:
if point.condition is not None:
hit = False
@@ -1637,8 +1635,8 @@ def get_variables(
return list(result.values())
- IS_VARIABLE_RE: ClassVar = re.compile(r"^[$@&%]\{.*\}(\[[^\]]*\])?$")
- IS_VARIABLE_ASSIGNMENT_RE: ClassVar = re.compile(r"^[$@&%]\{.*\}=?$")
+ IS_VARIABLE_RE: ClassVar = re.compile(r"^[$@&]\{.*\}(\[[^\]]*\])?$")
+ IS_VARIABLE_ASSIGNMENT_RE: ClassVar = re.compile(r"^[$@&]\{.*\}=?$")
SPLIT_LINE: ClassVar = re.compile(r"(?= {2,}| ?\t)\s*")
CURRDIR: ClassVar = re.compile(r"(?i)\$\{CURDIR\}")
@@ -1762,8 +1760,10 @@ def run_kw() -> Any:
else:
result = internal_evaluate_expression(vars.replace_string(expression), vars)
else:
- if self.IS_VARIABLE_RE.match(expression.strip()):
- result = vars[expression.strip()]
+ parts = self.SPLIT_LINE.split(expression.strip())
+ if parts and len(parts) == 1 and self.IS_VARIABLE_RE.match(parts[0].strip()):
+ # result = vars[parts[0].strip()]
+ result = vars.replace_scalar(parts[0].strip())
else:
def get_test_body_from_string(command: str) -> TestCase:
diff --git a/packages/debugger/src/robotcode/debugger/launcher/server.py b/packages/debugger/src/robotcode/debugger/launcher/server.py
index 96f3359b0..ea178a311 100644
--- a/packages/debugger/src/robotcode/debugger/launcher/server.py
+++ b/packages/debugger/src/robotcode/debugger/launcher/server.py
@@ -143,8 +143,8 @@ async def _launch(
robotcode_run_args = [
python or sys.executable,
*debugger_script,
- *itertools.chain.from_iterable(["--profile", p] for p in profiles or []),
- *itertools.chain.from_iterable(["--default-path", p] for p in paths or []),
+ *itertools.chain.from_iterable(["-p", p] for p in profiles or []),
+ *itertools.chain.from_iterable(["-dp", p] for p in paths or []),
*(robotCodeArgs or []),
"debug",
]
@@ -245,7 +245,9 @@ async def _launch(
kind=(
RunInTerminalKind.INTEGRATED
if console == "integratedTerminal"
- else RunInTerminalKind.EXTERNAL if console == "externalTerminal" else None
+ else RunInTerminalKind.EXTERNAL
+ if console == "externalTerminal"
+ else None
),
title=name,
)
diff --git a/packages/debugger/src/robotcode/debugger/protocol.py b/packages/debugger/src/robotcode/debugger/protocol.py
index 47112f486..7d667dfca 100644
--- a/packages/debugger/src/robotcode/debugger/protocol.py
+++ b/packages/debugger/src/robotcode/debugger/protocol.py
@@ -44,7 +44,7 @@ class DebugAdapterErrorResponseError(JsonRPCException):
def __init__(self, error: ErrorResponse) -> None:
super().__init__(
f'{error.message} (seq={error.request_seq} command="{error.command}")'
- f'{f": {error.body.error}" if error.body is not None and error.body.error else ""}'
+ f"{f': {error.body.error}' if error.body is not None and error.body.error else ''}"
)
self.error = error
@@ -60,7 +60,7 @@ def __init__(
) -> None:
super().__init__(
f'{(message + " ") if message else ""}(seq={request_seq} command="{command}")'
- f'{f": {error_message}" if error_message else ""}'
+ f"{f': {error_message}' if error_message else ''}"
)
self.message = message
self.request_seq = request_seq
diff --git a/packages/debugger/src/robotcode/debugger/run.py b/packages/debugger/src/robotcode/debugger/run.py
index 5f2307f4d..ee78e49c7 100644
--- a/packages/debugger/src/robotcode/debugger/run.py
+++ b/packages/debugger/src/robotcode/debugger/run.py
@@ -114,8 +114,10 @@ def start_debugpy(
if port != debugpy_port:
_logger.warning(lambda: f"start debugpy session on port {port}")
- # this is set by vscode for non config debugpy sessions, we don't need it, so remove it
- del os.environ["DEBUGPY_ADAPTER_ENDPOINTS"]
+ # remove unwanted env variables
+ for env_var in ["DEBUGPY_ADAPTER_ENDPOINTS", "VSCODE_DEBUGPY_ADAPTER_ENDPOINTS"]:
+ if env_var in os.environ:
+ del os.environ[env_var]
if enable_debugpy(port, addresses):
global config_done_callback
diff --git a/packages/jsonrpc2/pyproject.toml b/packages/jsonrpc2/pyproject.toml
index fd082826a..663f3ae00 100644
--- a/packages/jsonrpc2/pyproject.toml
+++ b/packages/jsonrpc2/pyproject.toml
@@ -25,7 +25,7 @@ classifiers = [
"Framework :: Robot Framework",
"Framework :: Robot Framework :: Tool",
]
-dependencies = ["robotcode-core==1.0.1"]
+dependencies = ["robotcode-core==1.2.0"]
dynamic = ["version"]
[project.urls]
diff --git a/packages/jsonrpc2/src/robotcode/jsonrpc2/__version__.py b/packages/jsonrpc2/src/robotcode/jsonrpc2/__version__.py
index 5c4105cd3..c68196d1c 100644
--- a/packages/jsonrpc2/src/robotcode/jsonrpc2/__version__.py
+++ b/packages/jsonrpc2/src/robotcode/jsonrpc2/__version__.py
@@ -1 +1 @@
-__version__ = "1.0.1"
+__version__ = "1.2.0"
diff --git a/packages/jsonrpc2/src/robotcode/jsonrpc2/server.py b/packages/jsonrpc2/src/robotcode/jsonrpc2/server.py
index 93a6ed3d4..497a926ec 100644
--- a/packages/jsonrpc2/src/robotcode/jsonrpc2/server.py
+++ b/packages/jsonrpc2/src/robotcode/jsonrpc2/server.py
@@ -94,7 +94,9 @@ def start(self) -> None:
(
self.tcp_params.host
if isinstance(self.tcp_params.host, str)
- else self.tcp_params.host[0] if self.tcp_params.host else None
+ else self.tcp_params.host[0]
+ if self.tcp_params.host
+ else None
),
)
else:
diff --git a/packages/language_server/pyproject.toml b/packages/language_server/pyproject.toml
index f136a394c..df1901884 100644
--- a/packages/language_server/pyproject.toml
+++ b/packages/language_server/pyproject.toml
@@ -27,10 +27,10 @@ classifiers = [
]
dependencies = [
"robotframework>=4.1.0",
- "robotcode-jsonrpc2==1.0.1",
- "robotcode-robot==1.0.1",
- "robotcode-analyze==1.0.1",
- "robotcode==1.0.1",
+ "robotcode-jsonrpc2==1.2.0",
+ "robotcode-robot==1.2.0",
+ "robotcode-analyze==1.2.0",
+ "robotcode==1.2.0",
]
dynamic = ["version"]
diff --git a/packages/language_server/src/robotcode/language_server/__version__.py b/packages/language_server/src/robotcode/language_server/__version__.py
index 5c4105cd3..c68196d1c 100644
--- a/packages/language_server/src/robotcode/language_server/__version__.py
+++ b/packages/language_server/src/robotcode/language_server/__version__.py
@@ -1 +1 @@
-__version__ = "1.0.1"
+__version__ = "1.2.0"
diff --git a/packages/language_server/src/robotcode/language_server/common/parts/diagnostics.py b/packages/language_server/src/robotcode/language_server/common/parts/diagnostics.py
index d12314eb1..0e9bd0cdc 100644
--- a/packages/language_server/src/robotcode/language_server/common/parts/diagnostics.py
+++ b/packages/language_server/src/robotcode/language_server/common/parts/diagnostics.py
@@ -399,10 +399,10 @@ def run_workspace_diagnostics(self) -> None:
folder = self.parent.workspace.get_workspace_folder(document.uri)
name = path if folder is None else path.relative_to(folder.uri.to_path())
- progress.report(f"Analyze {i+1}/{len(documents)}: {name}", current=i + 1)
+ progress.report(f"Analyze {i + 1}/{len(documents)}: {name}", current=i + 1)
elif analysis_mode == AnalysisProgressMode.SIMPLE:
progress.begin()
- progress.report(f"Analyze {i+1}/{len(documents)}", current=i + 1)
+ progress.report(f"Analyze {i + 1}/{len(documents)}", current=i + 1)
try:
with self._current_diagnostics_task_lock:
@@ -490,10 +490,10 @@ def run_workspace_diagnostics(self) -> None:
folder = self.parent.workspace.get_workspace_folder(document.uri)
name = path if folder is None else path.relative_to(folder.uri.to_path())
- progress.report(f"Collect {i+1}/{len(documents_to_collect)}: {name}", current=i + 1)
+ progress.report(f"Collect {i + 1}/{len(documents_to_collect)}: {name}", current=i + 1)
elif analysis_mode == AnalysisProgressMode.SIMPLE:
progress.begin()
- progress.report(f"Collect {i+1}/{len(documents_to_collect)}", current=i + 1)
+ progress.report(f"Collect {i + 1}/{len(documents_to_collect)}", current=i + 1)
try:
with self._current_diagnostics_task_lock:
diff --git a/packages/language_server/src/robotcode/language_server/common/parts/semantic_tokens.py b/packages/language_server/src/robotcode/language_server/common/parts/semantic_tokens.py
index 1fc3a8012..402ddddd0 100644
--- a/packages/language_server/src/robotcode/language_server/common/parts/semantic_tokens.py
+++ b/packages/language_server/src/robotcode/language_server/common/parts/semantic_tokens.py
@@ -83,7 +83,9 @@ def extend_capabilities(self, capabilities: ServerCapabilities) -> None:
full=(
SemanticTokensOptionsFullType1(delta=True if len(self.collect_full_delta) else None)
if len(self.collect_full) and len(self.collect_full_delta)
- else True if len(self.collect_full) else None
+ else True
+ if len(self.collect_full)
+ else None
),
range=True if len(self.collect_range) else None,
)
diff --git a/packages/language_server/src/robotcode/language_server/robotframework/parts/code_action_documentation.py b/packages/language_server/src/robotcode/language_server/robotframework/parts/code_action_documentation.py
index d5e810f1d..f6a7ea9db 100644
--- a/packages/language_server/src/robotcode/language_server/robotframework/parts/code_action_documentation.py
+++ b/packages/language_server/src/robotcode/language_server/robotframework/parts/code_action_documentation.py
@@ -90,7 +90,9 @@ def collect(
(
node.value
if isinstance(node, (TestTemplate, Template))
- else node.keyword if isinstance(node, KeywordCall) else node.name
+ else node.keyword
+ if isinstance(node, KeywordCall)
+ else node.name
),
cast(
Token,
diff --git a/packages/language_server/src/robotcode/language_server/robotframework/parts/completion.py b/packages/language_server/src/robotcode/language_server/robotframework/parts/completion.py
index 3dff99bc8..30705f764 100644
--- a/packages/language_server/src/robotcode/language_server/robotframework/parts/completion.py
+++ b/packages/language_server/src/robotcode/language_server/robotframework/parts/completion.py
@@ -1733,7 +1733,9 @@ def complete_import() -> Optional[List[CompletionItem]]:
else (
CompletionItemKind.FILE
if e.kind == CompleteResultKind.FILE
- else CompletionItemKind.FOLDER if e.kind == CompleteResultKind.FOLDER else None
+ else CompletionItemKind.FOLDER
+ if e.kind == CompleteResultKind.FOLDER
+ else None
)
),
detail=e.kind.value,
@@ -1928,7 +1930,9 @@ def complete_ResourceImport( # noqa: N802
else (
CompletionItemKind.FILE
if e.kind == CompleteResultKind.FILE
- else CompletionItemKind.FOLDER if e.kind == CompleteResultKind.FOLDER else None
+ else CompletionItemKind.FOLDER
+ if e.kind == CompleteResultKind.FOLDER
+ else None
)
),
detail=e.kind.value,
@@ -2050,7 +2054,9 @@ def complete_import() -> Optional[List[CompletionItem]]:
else (
CompletionItemKind.FILE
if e.kind == CompleteResultKind.FILE
- else CompletionItemKind.FOLDER if e.kind == CompleteResultKind.FOLDER else None
+ else CompletionItemKind.FOLDER
+ if e.kind == CompleteResultKind.FOLDER
+ else None
)
),
detail=e.kind.value,
diff --git a/packages/language_server/src/robotcode/language_server/robotframework/parts/hover.py b/packages/language_server/src/robotcode/language_server/robotframework/parts/hover.py
index d0063b09d..3d640ddb8 100644
--- a/packages/language_server/src/robotcode/language_server/robotframework/parts/hover.py
+++ b/packages/language_server/src/robotcode/language_server/robotframework/parts/hover.py
@@ -166,14 +166,12 @@ def _hover_default(self, nodes: List[ast.AST], document: TextDocument, position:
text = f"### {variable.type.value.title()} `{variable.name}`\n\n"
if value:
-
text += "```python\n"
text += f"value: {type(real_value).__name__} = {value}\n"
text += "```\n"
text += "\n"
if text:
-
return Hover(
contents=MarkupContent(kind=MarkupKind.MARKDOWN, value=text),
range=highlight_range,
diff --git a/packages/language_server/src/robotcode/language_server/robotframework/parts/semantic_tokens.py b/packages/language_server/src/robotcode/language_server/robotframework/parts/semantic_tokens.py
index 2849e0540..008259bd2 100644
--- a/packages/language_server/src/robotcode/language_server/robotframework/parts/semantic_tokens.py
+++ b/packages/language_server/src/robotcode/language_server/robotframework/parts/semantic_tokens.py
@@ -354,7 +354,6 @@ def generate_sem_sub_tokens(
length: Optional[int] = None,
yield_arguments: bool = False,
) -> Iterator[SemTokenInfo]:
-
sem_info = self.mapping().get(token.type, None) if token.type is not None else None
if sem_info is not None:
sem_type, sem_mod = sem_info
@@ -529,7 +528,7 @@ def generate_sem_sub_tokens(
Token.ARGUMENT,
token.value[arg_start:arg_end],
token.lineno,
- token.col_offset + arg_start,
+ token.col_offset + kw_index + arg_start,
)
for sub_token in ModelHelper.tokenize_variables(
diff --git a/packages/modifiers/src/robotcode/modifiers/__version__.py b/packages/modifiers/src/robotcode/modifiers/__version__.py
index 5c4105cd3..c68196d1c 100644
--- a/packages/modifiers/src/robotcode/modifiers/__version__.py
+++ b/packages/modifiers/src/robotcode/modifiers/__version__.py
@@ -1 +1 @@
-__version__ = "1.0.1"
+__version__ = "1.2.0"
diff --git a/packages/plugin/src/robotcode/plugin/__init__.py b/packages/plugin/src/robotcode/plugin/__init__.py
index f3ec1a467..d98b2bdaf 100644
--- a/packages/plugin/src/robotcode/plugin/__init__.py
+++ b/packages/plugin/src/robotcode/plugin/__init__.py
@@ -165,7 +165,9 @@ def print_data(
text = tomli_w.dumps(
as_dict(data, remove_defaults=remove_defaults)
if dataclasses.is_dataclass(data)
- else data if isinstance(data, dict) else {data: data}
+ else data
+ if isinstance(data, dict)
+ else {data: data}
)
if text is None:
diff --git a/packages/plugin/src/robotcode/plugin/__version__.py b/packages/plugin/src/robotcode/plugin/__version__.py
index 5c4105cd3..c68196d1c 100644
--- a/packages/plugin/src/robotcode/plugin/__version__.py
+++ b/packages/plugin/src/robotcode/plugin/__version__.py
@@ -1 +1 @@
-__version__ = "1.0.1"
+__version__ = "1.2.0"
diff --git a/packages/repl/pyproject.toml b/packages/repl/pyproject.toml
index 04952b09e..9eb5275b3 100644
--- a/packages/repl/pyproject.toml
+++ b/packages/repl/pyproject.toml
@@ -27,7 +27,7 @@ classifiers = [
]
dynamic = ["version"]
dependencies = [
- "robotcode-runner==1.0.1"
+ "robotcode-runner==1.2.0"
]
[project.entry-points.robotcode]
diff --git a/packages/repl/src/robotcode/repl/__version__.py b/packages/repl/src/robotcode/repl/__version__.py
index 5c4105cd3..c68196d1c 100644
--- a/packages/repl/src/robotcode/repl/__version__.py
+++ b/packages/repl/src/robotcode/repl/__version__.py
@@ -1 +1 @@
-__version__ = "1.0.1"
+__version__ = "1.2.0"
diff --git a/packages/repl/src/robotcode/repl/console_interpreter.py b/packages/repl/src/robotcode/repl/console_interpreter.py
index 0056e7a98..45b9a2201 100644
--- a/packages/repl/src/robotcode/repl/console_interpreter.py
+++ b/packages/repl/src/robotcode/repl/console_interpreter.py
@@ -110,7 +110,7 @@ def log_message(
if is_true(html):
message = f"*HTML*{message}"
- self.app.echo(f"{' '*self.indent}[ {level} ] {message}", file=sys.__stdout__ if std_err else sys.__stderr__)
+ self.app.echo(f"{' ' * self.indent}[ {level} ] {message}", file=sys.__stdout__ if std_err else sys.__stderr__)
def message(
self, message: str, level: str, html: Union[str, bool] = False, timestamp: Union[datetime, str, None] = None
@@ -126,7 +126,8 @@ def start_keyword(self, data: "running.Keyword", result: "result.Keyword") -> No
return
self.app.echo(
- f"{' '*self.indent}KEYWORD {result.libname}.{result.kwname} {' '.join(result.args)}", file=sys.__stdout__
+ f"{' ' * self.indent}KEYWORD {result.libname}.{result.kwname} {' '.join(result.args)}",
+ file=sys.__stdout__,
)
self.indent += 1
diff --git a/packages/repl_server/pyproject.toml b/packages/repl_server/pyproject.toml
index f2a8d6409..9958bfc44 100644
--- a/packages/repl_server/pyproject.toml
+++ b/packages/repl_server/pyproject.toml
@@ -27,8 +27,8 @@ classifiers = [
]
dynamic = ["version"]
dependencies = [
- "robotcode-jsonrpc2==1.0.1",
- "robotcode-runner==1.0.1"
+ "robotcode-jsonrpc2==1.2.0",
+ "robotcode-runner==1.2.0"
]
[project.entry-points.robotcode]
diff --git a/packages/repl_server/src/robotcode/repl_server/__version__.py b/packages/repl_server/src/robotcode/repl_server/__version__.py
index 5c4105cd3..c68196d1c 100644
--- a/packages/repl_server/src/robotcode/repl_server/__version__.py
+++ b/packages/repl_server/src/robotcode/repl_server/__version__.py
@@ -1 +1 @@
-__version__ = "1.0.1"
+__version__ = "1.2.0"
diff --git a/packages/robot/pyproject.toml b/packages/robot/pyproject.toml
index 7c97b6fcd..050bc3e14 100644
--- a/packages/robot/pyproject.toml
+++ b/packages/robot/pyproject.toml
@@ -30,7 +30,7 @@ dependencies = [
"robotframework>=4.1.0",
"tomli>=1.1.0; python_version < '3.11'",
"platformdirs>=3.2.0,<4.4.0",
- "robotcode-core==1.0.1",
+ "robotcode-core==1.2.0",
]
dynamic = ["version"]
diff --git a/packages/robot/src/robotcode/robot/__version__.py b/packages/robot/src/robotcode/robot/__version__.py
index 5c4105cd3..c68196d1c 100644
--- a/packages/robot/src/robotcode/robot/__version__.py
+++ b/packages/robot/src/robotcode/robot/__version__.py
@@ -1 +1 @@
-__version__ = "1.0.1"
+__version__ = "1.2.0"
diff --git a/packages/robot/src/robotcode/robot/diagnostics/data_cache.py b/packages/robot/src/robotcode/robot/diagnostics/data_cache.py
index c16a517c4..bd7bc63d8 100644
--- a/packages/robot/src/robotcode/robot/diagnostics/data_cache.py
+++ b/packages/robot/src/robotcode/robot/diagnostics/data_cache.py
@@ -40,7 +40,6 @@ def __init__(self, cache_dir: Path) -> None:
class JsonDataCache(FileCacheDataBase):
-
def build_cache_data_filename(self, section: CacheSection, entry_name: str) -> Path:
return self.cache_dir / section.value / (entry_name + ".json")
diff --git a/packages/robot/src/robotcode/robot/diagnostics/imports_manager.py b/packages/robot/src/robotcode/robot/diagnostics/imports_manager.py
index 8551b5661..b19af1027 100644
--- a/packages/robot/src/robotcode/robot/diagnostics/imports_manager.py
+++ b/packages/robot/src/robotcode/robot/diagnostics/imports_manager.py
@@ -226,7 +226,9 @@ def _update(self) -> None:
source_or_origin = (
self._lib_doc.source
if self._lib_doc.source is not None
- else self._lib_doc.module_spec.origin if self._lib_doc.module_spec is not None else None
+ else self._lib_doc.module_spec.origin
+ if self._lib_doc.module_spec is not None
+ else None
)
# we are a module, so add the module path into file watchers
@@ -1226,8 +1228,7 @@ def _get_library_libdoc(
saved_meta = self.data_cache.read_cache_data(CacheSection.LIBRARY, meta_file, LibraryMetaData)
if saved_meta.has_errors:
self._logger.debug(
- lambda: f"Saved library spec for {name}{args!r} is not used "
- "due to errors in meta data",
+ lambda: f"Saved library spec for {name}{args!r} is not used due to errors in meta data",
context_name="import",
)
diff --git a/packages/robot/src/robotcode/robot/diagnostics/library_doc.py b/packages/robot/src/robotcode/robot/diagnostics/library_doc.py
index 987829774..3eb6ec76a 100644
--- a/packages/robot/src/robotcode/robot/diagnostics/library_doc.py
+++ b/packages/robot/src/robotcode/robot/diagnostics/library_doc.py
@@ -1797,7 +1797,9 @@ def get_library_doc(
source=(
source or module_spec.origin
if module_spec is not None and module_spec.origin
- else import_name if is_library_by_path(import_name) else None
+ else import_name
+ if is_library_by_path(import_name)
+ else None
),
module_spec=module_spec,
errors=[
@@ -1806,7 +1808,9 @@ def get_library_doc(
(
source or module_spec.origin
if module_spec is not None and module_spec.origin
- else import_name if is_library_by_path(import_name) else None
+ else import_name
+ if is_library_by_path(import_name)
+ else None
),
(
1
@@ -2402,7 +2406,9 @@ def _get_initial_handler(self, library: Any, name: Any, method: Any) -> Any:
(
source or module_spec.origin
if module_spec is not None and module_spec.origin
- else import_name if is_variables_by_path(import_name) else None
+ else import_name
+ if is_variables_by_path(import_name)
+ else None
),
(
1
@@ -2426,7 +2432,9 @@ def _get_initial_handler(self, library: Any, name: Any, method: Any) -> Any:
(
source or module_spec.origin
if module_spec is not None and module_spec.origin
- else import_name if is_variables_by_path(import_name) else None
+ else import_name
+ if is_variables_by_path(import_name)
+ else None
),
1 if source is not None or (module_spec is not None and module_spec.origin is not None) else None,
)
diff --git a/packages/robot/src/robotcode/robot/diagnostics/namespace.py b/packages/robot/src/robotcode/robot/diagnostics/namespace.py
index 6b1aabdcc..ce88d1ba4 100644
--- a/packages/robot/src/robotcode/robot/diagnostics/namespace.py
+++ b/packages/robot/src/robotcode/robot/diagnostics/namespace.py
@@ -582,12 +582,16 @@ def visit_LibraryImport(self, node: RobotLibraryImport) -> None: # noqa: N802
end_line_no=(
last_data_token.lineno
if last_data_token is not None
- else node.end_lineno if node.end_lineno is not None else -1
+ else node.end_lineno
+ if node.end_lineno is not None
+ else -1
),
end_col_offset=(
last_data_token.end_col_offset
if last_data_token is not None
- else node.end_col_offset if node.end_col_offset is not None else -1
+ else node.end_col_offset
+ if node.end_col_offset is not None
+ else -1
),
source=self.source,
)
@@ -607,12 +611,16 @@ def visit_ResourceImport(self, node: RobotResourceImport) -> None: # noqa: N802
end_line_no=(
last_data_token.lineno
if last_data_token is not None
- else node.end_lineno if node.end_lineno is not None else -1
+ else node.end_lineno
+ if node.end_lineno is not None
+ else -1
),
end_col_offset=(
last_data_token.end_col_offset
if last_data_token is not None
- else node.end_col_offset if node.end_col_offset is not None else -1
+ else node.end_col_offset
+ if node.end_col_offset is not None
+ else -1
),
source=self.source,
)
@@ -633,12 +641,16 @@ def visit_VariablesImport(self, node: RobotVariablesImport) -> None: # noqa: N8
end_line_no=(
last_data_token.lineno
if last_data_token is not None
- else node.end_lineno if node.end_lineno is not None else -1
+ else node.end_lineno
+ if node.end_lineno is not None
+ else -1
),
end_col_offset=(
last_data_token.end_col_offset
if last_data_token is not None
- else node.end_col_offset if node.end_col_offset is not None else -1
+ else node.end_col_offset
+ if node.end_col_offset is not None
+ else -1
),
source=self.source,
)
diff --git a/packages/robot/src/robotcode/robot/diagnostics/namespace_analyzer.py b/packages/robot/src/robotcode/robot/diagnostics/namespace_analyzer.py
index 69e0e8b4f..c68a65d39 100644
--- a/packages/robot/src/robotcode/robot/diagnostics/namespace_analyzer.py
+++ b/packages/robot/src/robotcode/robot/diagnostics/namespace_analyzer.py
@@ -332,6 +332,10 @@ def visit_Var(self, node: Statement) -> None: # noqa: N802
if not is_variable(var_name):
return
+ stripped_variable = strip_variable_token(
+ Token(variable.type, var_name, variable.lineno, variable.col_offset, variable.error)
+ )
+
scope = cast(Var, node).scope
if scope:
scope = scope.upper()
@@ -347,11 +351,11 @@ def visit_Var(self, node: Statement) -> None: # noqa: N802
var = var_type(
name=var_name,
- name_token=strip_variable_token(variable),
- line_no=variable.lineno,
- col_offset=variable.col_offset,
- end_line_no=variable.lineno,
- end_col_offset=variable.end_col_offset,
+ name_token=strip_variable_token(stripped_variable),
+ line_no=stripped_variable.lineno,
+ col_offset=stripped_variable.col_offset,
+ end_line_no=stripped_variable.lineno,
+ end_col_offset=stripped_variable.end_col_offset,
source=self._namespace.source,
)
@@ -361,7 +365,9 @@ def visit_Var(self, node: Statement) -> None: # noqa: N802
else:
existing_var = self._variables[var.matcher]
- location = Location(self._namespace.document_uri, range_from_token(strip_variable_token(variable)))
+ location = Location(
+ self._namespace.document_uri, range_from_token(strip_variable_token(stripped_variable))
+ )
self._variable_references[existing_var].add(location)
if existing_var in self._overridden_variables:
self._variable_references[self._overridden_variables[existing_var]].add(location)
@@ -670,7 +676,9 @@ def _analyze_keyword_call(
Uri.from_path(
err.source
if err.source is not None
- else result.source if result.source is not None else "/"
+ else result.source
+ if result.source is not None
+ else "/"
)
),
range=Range(
@@ -1637,7 +1645,9 @@ def _find_variable(self, name: str) -> Optional[VariableDefinition]:
vars = (
self._block_variables
if self._block_variables and self._in_block_setting
- else self._suite_variables if self._in_setting else self._variables
+ else self._suite_variables
+ if self._in_setting
+ else self._variables
)
try:
diff --git a/packages/robot/src/robotcode/robot/utils/markdownformatter.py b/packages/robot/src/robotcode/robot/utils/markdownformatter.py
index efb2d3dea..800228220 100644
--- a/packages/robot/src/robotcode/robot/utils/markdownformatter.py
+++ b/packages/robot/src/robotcode/robot/utils/markdownformatter.py
@@ -333,14 +333,14 @@ def _format_table(self, rows: List[List[str]]) -> str:
for row in header_rows or [[]]:
row += [""] * (max_columns - len(row))
- table.append(f'|{"|".join(self._format_cell(cell) for cell in row)}|')
+ table.append(f"|{'|'.join(self._format_cell(cell) for cell in row)}|")
row_ = [" :--- "] * max_columns
- table.append(f'|{"|".join(row_)}|')
+ table.append(f"|{'|'.join(row_)}|")
for row in body_rows:
row += [""] * (max_columns - len(row))
- table.append(f'|{"|".join(self._format_cell(cell) for cell in row)}|')
+ table.append(f"|{'|'.join(self._format_cell(cell) for cell in row)}|")
return "\n".join(table) + "\n\n"
diff --git a/packages/runner/pyproject.toml b/packages/runner/pyproject.toml
index 99b08dca9..265cc171f 100644
--- a/packages/runner/pyproject.toml
+++ b/packages/runner/pyproject.toml
@@ -28,10 +28,10 @@ classifiers = [
dynamic = ["version"]
dependencies = [
"robotframework>=4.1.0",
- "robotcode-robot==1.0.1",
- "robotcode-modifiers==1.0.1",
- "robotcode-plugin==1.0.1",
- "robotcode==1.0.1",
+ "robotcode-robot==1.2.0",
+ "robotcode-modifiers==1.2.0",
+ "robotcode-plugin==1.2.0",
+ "robotcode==1.2.0",
]
[project.entry-points.robotcode]
diff --git a/packages/runner/src/robotcode/runner/__version__.py b/packages/runner/src/robotcode/runner/__version__.py
index 5c4105cd3..c68196d1c 100644
--- a/packages/runner/src/robotcode/runner/__version__.py
+++ b/packages/runner/src/robotcode/runner/__version__.py
@@ -1 +1 @@
-__version__ = "1.0.1"
+__version__ = "1.2.0"
diff --git a/packages/runner/src/robotcode/runner/cli/discover/discover.py b/packages/runner/src/robotcode/runner/cli/discover/discover.py
index d3c9d8704..2eb4be817 100644
--- a/packages/runner/src/robotcode/runner/cli/discover/discover.py
+++ b/packages/runner/src/robotcode/runner/cli/discover/discover.py
@@ -490,7 +490,9 @@ def handle_options(
(
[*(app.config.default_paths if app.config.default_paths else ())]
if profile.paths is None
- else profile.paths if isinstance(profile.paths, list) else [profile.paths]
+ else profile.paths
+ if isinstance(profile.paths, list)
+ else [profile.paths]
),
app.config.dry,
root_folder,
@@ -641,7 +643,7 @@ def print(item: TestItem, indent: int = 0) -> Iterable[str]:
)
if show_tags and item.tags:
yield click.style(" Tags:", bold=True, fg="yellow")
- yield f" {', '. join(normalize(str(tag), ignore='_') for tag in sorted(item.tags))}{os.linesep}"
+ yield f" {', '.join(normalize(str(tag), ignore='_') for tag in sorted(item.tags))}{os.linesep}"
else:
yield click.style(f"{item.type.capitalize()}: ", fg="green")
yield click.style(item.longname, bold=True)
@@ -683,7 +685,7 @@ def print(items: List[TestItem]) -> Iterable[str]:
)
if show_tags and item.tags:
yield click.style(" Tags:", bold=True, fg="yellow")
- yield f" {', '. join(normalize(str(tag), ignore='_') for tag in sorted(item.tags))}{os.linesep}"
+ yield f" {', '.join(normalize(str(tag), ignore='_') for tag in sorted(item.tags))}{os.linesep}"
if collector.test_and_tasks:
app.echo_via_pager(print(collector.test_and_tasks))
@@ -1047,7 +1049,9 @@ def files(app: Application, full_paths: bool, paths: Iterable[Path]) -> None:
(
[*(app.config.default_paths if app.config.default_paths else ())]
if profile.paths is None
- else profile.paths if isinstance(profile.paths, list) else [profile.paths]
+ else profile.paths
+ if isinstance(profile.paths, list)
+ else [profile.paths]
)
if not paths
else [str(p) for p in paths]
diff --git a/packages/runner/src/robotcode/runner/cli/libdoc.py b/packages/runner/src/robotcode/runner/cli/libdoc.py
index f2a718de3..e1fdc8db9 100644
--- a/packages/runner/src/robotcode/runner/cli/libdoc.py
+++ b/packages/runner/src/robotcode/runner/cli/libdoc.py
@@ -26,7 +26,7 @@ def parse_arguments(self, cli_args: Any) -> Any:
raise Information(
"Dry run, not executing any commands. "
f"Would execute libdoc with the following options and arguments:\n"
- f'{line_end.join((*(f"{k} = {v!r}" for k, v in options.items()), *arguments))}'
+ f"{line_end.join((*(f'{k} = {v!r}' for k, v in options.items()), *arguments))}"
)
return options, arguments
diff --git a/packages/runner/src/robotcode/runner/cli/rebot.py b/packages/runner/src/robotcode/runner/cli/rebot.py
index fd79c9d59..11a5ba1fc 100644
--- a/packages/runner/src/robotcode/runner/cli/rebot.py
+++ b/packages/runner/src/robotcode/runner/cli/rebot.py
@@ -28,7 +28,7 @@ def parse_arguments(self, cli_args: Any) -> Any:
raise Information(
"Dry run, not executing any commands. "
f"Would execute libdoc with the following options and arguments:\n"
- f'{line_end.join((*(f"{k} = {v!r}" for k, v in options.items()), *arguments))}'
+ f"{line_end.join((*(f'{k} = {v!r}' for k, v in options.items()), *arguments))}"
)
return options, arguments
diff --git a/packages/runner/src/robotcode/runner/cli/robot.py b/packages/runner/src/robotcode/runner/cli/robot.py
index caa7ce912..976a2631d 100644
--- a/packages/runner/src/robotcode/runner/cli/robot.py
+++ b/packages/runner/src/robotcode/runner/cli/robot.py
@@ -188,7 +188,7 @@ def parse_arguments(self, cli_args: Any) -> Any:
raise Information(
"Dry run, not executing any commands. "
f"Would execute robot with the following options and arguments:\n"
- f'{line_end.join((*(f"{k} = {v!r}" for k, v in options.items()), *arguments))}'
+ f"{line_end.join((*(f'{k} = {v!r}' for k, v in options.items()), *arguments))}"
)
modifiers = []
@@ -224,12 +224,14 @@ def parse_arguments(self, cli_args: Any) -> Any:
ROBOT_OPTIONS: Set[click.Command] = {
click.option(
"--by-longname",
+ "-bl",
type=str,
multiple=True,
help="Select tests/tasks or suites by longname.",
),
click.option(
"--exclude-by-longname",
+ "-ebl",
type=str,
multiple=True,
help="Excludes tests/tasks or suites by longname.",
@@ -333,7 +335,9 @@ def robot(
(
[*(app.config.default_paths if app.config.default_paths else ())]
if profile.paths is None
- else profile.paths if isinstance(profile.paths, list) else [profile.paths]
+ else profile.paths
+ if isinstance(profile.paths, list)
+ else [profile.paths]
),
app.config.dry,
root_folder,
diff --git a/packages/runner/src/robotcode/runner/cli/testdoc.py b/packages/runner/src/robotcode/runner/cli/testdoc.py
index 1f4c8e7f1..4d3646457 100644
--- a/packages/runner/src/robotcode/runner/cli/testdoc.py
+++ b/packages/runner/src/robotcode/runner/cli/testdoc.py
@@ -26,7 +26,7 @@ def parse_arguments(self, cli_args: Any) -> Any:
raise Information(
"Dry run, not executing any commands. "
f"Would execute testdoc with the followingoptions and arguments:\n"
- f'{line_end.join((*(f"{k} = {v!r}" for k, v in options.items()), *arguments))}'
+ f"{line_end.join((*(f'{k} = {v!r}' for k, v in options.items()), *arguments))}"
)
return options, arguments
diff --git a/pyproject.toml b/pyproject.toml
index b5f6fb7ce..45476b2e6 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -51,9 +51,9 @@ classifiers = [
]
requires-python = ">=3.8"
dependencies = [
- "robotcode-core==1.0.1",
- "robotcode-plugin==1.0.1",
- "robotcode-robot==1.0.1",
+ "robotcode-core==1.2.0",
+ "robotcode-plugin==1.2.0",
+ "robotcode-robot==1.2.0",
]
dynamic = ["version"]
@@ -71,24 +71,24 @@ robotcode = "robotcode.cli.__main__:main"
[project.optional-dependencies]
-debugger = ["robotcode-debugger==1.0.1"]
-languageserver = ["robotcode-language-server==1.0.1"]
-runner = ["robotcode-runner==1.0.1"]
-analyze = ["robotcode-analyze==1.0.1"]
+debugger = ["robotcode-debugger==1.2.0"]
+languageserver = ["robotcode-language-server==1.2.0"]
+runner = ["robotcode-runner==1.2.0"]
+analyze = ["robotcode-analyze==1.2.0"]
yaml = ["PyYAML>=5.4"]
lint = ["robotframework-robocop>=2.0.0"]
tidy = ["robotframework-tidy>=2.0.0"]
rest = ["docutils"]
-repl = ["robotcode-repl==1.0.1"]
-replserver = ["robotcode-repl-server==1.0.1"]
+repl = ["robotcode-repl==1.2.0"]
+replserver = ["robotcode-repl-server==1.2.0"]
colored = ["rich"]
all = [
- "robotcode-debugger==1.0.1",
- "robotcode-language-server==1.0.1",
- "robotcode-runner==1.0.1",
- "robotcode-analyze==1.0.1",
- "robotcode-repl==1.0.1",
- "robotcode-repl-server==1.0.1",
+ "robotcode-debugger==1.2.0",
+ "robotcode-language-server==1.2.0",
+ "robotcode-runner==1.2.0",
+ "robotcode-analyze==1.2.0",
+ "robotcode-repl==1.2.0",
+ "robotcode-repl-server==1.2.0",
"PyYAML>=5.4",
"robotframework-robocop>=2.0.0",
"robotframework-tidy>=2.0.0",
@@ -128,18 +128,6 @@ upload_to_release = false
upload_to_repository = false
build_command = "pip install hatch && hatch build"
-[tool.black]
-line-length = 120
-target-version = ['py38']
-extend-exclude = '''
-(
- /(
- | bundled/libs
- )/
-)
-'''
-
-
[tool.pytest.ini_options]
minversion = "6.0"
addopts = "-ra -vv -rf --ignore=bundled --ignore=.hatch"
diff --git a/robot.toml b/robot.toml
index 70496e57d..320bbe415 100644
--- a/robot.toml
+++ b/robot.toml
@@ -3,3 +3,6 @@ python-path = [
"tests/robotcode/language_server/robotframework/parts/data/resources",
]
paths = "tests/robotcode/language_server/robotframework/parts/data"
+
+[tool.robotcode-analyze.code]
+exit-code-mask = ["info", "hint"]
diff --git a/scripts/create_cmdline_doc.py b/scripts/create_cmdline_doc.py
index 38bf3f41c..ffa27bc31 100644
--- a/scripts/create_cmdline_doc.py
+++ b/scripts/create_cmdline_doc.py
@@ -26,7 +26,7 @@
def generate(command: click.Command, depth: int = 2, parent_ctx: Optional[click.Context] = None) -> Iterator[str]:
ctx = click.Context(command, info_name=command.name, parent=parent_ctx, auto_envvar_prefix="ROBOTCODE")
- yield f"#{'#'*depth} {ctx.command.name}"
+ yield f"#{'#' * depth} {ctx.command.name}"
yield ""
formatter = ctx.make_formatter()
diff --git a/scripts/generate_rf_options.py b/scripts/generate_rf_options.py
index 8330322f7..6837e790b 100644
--- a/scripts/generate_rf_options.py
+++ b/scripts/generate_rf_options.py
@@ -96,7 +96,7 @@ def generate(
current_line = ""
m = RE_LIST_MATCHER.match(line)
if not in_examples and m:
- line = f"**{m.group(1)}{':\\\\'+m.group(4) if m.group(4) else ''}:** {m.group(5)}"
+ line = f"**{m.group(1)}{':\\\\' + m.group(4) if m.group(4) else ''}:** {m.group(5)}"
current_line += "\n\n" + line.strip()
else:
current_line += "\n" + line.strip()
@@ -207,7 +207,7 @@ def build_class_fields(output: List[str], opts: Dict[str, Any], extend: bool = F
)
output.append(
f" {name}"
- f': {get_type(name, internal_options[long_name]["default"], v, is_flag, extend)} = field(\n'
+ f": {get_type(name, internal_options[long_name]['default'], v, is_flag, extend)} = field(\n"
f' description="""\\\n{create_desc(v, extend)}\n """,'
)
if not extend:
diff --git a/scripts/install_packages.py b/scripts/install_packages.py
index c9b616fca..a81cce599 100644
--- a/scripts/install_packages.py
+++ b/scripts/install_packages.py
@@ -12,7 +12,7 @@ def main() -> None:
if uv_path:
uv_path = f'"{uv_path}"'
- installer_command = f"{uv_path+' ' if uv_path else ''}pip {'' if uv_path else '--disable-pip-version-check'}"
+ installer_command = f"{uv_path + ' ' if uv_path else ''}pip {'' if uv_path else '--disable-pip-version-check'}"
run(
f"{installer_command} install -U -r ./bundled_requirements.txt",
diff --git a/scripts/tools.py b/scripts/tools.py
index 1f12c7d6c..9f7df78c7 100644
--- a/scripts/tools.py
+++ b/scripts/tools.py
@@ -15,7 +15,6 @@ class GitDescribeVersion(NamedTuple):
def determine_version_bump(repo_path="."):
try:
-
repo = Repo(repo_path)
if repo.bare:
raise ValueError("Not a valid Git repository.")
diff --git a/src/robotcode/cli/__version__.py b/src/robotcode/cli/__version__.py
index 5c4105cd3..c68196d1c 100644
--- a/src/robotcode/cli/__version__.py
+++ b/src/robotcode/cli/__version__.py
@@ -1 +1 @@
-__version__ = "1.0.1"
+__version__ = "1.2.0"
diff --git a/src/robotcode/cli/commands/config.py b/src/robotcode/cli/commands/config.py
index b21d55918..da724b0b5 100644
--- a/src/robotcode/cli/commands/config.py
+++ b/src/robotcode/cli/commands/config.py
@@ -149,7 +149,7 @@ def files(app: Application, paths: List[Path], user: bool = False) -> None:
if app.config.output_format is None or app.config.output_format == OutputFormat.TEXT:
for entry in result["files"]:
- app.echo(f'{entry["path"]} ({entry["type"].value})')
+ app.echo(f"{entry['path']} ({entry['type'].value})")
else:
app.print_data(result)
@@ -242,7 +242,7 @@ def _get_config_fields_for_type(
}
args = get_args(field.type)
- p = f"{prefix}{'' if prefix[-1]=='.' else '.'}" if prefix else ""
+ p = f"{prefix}{'' if prefix[-1] == '.' else '.'}" if prefix else ""
for a in args:
origin = get_origin(a)
if origin is None and issubclass(a, BaseOptions):
diff --git a/src/robotcode/cli/commands/profiles.py b/src/robotcode/cli/commands/profiles.py
index 21aa6c027..516b8a84f 100644
--- a/src/robotcode/cli/commands/profiles.py
+++ b/src/robotcode/cli/commands/profiles.py
@@ -141,8 +141,8 @@ def list(app: Application, paths: List[Path], show_hidden: bool = False, sort_by
*(len(profile["description"]) for profile in result["profiles"]),
)
output += (
- f'| Active | Selected | Enabled | Precedence | Name{(max_name - len("Name")) * " "} '
- f'| Description{(max_description - len("Description")) * " "} |\n'
+ f"| Active | Selected | Enabled | Precedence | Name{(max_name - len('Name')) * ' '} "
+ f"| Description{(max_description - len('Description')) * ' '} |\n"
)
output += f"|:------:|:------:|:--------:|:-------:|:{max_name * '-'}-|:{max_description * '-'}-|\n"
for selected_profiles, enabled, name, description, precedence in (
@@ -150,12 +150,12 @@ def list(app: Application, paths: List[Path], show_hidden: bool = False, sort_by
for v in result["profiles"]
):
output += (
- f'| {"*" if selected_profiles and enabled else " "} '
- f'| {"*" if selected_profiles else " "} '
- f'| {"*" if enabled else " "} '
- f'| {precedence if precedence else " "} '
- f'| {name}{(max_name - len(name)) * " "} '
- f'| {description if description else ""}{(max_description - len(description)) * " "} |\n'
+ f"| {'*' if selected_profiles and enabled else ' '} "
+ f"| {'*' if selected_profiles else ' '} "
+ f"| {'*' if enabled else ' '} "
+ f"| {precedence if precedence else ' '} "
+ f"| {name}{(max_name - len(name)) * ' '} "
+ f"| {description if description else ''}{(max_description - len(description)) * ' '} |\n"
)
else:
output += "No profiles defined.\n"
diff --git a/syntaxes/robotframework-repl.tmLanguage.json b/syntaxes/robotframework-repl.tmLanguage.json
index a84e8237a..6af6eaad4 100644
--- a/syntaxes/robotframework-repl.tmLanguage.json
+++ b/syntaxes/robotframework-repl.tmLanguage.json
@@ -41,7 +41,7 @@
]
},
"expression_var": {
- "name": "meta.variables.expression.robotframework",
+ "name": "meta.variable.expression.robotframework",
"begin": "[$@&]\\{\\{",
"end": "\\}\\}",
"beginCaptures": { "0": { "name": "punctuation.definition.expression.begin.robotframework" } },
@@ -73,7 +73,7 @@
"patterns": [ { "include": "#variables" } ]
},
"simple_var": {
- "name": "meta.variables.robotframework",
+ "name": "meta.variable.simple.robotframework",
"contentName": "variable.name.readwrite.robotframework",
"begin": "[$@&]\\{",
"end": "(\\})|(?= {2}| ?\\t| ?$)",
@@ -82,7 +82,7 @@
"patterns": [ { "include": "#expression_var" } ]
},
"env_var": {
- "name": "meta.variables.robotframework",
+ "name": "meta.variable.env.robotframework",
"begin": "(%\\{)",
"end": "(\\})|(?= {2}| ?\\t| ?$)",
"beginCaptures": { "0": { "name": "punctuation.definition.envvar.begin.robotframework" } },
@@ -403,6 +403,7 @@
"end": "^(?!(\\s*(\\.\\.\\.((( {2}| ?\\t)\\s*\\S.*)|(\\s*))?$))|(\\s*#.*$)|(\\s*$))",
"beginCaptures": { "1": { "name": "keyword.control.flow.robotframework" } },
"patterns": [
+ { "include": "#escape" },
{ "include": "#comment" },
{ "include": "#comment_line" },
{ "include": "#variables" },
@@ -437,9 +438,11 @@
},
"end": "^(?!(\\s*(\\.\\.\\.((( {2}| ?\\t)\\s*\\S.*)|(\\s*))?$))|(\\s*#.*$)|(\\s*$))",
"patterns": [
+ { "include": "#escape" },
+ { "include": "#comment" },
+ { "include": "#comment_line" },
{ "include": "#variables" },
- { "include": "#line_continuation" },
- { "include": "#comment" }
+ { "include": "#line_continuation" }
]
},
"line_continuation": {
diff --git a/syntaxes/robotframework.tmLanguage.json b/syntaxes/robotframework.tmLanguage.json
index b4651a86d..095789cb6 100644
--- a/syntaxes/robotframework.tmLanguage.json
+++ b/syntaxes/robotframework.tmLanguage.json
@@ -1,33 +1,55 @@
{
"$schema": "https://raw.githubusercontent.com/RedCMD/TmLanguage-Syntax-Highlighter/main/vscode.tmLanguage.schema.json",
"repository": {
- "arg_separator": {
- "name": "meta.arg.separator.robotframework",
- "match": "( {2}| ?\\t)+"
+ "argument": {
+ "match": "\\S+(?: \\S+)*",
+ "name": "string.unquoted.argument.robotframework",
+ "captures": {
+ "0": {
+ "patterns": [
+ { "include": "#escape" },
+ { "include": "#variables" }
+ ]
+ }
+ }
},
- "variable_setting": {
- "name": "meta.variable.assign.robotframework",
- "contentName": "string.unquoted.argument.robotframework",
- "begin": "^([$@&]\\{)(.*?)(\\})( ?=?)",
- "beginCaptures": {
- "1": { "name": "punctuation.definition.variable.begin.robotframework" },
- "2": {
- "name": "variable.name.readwrite.robotframework",
- "patterns": [ { "include": "#variables" } ]
- },
- "3": { "name": "punctuation.definition.variable.end.robotframework" },
- "4": { "name": "keyword.operator.robotframework" }
- },
+ "arguments": {
+ "name": "meta.arguments.robotframework",
+ "begin": "(?!(?: {2,}| ?\\t ?)+)",
"end": "^(?!(\\s*(\\.\\.\\.((( {2}| ?\\t)\\s*\\S.*)|(\\s*))?$))|(\\s*#.*$)|(\\s*$))",
"patterns": [
{ "include": "#escape" },
{ "include": "#comment" },
{ "include": "#comment_line" },
- { "include": "#line_continuation" },
{ "include": "#variables" },
- { "include": "#arg_separator"}
+ { "include": "#line_continuation" },
+ { "include": "#argument" }
]
},
+ "variable_setting": {
+ "name": "meta.variables.setting.robotframework",
+ "begin": "^(.*?)(?= {2}| ?\\t| ?$)",
+ "beginCaptures": {
+ "1": {
+ "name": "meta.variables.setting.variable.robotframework",
+ "patterns": [ { "include": "#variable_assignment" } ]
+ }
+ },
+ "end": "^(?!(\\s*(\\.\\.\\.((( {2}| ?\\t)\\s*\\S.*)|(\\s*))?$))|(\\s*#.*$)|(\\s*$))",
+ "patterns": [ { "include": "#arguments" } ]
+ },
+ "variable_assignment": {
+ "name": "meta.variable.assign.robotframework",
+ "contentName": "variable.name.readwrite.robotframework",
+ "begin": "[$@&]\\{",
+ "end": "(\\}( ?=)?)(?=( {2}| ?\\t| ?$))",
+ "beginCaptures": { "0": { "name": "punctuation.definition.variable.begin.robotframework" } },
+ "endCaptures": {
+ "1": { "name": "punctuation.definition.variable.end.robotframework" },
+ "2": { "name": "keyword.operator.robotframework" }
+ },
+ "patterns": [ { "include": "#variables" } ]
+ },
"variables_section": {
"name": "meta.section.variables.robotframework",
"begin": "^(\\*+\\s*(?i:variables?|proměnné|variabelen|varijable|muuttujat|variables|variablen|variáveis|กำหนดตัวแปร|zmienne|змінні|переменные|变量|變量|değişkenler|variabler|променливи|variabile|variabili|चर|các biến số|変数|변수)( ?\\*+)?)(?= {2}| ?\\t| ?$)",
@@ -46,15 +68,12 @@
]
},
"expression_var": {
- "name": "meta.variables.expression.robotframework",
+ "name": "meta.variable.expression.robotframework",
"begin": "[$@&]\\{\\{",
"end": "\\}\\}",
"beginCaptures": { "0": { "name": "punctuation.definition.expression.begin.robotframework" } },
"endCaptures": { "0": { "name": "punctuation.definition.expression.end.robotframework" } },
- "patterns": [
- { "include": "#expression" },
- { "include": "#simple_var" }
- ]
+ "patterns": [ { "include": "#variables" } ]
},
"embedded_argument": {
"name": "meta.embedded_argument.robotframework",
@@ -78,16 +97,27 @@
"patterns": [ { "include": "#variables" } ]
},
"simple_var": {
- "name": "meta.variables.robotframework",
+ "name": "meta.variable.simple.robotframework",
"contentName": "variable.name.readwrite.robotframework",
"begin": "[$@&]\\{",
"end": "(\\})|(?= {2}| ?\\t| ?$)",
"beginCaptures": { "0": { "name": "punctuation.definition.variable.begin.robotframework" } },
"endCaptures": { "1": { "name": "punctuation.definition.variable.end.robotframework" } },
- "patterns": [ { "include": "#expression_var" } ]
+ "patterns": [
+ { "include": "#simple_curly_braces" },
+ { "include": "#variables" }
+ ]
+ },
+ "simple_curly_braces": {
+ "name": "meta.variable.simple.robotframework",
+ "contentName": "variable.name.readwrite.robotframework",
+ "begin": "\\{",
+ "end": "\\}|(?= {2}| ?\\t| ?$)",
+ "beginCaptures": { "0": { "name": "punctuation.definition.curly.begin.robotframework" } },
+ "endCaptures": { "1": { "name": "punctuation.definition.curly.end.robotframework" } }
},
"env_var": {
- "name": "meta.variables.robotframework",
+ "name": "meta.variable.env.robotframework",
"begin": "(%\\{)",
"end": "(\\})|(?= {2}| ?\\t| ?$)",
"beginCaptures": { "0": { "name": "punctuation.definition.envvar.begin.robotframework" } },
@@ -129,8 +159,11 @@
},
"settings_section": {
"name": "meta.section.settings.robotframework",
- "begin": "^(\\*+\\s*(?i:settings?|nastavení|instellingen|postavke|asetukset|paramètres|einstellungen|configurações|definições|การตั้งค่า|ustawienia|налаштування|configuraciones|настройки|设置|設置|ayarlar|inställningar|setari|impostazioni|स्थापना|cài đặt|設定|설정?)( ?\\*+)?)(?= {2}| ?\\t| ?$)",
- "beginCaptures": { "1": { "name": "keyword.other.header.settings.robotframework" } },
+ "begin": "^(\\*+\\s*(?i:settings?|nastavení|instellingen|postavke|asetukset|paramètres|einstellungen|configurações|definições|การตั้งค่า|ustawienia|налаштування|configuraciones|настройки|设置|設置|ayarlar|inställningar|setari|impostazioni|स्थापना|cài đặt|設定|설정)( ?\\*+)?)(.*$)",
+ "beginCaptures": {
+ "1": { "name": "keyword.other.header.settings.robotframework" },
+ "3": { "name": "comment.header.robotframework" }
+ },
"end": "^(?=\\*)",
"patterns": [
{ "include": "#comment_line" },
@@ -139,40 +172,55 @@
{ "include": "#unknown_setting" }
]
},
- "documentation_setting": {
- "contentName": "markup.robotframework",
- "begin": "(?i)^(documentation|dokumentace|documentatie|dokumentacija|dokumentaatio|dokumentation|documentação|เอกสาร|dokumentacja|документація|documentación|документация|说明|說明|dokümantasyon|documentazione|प्रलेखन|tài liệu hướng dẫn|ドキュメント|문서)(?= {2}| ?\\t| ?$)",
- "beginCaptures": { "1": { "name": "keyword.control.settings.robotframework" } },
+ "documentation_argument": {
+ "match": "\\S+(?: \\S+)*?",
+ "name": "markup.robotframework",
+ "captures": {
+ "0": {
+ "patterns": [
+ { "include": "#escape" },
+ { "include": "#documentation_italic" },
+ { "include": "#documentation_bold" },
+ { "include": "#variables" }
+ ]
+ }
+ }
+ },
+ "documentation_arguments": {
+ "begin": "(?!(?: {2,}| ?\\t ?)+)",
"end": "^(?!(\\s*(\\.\\.\\.((( {2}| ?\\t)\\s*\\S.*)|(\\s*))?$))|(\\s*#.*$)|(\\s*$))",
"patterns": [
{ "include": "#comment" },
{ "include": "#comment_line" },
+ { "include": "#escape" },
{ "include": "#documentation_italic" },
{ "include": "#documentation_bold" },
- { "include": "#escape" },
{ "include": "#variables" },
{ "include": "#line_continuation" },
- { "include": "#arg_separator"}
+ { "include": "#documentation_argument" }
]
},
+ "documentation_setting": {
+ "name": "meta.setting.documentation.robotframework",
+ "begin": "(?i)^(documentation|dokumentace|documentatie|dokumentacija|dokumentaatio|dokumentation|documentação|เอกสาร|dokumentacja|документація|documentación|документация|说明|說明|dokümantasyon|documentazione|प्रलेखन|tài liệu hướng dẫn|ドキュメント|문서)(?= {2}| ?\\t| ?$)",
+ "beginCaptures": { "1": { "name": "keyword.control.settings.robotframework" } },
+ "end": "^(?!(\\s*(\\.\\.\\.((( {2}| ?\\t)\\s*\\S.*)|(\\s*))?$))|(\\s*#.*$)|(\\s*$))",
+ "patterns": [ { "include": "#documentation_arguments" } ]
+ },
"documentation_bold": {
"match": "(?:(?<=\\s|^))(\\*)(?:(?=\\S))(.*?)(?:(?<=\\S))(\\*)(?:(?=\\s|_|\\.))",
"captures": {
- "1": { "name": "punctuation.definition.italic.markdown" },
+ "1": { "name": "punctuation.definition.bold.markdown" },
"2": {
"name": "markup.bold.documentation.robotframework",
"patterns": [
{ "include": "#documentation_italic" },
{ "include": "#documentation_bold" },
{ "include": "#escape" },
- { "include": "#comment" },
- { "include": "#comment_line" },
- { "include": "#variables" },
- { "include": "#line_continuation" },
- { "include": "#arg_separator"}
+ { "include": "#variables" }
]
},
- "3": { "name": "punctuation.definition.italic.markdown" }
+ "3": { "name": "punctuation.definition.bold.markdown" }
}
},
"documentation_italic": {
@@ -182,53 +230,35 @@
"2": {
"name": "markup.italic.documentation.robotframework",
"patterns": [
- { "include": "#documentation_italic" },
{ "include": "#documentation_bold" },
+ { "include": "#documentation_italic" },
{ "include": "#escape" },
- { "include": "#comment" },
- { "include": "#comment_line" },
- { "include": "#variables" },
- { "include": "#line_continuation" },
- { "include": "#arg_separator"}
+ { "include": "#variables" }
]
},
"3": { "name": "punctuation.definition.italic.markdown" }
}
},
"testcase_name_def": {
- "contentName": "string.unquoted.argument.robotframework",
"begin": "^( ?\\S+( ?\\S*)*?)(?= {2}| ?\\t| ?$)",
"beginCaptures": { "1": { "patterns": [ { "include": "#testcase_name" } ] } },
"end": "^(?!(\\s*(\\.\\.\\.((( {2}| ?\\t)\\s*\\S.*)|(\\s*))?$))|(\\s*#.*$)|(\\s*$))",
- "patterns": [
- { "include": "#escape" },
- { "include": "#comment" },
- { "include": "#comment_line" },
- { "include": "#variables" },
- { "include": "#line_continuation" },
- { "include": "#arg_separator"}
- ]
+ "patterns": [ { "include": "#arguments" } ]
},
"testcase_name": {
"contentName": "entity.name.function.testcase.name.robotframework",
"begin": "",
"while": ".",
- "patterns": [ { "include": "#escape" }, { "include": "#variables" } ]
+ "patterns": [
+ { "include": "#escape" },
+ { "include": "#variables" }
+ ]
},
"keyword_name_def": {
- "contentName": "string.unquoted.argument.robotframework",
"begin": "^( ?\\S+( ?\\S*)*?)(?= {2}| ?\\t| ?$)",
"beginCaptures": { "1": { "patterns": [ { "include": "#keyword_name" } ] } },
"end": "^(?!(\\s*(\\.\\.\\.((( {2}| ?\\t)\\s*\\S.*)|(\\s*))?$))|(\\s*#.*$)|(\\s*$))",
- "patterns": [
- { "include": "#escape" },
- { "include": "#comment" },
- { "include": "#comment_line" },
- { "include": "#variables" },
- { "include": "#line_continuation" },
- { "include": "#arg_separator"}
-
- ]
+ "patterns": [ { "include": "#arguments" } ]
},
"keyword_name": {
"contentName": "entity.name.function.keyword.name.robotframework",
@@ -244,15 +274,18 @@
{ "include": "#testcase_settings" },
{ "include": "#control_flow_expression_statements" },
{ "include": "#control_flow_statements" },
- { "include": "#other_statements" },
- { "include": "#keyword_call" },
- { "include": "#returning_keyword_call" }
+ { "include": "#var_statement" },
+ { "include": "#returning_keyword_call" },
+ { "include": "#keyword_call" }
]
},
"testcases_section": {
"name": "meta.section.testcases.robotframework",
- "begin": "^(\\*+\\s*(?i:test cases?|testovací případy|testgevallen|test cases|testit|unités de test|testfälle|casos de teste|การทดสอบ|przypadki testowe|тест-кейси|casos de prueba|заголовки тестов|用例|案例|test durumları|testfall|тестови случаи|cazuri de test|casi di test|नियत कार्य प्रवेशिका|các kịch bản kiểm thử|テスト ケース|테스트 사례)( ?\\*+)?)(?= {2}| ?\\t| ?$)",
- "beginCaptures": { "1": { "name": "keyword.other.header.testcase.robotframework" } },
+ "begin": "^(\\*+\\s*(?i:test cases?|testovací případy|testgevallen|test cases|testit|unités de test|testfälle|casos de teste|การทดสอบ|przypadki testowe|тест-кейси|casos de prueba|заголовки тестов|用例|案例|test durumları|testfall|тестови случаи|cazuri de test|casi di test|नियत कार्य प्रवेशिका|các kịch bản kiểm thử|テスト ケース|테스트 사례)( ?\\*+)?)(.*$)",
+ "beginCaptures": {
+ "1": { "name": "keyword.other.header.testcase.robotframework" },
+ "3": { "name": "comment.header.robotframework" }
+ },
"end": "^(?=\\*)",
"patterns": [
{ "include": "#comment_line" },
@@ -262,8 +295,11 @@
},
"tasks_section": {
"name": "meta.section.tasks.robotframework",
- "begin": "^(\\*+\\s*(?i:tasks?|úlohy|taken|taskovi|tehtävät|tâches|aufgaben|tarefas|งาน|zadania|завдань|tareas|задача|任务|任務|görevler|taskar|задачи|sarcini|attività|कार्य प्रवेशिका|các nghiệm vụ|タスク|작업)( ?\\*+)?)(?= {2}| ?\\t| ?$)",
- "beginCaptures": { "1": { "name": "keyword.other.header.task.robotframework" } },
+ "begin": "^(\\*+\\s*(?i:tasks?|úlohy|taken|taskovi|tehtävät|tâches|aufgaben|tarefas|งาน|zadania|завдань|tareas|задача|任务|任務|görevler|taskar|задачи|sarcini|attività|कार्य प्रवेशिका|các nghiệm vụ|タスク|작업)( ?\\*+)?)(.*$)",
+ "beginCaptures": {
+ "1": { "name": "keyword.other.header.task.robotframework" },
+ "3": { "name": "comment.header.robotframework" }
+ },
"end": "^(?=\\*)",
"patterns": [
{ "include": "#comment_line" },
@@ -274,7 +310,10 @@
"keywords_section": {
"name": "meta.section.keywords.robotframework",
"begin": "^(\\*+\\s*(?i:keywords?|klíčová slova|actiewoorden|keywords|avainsanat|mots-clés|schlüsselwörter|palavras-chave|คำสั่งเพิ่มเติม|słowa kluczowe|ключових слова|palabras clave|ключевые слова|关键字|關鍵字|anahtar kelimeler|nyckelord|ключови думи|cuvinte cheie|parole chiave|कुंजीशब्द|các từ khóa|キーワード|키워드)( ?\\*+)?)(?= {2}| ?\\t| ?$)",
- "beginCaptures": { "1": { "name": "keyword.other.header.keyword.robotframework" } },
+ "beginCaptures": {
+ "1": { "name": "keyword.other.header.keyword.robotframework" },
+ "3": { "name": "comment.header.robotframework" }
+ },
"end": "^(?=\\*)",
"patterns": [
{ "include": "#comment_line" },
@@ -284,8 +323,11 @@
},
"comments_section": {
"name": "meta.section.comments.robotframework",
- "begin": "^(\\*+\\s*(?i:comments?|komentáře|opmerkingen|komentari|kommentit|commentaires|kommentare|comentários|คำอธิบาย|komentarze|коментарів|comentarios|комментарии|备注|備註|yorumlar|kommentarer|коментари|comentarii|commenti|टिप्पणी|các chú thích|コメント|의견)( ?\\*+)?)(?= {2}| ?\\t| ?$)",
- "beginCaptures": { "1": { "name": "keyword.other.header.comment.robotframework" } },
+ "begin": "^(\\*+\\s*(?i:comments?|komentáře|opmerkingen|komentari|kommentit|commentaires|kommentare|comentários|คำอธิบาย|komentarze|коментарів|comentarios|комментарии|备注|備註|yorumlar|kommentarer|коментари|comentarii|commenti|टिप्पणी|các chú thích|コメント|의견)( ?\\*+)?)(.*$)",
+ "beginCaptures": {
+ "1": { "name": "keyword.other.header.comment.robotframework" },
+ "3": { "name": "comment.header.robotframework" }
+ },
"end": "^(?=\\*)",
"patterns": [
{ "include": "#comment_line" },
@@ -304,32 +346,17 @@
},
"other_setting": {
"name": "meta.setting.other.robotframework",
- "contentName": "string.unquoted.argument.robotframework",
"begin": "(?i)^(\\S+( \\S+)*)(?= {2}| ?\\t| ?$)",
"beginCaptures": { "1": { "name": "keyword.control.settings.robotframework" } },
"end": "^(?!(\\s*(\\.\\.\\.((( {2}| ?\\t)\\s*\\S.*)|(\\s*))?$))|(\\s*#.*$)|(\\s*$))",
- "patterns": [
- { "include": "#escape" },
- { "include": "#comment" },
- { "include": "#comment_line" },
- { "include": "#variables" },
- { "include": "#line_continuation" },
- { "include": "#arg_separator"}
- ]
+ "patterns": [ { "include": "#arguments" } ]
},
"unknown_setting": {
- "contentName": "comment.unknown.setting.arguments.robotframework",
+ "name": "meta.setting.unknown.robotframework",
"begin": "(?i)^(\\s+)(\\S+( \\S+)*)(?= {2}| ?\\t| ?$)",
"beginCaptures": { "2": { "name": "comment.unknown.setting.robotframework" } },
"end": "^(?!(\\s*(\\.\\.\\.((( {2}| ?\\t)\\s*\\S.*)|(\\s*))?$))|(\\s*#.*$)|(\\s*$))",
- "patterns": [
- { "include": "#escape" },
- { "include": "#comment" },
- { "include": "#comment_line" },
- { "include": "#variables" },
- { "include": "#line_continuation" },
- { "include": "#arg_separator"}
- ]
+ "patterns": [ { "include": "#arguments" } ]
},
"testcase_settings": {
"patterns": [
@@ -338,148 +365,87 @@
]
},
"documentation_testcase_settings": {
- "contentName": "markup.robotframework",
+ "name": "meta.testcase_setting.documentation.robotframework",
"begin": "^( {2}|\\t)(\\s)*(?i:\\[(documentation|dokumentace|documentatie|dokumentacija|dokumentaatio|dokumentation|documentação|เอกสาร|dokumentacja|документація|documentación|документация|说明|說明|dokümantasyon|documentazione|प्रलेखन|tài liệu hướng dẫn|ドキュメント|문서)\\])(?= {2}| ?\\t| ?$)",
"beginCaptures": { "3": { "name": "keyword.control.settings.documentation.robotframework" } },
"end": "^(?!(\\s*(\\.\\.\\.((( {2}| ?\\t)\\s*\\S.*)|(\\s*))?$))|(\\s*#.*$)|(\\s*$))",
- "patterns": [
- { "include": "#documentation_italic" },
- { "include": "#documentation_bold" },
- { "include": "#escape" },
- { "include": "#comment" },
- { "include": "#comment_line" },
- { "include": "#variables" },
- { "include": "#line_continuation" },
- { "include": "#arg_separator"}
- ]
+ "patterns": [ { "include": "#documentation_arguments" } ]
},
"other_testcase_settings": {
- "contentName": "string.unquoted.argument.robotframework",
- "begin": "^( {2}|\\t)(\\s)*(\\[.*?\\])(?= {2}| ?\\t| ?$)",
+ "begin": "^( {2}|\\t)(\\s*)(\\[.*?\\])(?= {2}| ?\\t| ?$)",
"beginCaptures": { "0": { "name": "keyword.control.settings.robotframework" } },
"end": "^(?!(\\s*(\\.\\.\\.((( {2}| ?\\t)\\s*\\S.*)|(\\s*))?$))|(\\s*#.*$)|(\\s*$))",
- "patterns": [
- { "include": "#escape" },
- { "include": "#comment" },
- { "include": "#comment_line" },
- { "include": "#variables" },
- { "include": "#line_continuation" },
- { "include": "#arg_separator"}
- ]
+ "patterns": [ { "include": "#arguments" } ]
},
"keyword_call": {
"name": "meta.keyword-call.content.robotframework",
- "contentName": "string.unquoted.argument.robotframework",
- "begin": "^(?!(?: {2,}| ?\\t ?)+(?:(?=[$\\[@&%]|\\.)))(?: {2,}| ?\\t ?)+(.*?)(?= {2,}| ?\\t ?| ?$)",
+ "begin": "^(( {2}|\\t)(\\s*))(.*?)(?= {2}| ?\\t| ?$)",
"end": "^(?!(\\s*(\\.\\.\\.((( {2}| ?\\t)\\s*\\S.*)|(\\s*))?$))|(\\s*#.*$)|(\\s*$))",
"beginCaptures": {
- "1": {
+ "4": {
"name": "entity.name.function.keyword-call.robotframework",
- "patterns": [{ "include": "#escape" }, { "include": "#variables" } ]
+ "patterns": [
+ { "include": "#escape" },
+ { "include": "#variables" }
+ ]
}
},
- "patterns": [
- { "include": "#escape" },
- { "include": "#comment" },
- { "include": "#comment_line" },
- { "include": "#variables" },
- { "include": "#line_continuation" },
- { "include": "#arg_separator"}
- ]
+ "patterns": [ { "include": "#arguments" } ]
+ },
+ "returning_keyword_call": {
+ "name": "meta.returning-keyword-call.content.robotframework",
+ "begin": "^(( {2}|\\t)(\\s*))([$&@]\\{(\\S+(?: \\S+)*)\\}(( ?=)?( {2}|\\t)(\\s*)))(.*?)(?= {2}| ?\\t| ?$)",
+ "end": "^(?!(\\s*(\\.\\.\\.((( {2}| ?\\t)\\s*\\S.*)|(\\s*))?$))|(\\s*#.*$)|(\\s*$))",
+ "beginCaptures": {
+ "4": {
+ "name": "meta.returning-keyword-call.assign.robotframework",
+ "patterns": [ { "include": "#variable_assignment" } ]
+ },
+ "10": {
+ "name": "entity.name.function.keyword-call.robotframework",
+ "patterns": [
+ { "include": "#escape" },
+ { "include": "#variables" }
+ ]
+ }
+ },
+ "patterns": [ { "include": "#arguments" } ]
},
"control_flow_expression_statements": {
- "name": "meta.keyword-call.content.robotframework",
- "contentName": "string.unquoted.argument.robotframework",
- "begin": "^(?!(?: {2,}| ?\\t ?)+(?:(?=[$\\[@&%]|\\.)))(?: {2,}| ?\\t ?)+(IF|ELSE IF|WHILE)(( {2,}| ?\\t)( *)(.*?))?(?= {2,}| ?\\t ?| ?$)",
+ "name": "meta.control-flow-expressions.robotframework",
+ "begin": "^( {2}|\\t)(\\s*)(IF|ELSE IF|WHILE)(( {2,}| ?\\t)( *)(.*?))?(?= {2}| ?\\t| ?$)",
"end": "^(?!(\\s*(\\.\\.\\.((( {2}| ?\\t)\\s*\\S.*)|(\\s*))?$))|(\\s*#.*$)|(\\s*$))",
"beginCaptures": {
- "1": { "name": "keyword.control.flow.robotframework" },
- "5": { "patterns": [ { "include": "#expression" } ] }
+ "3": { "name": "keyword.control.flow.robotframework" },
+ "4": { "patterns": [ { "include": "#expression" } ] }
},
- "patterns": [
- { "include": "#escape" },
- { "include": "#comment" },
- { "include": "#comment_line" },
- { "include": "#variables" },
- { "include": "#line_continuation" },
- { "include": "#arg_separator"}
- ]
+ "patterns": [ { "include": "#arguments" } ]
},
"control_flow_statements": {
- "name": "meta.keyword-call.content.robotframework",
- "contentName": "string.unquoted.argument.robotframework",
- "begin": "^(?!(?: {2,}| ?\\t ?)+(?:(?=[$\\[@&%]|\\.)))(?: {2,}| ?\\t ?)+(FOR|GROUP|END|ELSE|TRY|EXCEPT|FINALLY)(?= {2,}| ?\\t ?| ?$)",
+ "name": "meta.control-flow-statements.robotframework",
+ "begin": "^( {2}|\\t)(\\s*)(FOR|GROUP|END|ELSE|TRY|EXCEPT|FINALLY|BREAK|CONTINUE)(?= {2}| ?\\t| ?$)",
"end": "^(?!(\\s*(\\.\\.\\.((( {2}| ?\\t)\\s*\\S.*)|(\\s*))?$))|(\\s*#.*$)|(\\s*$))",
- "beginCaptures": { "1": { "name": "keyword.control.flow.robotframework" } },
- "patterns": [
- { "include": "#comment" },
- { "include": "#comment_line" },
- { "include": "#variables" },
- { "include": "#line_continuation" },
- { "include": "#arg_separator"}
- ]
+ "beginCaptures": { "3": { "name": "keyword.control.flow.robotframework" } },
+ "patterns": [ { "include": "#arguments" } ]
},
- "other_statements": {
- "name": "meta.keyword-call.content.robotframework",
- "contentName": "string.unquoted.argument.robotframework",
- "begin": "^(?!(?: {2,}| ?\\t ?)+(?:(?=[$\\[@&%]|\\.)))(?: {2,}| ?\\t ?)+(VAR)(?= {2,}| ?\\t ?| ?$)",
+ "var_statement": {
+ "name": "meta.var-statement.robotframework",
+ "begin": "^( {2}|\\t)(\\s*)(VAR)(( {2}|\\t)+(\\S.+?))?(?= {2}| ?\\t| ?$)",
"end": "^(?!(\\s*(\\.\\.\\.((( {2}| ?\\t)\\s*\\S.*)|(\\s*))?$))|(\\s*#.*$)|(\\s*$))",
- "beginCaptures": { "1": { "name": "keyword.other.robotframework" } },
- "patterns": [
- { "include": "#escape" },
- { "include": "#comment" },
- { "include": "#comment_line" },
- { "include": "#variables" },
- { "include": "#line_continuation" },
- { "include": "#arg_separator"}
- ]
- },
- "returning_keyword_call": {
- "name": "meta.returning-keyword-call.robotframework",
- "contentName": "meta.returning.keyword.content.robotframework",
- "begin": "^(?=(?: {2,}| ?\\t ?)+(?:(?=[$@&])))(?:\\s)",
- "end": "^(?!(\\s*(\\.\\.\\.((( {2}| ?\\t)\\s*\\S.*)|(\\s*))?$))|(\\s*#.*$)|(\\s*$))",
- "patterns": [ { "include": "#returning_keyword" } ]
- },
- "returning_keyword": {
- "name": "meta.returning-keyword.robotframework",
- "contentName": "string.unquoted.argument.robotframework",
- "begin": "(?<=\\s)(?=\\s*(?:(?=[$@&])))((?:\\s)*(?:[$&@]{(?:.*?)}(?:\\[.*?\\])?(?: ?=?\\s*))*)(.*?)(?: {2,}| ?\\t ?|$)",
"beginCaptures": {
- "1": { "patterns": [ { "include": "#variable_assignment_from_kw" } ] },
- "2": { "name": "entity.name.function.keyword-call.robotframework" }
+ "3": { "name": "keyword.other.robotframework" },
+ "4": { "patterns": [ { "include": "#variable_assignment" } ] }
},
- "end": "^(?!(\\s*(\\.\\.\\.((( {2}| ?\\t)\\s*\\S.*)|(\\s*))?$))|(\\s*#.*$)|(\\s*$))",
- "patterns": [
- { "include": "#variables" },
- { "include": "#line_continuation" },
- { "include": "#arg_separator"},
- { "include": "#comment" }
- ]
- },
- "variable_assignment_from_kw": {
- "contentName": "meta.variable.assignment.keyword.content.robotframework",
- "begin": "(?<=^\\s)(?:\\s*)(?=[$@&])",
- "end": "(?:( ?=)|(?: {2,}| ?\\t+ ?| ?$)(?![#$@& \\n\\r]|\\.\\.\\.)|^(?=\\.\\.\\.)( {2,}| ?\\t+ ?| ?$)(?![#$@&]))",
- "endCaptures": { "1": { "name": "keyword.operator.robotframework" } },
- "patterns": [ { "include": "#variables" } ]
+ "patterns": [ { "include": "#arguments" } ]
},
"line_continuation": {
- "match": "^\\s*(\\.\\.\\.)(?! ?\\S)",
- "captures": { "1": { "name": "keyword.operator.continue.robotframework" } }
+ "match": "^(\\s*)(\\.\\.\\.)(?= {2}| ?\\t| ?$)",
+ "captures": { "2": { "name": "keyword.operator.continue.robotframework" } }
},
"impossible": {
"comment": "This is a special rule that should be used where no match is desired. It is not a good idea to match something like '1{0}' because in some cases that can result in infinite loops in token generation. So the rule instead matches and impossible expression to allow a match to fail and move to the next token.",
"match": "$.^"
},
- "semicolon": {
- "patterns": [
- {
- "name": "invalid.deprecated.semicolon.python",
- "match": "\\;$"
- }
- ]
- },
"comments": {
"patterns": [
{
@@ -513,79 +479,6 @@
{ "include": "#comments-base" }
]
},
- "docstring": {
- "patterns": [
- {
- "name": "string.quoted.docstring.multi.python",
- "begin": "(\\'\\'\\'|\\\"\\\"\\\")",
- "end": "(\\1)",
- "beginCaptures": { "1": { "name": "punctuation.definition.string.begin.python" } },
- "endCaptures": { "1": { "name": "punctuation.definition.string.end.python" } },
- "patterns": [
- { "include": "#docstring-prompt" },
- { "include": "#codetags" },
- { "include": "#docstring-guts-unicode" }
- ]
- },
- {
- "name": "string.quoted.docstring.raw.multi.python",
- "begin": "([rR])(\\'\\'\\'|\\\"\\\"\\\")",
- "end": "(\\2)",
- "beginCaptures": {
- "1": { "name": "storage.type.string.python" },
- "2": { "name": "punctuation.definition.string.begin.python" }
- },
- "endCaptures": { "1": { "name": "punctuation.definition.string.end.python" } },
- "patterns": [
- { "include": "#string-consume-escape" },
- { "include": "#docstring-prompt" },
- { "include": "#codetags" }
- ]
- },
- {
- "name": "string.quoted.docstring.single.python",
- "begin": "(\\'|\\\")",
- "end": "(\\1)|(\\n)",
- "beginCaptures": { "1": { "name": "punctuation.definition.string.begin.python" } },
- "endCaptures": {
- "1": { "name": "punctuation.definition.string.end.python" },
- "2": { "name": "invalid.illegal.newline.python" }
- },
- "patterns": [
- { "include": "#codetags" },
- { "include": "#docstring-guts-unicode" }
- ]
- },
- {
- "name": "string.quoted.docstring.raw.single.python",
- "begin": "([rR])(\\'|\\\")",
- "end": "(\\2)|(\\n)",
- "beginCaptures": {
- "1": { "name": "storage.type.string.python" },
- "2": { "name": "punctuation.definition.string.begin.python" }
- },
- "endCaptures": {
- "1": { "name": "punctuation.definition.string.end.python" },
- "2": { "name": "invalid.illegal.newline.python" }
- },
- "patterns": [
- { "include": "#string-consume-escape" },
- { "include": "#codetags" }
- ]
- }
- ]
- },
- "docstring-guts-unicode": {
- "patterns": [
- { "include": "#escape-sequence-unicode" },
- { "include": "#escape-sequence" },
- { "include": "#string-line-continuation" }
- ]
- },
- "docstring-prompt": {
- "match": "(?x)\n (?:\n (?:^|\\G) \\s* (?# '\\G' is necessary for ST)\n ((?:>>>|\\.\\.\\.) \\s) (?=\\s*\\S)\n )\n",
- "captures": { "1": { "name": "keyword.control.flow.python" } }
- },
"expression-bare": {
"comment": "valid Python expressions w/o comments and line continuation",
"patterns": [
diff --git a/syntaxes/robotframework.tmLanguage.template.json b/syntaxes/robotframework.tmLanguage.template.json
index db2eb948c..09c32c74d 100644
--- a/syntaxes/robotframework.tmLanguage.template.json
+++ b/syntaxes/robotframework.tmLanguage.template.json
@@ -1,33 +1,55 @@
{
"$schema": "https://raw.githubusercontent.com/RedCMD/TmLanguage-Syntax-Highlighter/main/vscode.tmLanguage.schema.json",
"repository": {
- "arg_separator": {
- "name": "meta.arg.separator.robotframework",
- "match": "( {2}| ?\\t)+"
+ "argument": {
+ "match": "\\S+(?: \\S+)*",
+ "name": "string.unquoted.argument.robotframework",
+ "captures": {
+ "0": {
+ "patterns": [
+ { "include": "#escape" },
+ { "include": "#variables" }
+ ]
+ }
+ }
},
- "variable_setting": {
- "name": "meta.variable.assign.robotframework",
- "contentName": "string.unquoted.argument.robotframework",
- "begin": "^([$@&]\\{)(.*?)(\\})( ?=?)",
- "beginCaptures": {
- "1": { "name": "punctuation.definition.variable.begin.robotframework" },
- "2": {
- "name": "variable.name.readwrite.robotframework",
- "patterns": [ { "include": "#variables" } ]
- },
- "3": { "name": "punctuation.definition.variable.end.robotframework" },
- "4": { "name": "keyword.operator.robotframework" }
- },
+ "arguments": {
+ "name": "meta.arguments.robotframework",
+ "begin": "(?!(?: {2,}| ?\\t ?)+)",
"end": "^(?!(\\s*(\\.\\.\\.((( {2}| ?\\t)\\s*\\S.*)|(\\s*))?$))|(\\s*#.*$)|(\\s*$))",
"patterns": [
{ "include": "#escape" },
{ "include": "#comment" },
{ "include": "#comment_line" },
- { "include": "#line_continuation" },
{ "include": "#variables" },
- { "include": "#arg_separator"}
+ { "include": "#line_continuation" },
+ { "include": "#argument" }
]
},
+ "variable_setting": {
+ "name": "meta.variables.setting.robotframework",
+ "begin": "^(.*?)(?= {2}| ?\\t| ?$)",
+ "beginCaptures": {
+ "1": {
+ "name": "meta.variables.setting.variable.robotframework",
+ "patterns": [ { "include": "#variable_assignment" } ]
+ }
+ },
+ "end": "^(?!(\\s*(\\.\\.\\.((( {2}| ?\\t)\\s*\\S.*)|(\\s*))?$))|(\\s*#.*$)|(\\s*$))",
+ "patterns": [ { "include": "#arguments" } ]
+ },
+ "variable_assignment": {
+ "name": "meta.variable.assign.robotframework",
+ "contentName": "variable.name.readwrite.robotframework",
+ "begin": "[$@&]\\{",
+ "end": "(\\}( ?=)?)(?=( {2}| ?\\t| ?$))",
+ "beginCaptures": { "0": { "name": "punctuation.definition.variable.begin.robotframework" } },
+ "endCaptures": {
+ "1": { "name": "punctuation.definition.variable.end.robotframework" },
+ "2": { "name": "keyword.operator.robotframework" }
+ },
+ "patterns": [ { "include": "#variables" } ]
+ },
"variables_section": {
"name": "meta.section.variables.robotframework",
"begin": "^(\\*+\\s*(?i:${variables_header})( ?\\*+)?)(?= {2}| ?\\t| ?$)",
@@ -46,15 +68,12 @@
]
},
"expression_var": {
- "name": "meta.variables.expression.robotframework",
+ "name": "meta.variable.expression.robotframework",
"begin": "[$@&]\\{\\{",
"end": "\\}\\}",
"beginCaptures": { "0": { "name": "punctuation.definition.expression.begin.robotframework" } },
"endCaptures": { "0": { "name": "punctuation.definition.expression.end.robotframework" } },
- "patterns": [
- { "include": "#expression" },
- { "include": "#simple_var" }
- ]
+ "patterns": [ { "include": "#variables" } ]
},
"embedded_argument": {
"name": "meta.embedded_argument.robotframework",
@@ -78,16 +97,27 @@
"patterns": [ { "include": "#variables" } ]
},
"simple_var": {
- "name": "meta.variables.robotframework",
+ "name": "meta.variable.simple.robotframework",
"contentName": "variable.name.readwrite.robotframework",
"begin": "[$@&]\\{",
"end": "(\\})|(?= {2}| ?\\t| ?$)",
"beginCaptures": { "0": { "name": "punctuation.definition.variable.begin.robotframework" } },
"endCaptures": { "1": { "name": "punctuation.definition.variable.end.robotframework" } },
- "patterns": [ { "include": "#expression_var" } ]
+ "patterns": [
+ { "include": "#simple_curly_braces" },
+ { "include": "#variables" }
+ ]
+ },
+ "simple_curly_braces": {
+ "name": "meta.variable.simple.robotframework",
+ "contentName": "variable.name.readwrite.robotframework",
+ "begin": "\\{",
+ "end": "\\}|(?= {2}| ?\\t| ?$)",
+ "beginCaptures": { "0": { "name": "punctuation.definition.curly.begin.robotframework" } },
+ "endCaptures": { "1": { "name": "punctuation.definition.curly.end.robotframework" } }
},
"env_var": {
- "name": "meta.variables.robotframework",
+ "name": "meta.variable.env.robotframework",
"begin": "(%\\{)",
"end": "(\\})|(?= {2}| ?\\t| ?$)",
"beginCaptures": { "0": { "name": "punctuation.definition.envvar.begin.robotframework" } },
@@ -129,8 +159,11 @@
},
"settings_section": {
"name": "meta.section.settings.robotframework",
- "begin": "^(\\*+\\s*(?i:${settings_header}?)( ?\\*+)?)(?= {2}| ?\\t| ?$)",
- "beginCaptures": { "1": { "name": "keyword.other.header.settings.robotframework" } },
+ "begin": "^(\\*+\\s*(?i:${settings_header})( ?\\*+)?)(.*$)",
+ "beginCaptures": {
+ "1": { "name": "keyword.other.header.settings.robotframework" },
+ "3": { "name": "comment.header.robotframework" }
+ },
"end": "^(?=\\*)",
"patterns": [
{ "include": "#comment_line" },
@@ -139,40 +172,55 @@
{ "include": "#unknown_setting" }
]
},
- "documentation_setting": {
- "contentName": "markup.robotframework",
- "begin": "(?i)^(${documentation_setting})(?= {2}| ?\\t| ?$)",
- "beginCaptures": { "1": { "name": "keyword.control.settings.robotframework" } },
+ "documentation_argument": {
+ "match": "\\S+(?: \\S+)*?",
+ "name": "markup.robotframework",
+ "captures": {
+ "0": {
+ "patterns": [
+ { "include": "#escape" },
+ { "include": "#documentation_italic" },
+ { "include": "#documentation_bold" },
+ { "include": "#variables" }
+ ]
+ }
+ }
+ },
+ "documentation_arguments": {
+ "begin": "(?!(?: {2,}| ?\\t ?)+)",
"end": "^(?!(\\s*(\\.\\.\\.((( {2}| ?\\t)\\s*\\S.*)|(\\s*))?$))|(\\s*#.*$)|(\\s*$))",
"patterns": [
{ "include": "#comment" },
{ "include": "#comment_line" },
+ { "include": "#escape" },
{ "include": "#documentation_italic" },
{ "include": "#documentation_bold" },
- { "include": "#escape" },
{ "include": "#variables" },
{ "include": "#line_continuation" },
- { "include": "#arg_separator"}
+ { "include": "#documentation_argument" }
]
},
+ "documentation_setting": {
+ "name": "meta.setting.documentation.robotframework",
+ "begin": "(?i)^(${documentation_setting})(?= {2}| ?\\t| ?$)",
+ "beginCaptures": { "1": { "name": "keyword.control.settings.robotframework" } },
+ "end": "^(?!(\\s*(\\.\\.\\.((( {2}| ?\\t)\\s*\\S.*)|(\\s*))?$))|(\\s*#.*$)|(\\s*$))",
+ "patterns": [ { "include": "#documentation_arguments" } ]
+ },
"documentation_bold": {
"match": "(?:(?<=\\s|^))(\\*)(?:(?=\\S))(.*?)(?:(?<=\\S))(\\*)(?:(?=\\s|_|\\.))",
"captures": {
- "1": { "name": "punctuation.definition.italic.markdown" },
+ "1": { "name": "punctuation.definition.bold.markdown" },
"2": {
"name": "markup.bold.documentation.robotframework",
"patterns": [
{ "include": "#documentation_italic" },
{ "include": "#documentation_bold" },
{ "include": "#escape" },
- { "include": "#comment" },
- { "include": "#comment_line" },
- { "include": "#variables" },
- { "include": "#line_continuation" },
- { "include": "#arg_separator"}
+ { "include": "#variables" }
]
},
- "3": { "name": "punctuation.definition.italic.markdown" }
+ "3": { "name": "punctuation.definition.bold.markdown" }
}
},
"documentation_italic": {
@@ -182,53 +230,35 @@
"2": {
"name": "markup.italic.documentation.robotframework",
"patterns": [
- { "include": "#documentation_italic" },
{ "include": "#documentation_bold" },
+ { "include": "#documentation_italic" },
{ "include": "#escape" },
- { "include": "#comment" },
- { "include": "#comment_line" },
- { "include": "#variables" },
- { "include": "#line_continuation" },
- { "include": "#arg_separator"}
+ { "include": "#variables" }
]
},
"3": { "name": "punctuation.definition.italic.markdown" }
}
},
"testcase_name_def": {
- "contentName": "string.unquoted.argument.robotframework",
"begin": "^( ?\\S+( ?\\S*)*?)(?= {2}| ?\\t| ?$)",
"beginCaptures": { "1": { "patterns": [ { "include": "#testcase_name" } ] } },
"end": "^(?!(\\s*(\\.\\.\\.((( {2}| ?\\t)\\s*\\S.*)|(\\s*))?$))|(\\s*#.*$)|(\\s*$))",
- "patterns": [
- { "include": "#escape" },
- { "include": "#comment" },
- { "include": "#comment_line" },
- { "include": "#variables" },
- { "include": "#line_continuation" },
- { "include": "#arg_separator"}
- ]
+ "patterns": [ { "include": "#arguments" } ]
},
"testcase_name": {
"contentName": "entity.name.function.testcase.name.robotframework",
"begin": "",
"while": ".",
- "patterns": [ { "include": "#escape" }, { "include": "#variables" } ]
+ "patterns": [
+ { "include": "#escape" },
+ { "include": "#variables" }
+ ]
},
"keyword_name_def": {
- "contentName": "string.unquoted.argument.robotframework",
"begin": "^( ?\\S+( ?\\S*)*?)(?= {2}| ?\\t| ?$)",
"beginCaptures": { "1": { "patterns": [ { "include": "#keyword_name" } ] } },
"end": "^(?!(\\s*(\\.\\.\\.((( {2}| ?\\t)\\s*\\S.*)|(\\s*))?$))|(\\s*#.*$)|(\\s*$))",
- "patterns": [
- { "include": "#escape" },
- { "include": "#comment" },
- { "include": "#comment_line" },
- { "include": "#variables" },
- { "include": "#line_continuation" },
- { "include": "#arg_separator"}
-
- ]
+ "patterns": [ { "include": "#arguments" } ]
},
"keyword_name": {
"contentName": "entity.name.function.keyword.name.robotframework",
@@ -244,15 +274,18 @@
{ "include": "#testcase_settings" },
{ "include": "#control_flow_expression_statements" },
{ "include": "#control_flow_statements" },
- { "include": "#other_statements" },
- { "include": "#keyword_call" },
- { "include": "#returning_keyword_call" }
+ { "include": "#var_statement" },
+ { "include": "#returning_keyword_call" },
+ { "include": "#keyword_call" }
]
},
"testcases_section": {
"name": "meta.section.testcases.robotframework",
- "begin": "^(\\*+\\s*(?i:${test_cases_header})( ?\\*+)?)(?= {2}| ?\\t| ?$)",
- "beginCaptures": { "1": { "name": "keyword.other.header.testcase.robotframework" } },
+ "begin": "^(\\*+\\s*(?i:${test_cases_header})( ?\\*+)?)(.*$)",
+ "beginCaptures": {
+ "1": { "name": "keyword.other.header.testcase.robotframework" },
+ "3": { "name": "comment.header.robotframework" }
+ },
"end": "^(?=\\*)",
"patterns": [
{ "include": "#comment_line" },
@@ -262,8 +295,11 @@
},
"tasks_section": {
"name": "meta.section.tasks.robotframework",
- "begin": "^(\\*+\\s*(?i:${tasks_header})( ?\\*+)?)(?= {2}| ?\\t| ?$)",
- "beginCaptures": { "1": { "name": "keyword.other.header.task.robotframework" } },
+ "begin": "^(\\*+\\s*(?i:${tasks_header})( ?\\*+)?)(.*$)",
+ "beginCaptures": {
+ "1": { "name": "keyword.other.header.task.robotframework" },
+ "3": { "name": "comment.header.robotframework" }
+ },
"end": "^(?=\\*)",
"patterns": [
{ "include": "#comment_line" },
@@ -274,7 +310,10 @@
"keywords_section": {
"name": "meta.section.keywords.robotframework",
"begin": "^(\\*+\\s*(?i:${keywords_header})( ?\\*+)?)(?= {2}| ?\\t| ?$)",
- "beginCaptures": { "1": { "name": "keyword.other.header.keyword.robotframework" } },
+ "beginCaptures": {
+ "1": { "name": "keyword.other.header.keyword.robotframework" },
+ "3": { "name": "comment.header.robotframework" }
+ },
"end": "^(?=\\*)",
"patterns": [
{ "include": "#comment_line" },
@@ -284,8 +323,11 @@
},
"comments_section": {
"name": "meta.section.comments.robotframework",
- "begin": "^(\\*+\\s*(?i:${comments_header})( ?\\*+)?)(?= {2}| ?\\t| ?$)",
- "beginCaptures": { "1": { "name": "keyword.other.header.comment.robotframework" } },
+ "begin": "^(\\*+\\s*(?i:${comments_header})( ?\\*+)?)(.*$)",
+ "beginCaptures": {
+ "1": { "name": "keyword.other.header.comment.robotframework" },
+ "3": { "name": "comment.header.robotframework" }
+ },
"end": "^(?=\\*)",
"patterns": [
{ "include": "#comment_line" },
@@ -304,32 +346,17 @@
},
"other_setting": {
"name": "meta.setting.other.robotframework",
- "contentName": "string.unquoted.argument.robotframework",
"begin": "(?i)^(\\S+( \\S+)*)(?= {2}| ?\\t| ?$)",
"beginCaptures": { "1": { "name": "keyword.control.settings.robotframework" } },
"end": "^(?!(\\s*(\\.\\.\\.((( {2}| ?\\t)\\s*\\S.*)|(\\s*))?$))|(\\s*#.*$)|(\\s*$))",
- "patterns": [
- { "include": "#escape" },
- { "include": "#comment" },
- { "include": "#comment_line" },
- { "include": "#variables" },
- { "include": "#line_continuation" },
- { "include": "#arg_separator"}
- ]
+ "patterns": [ { "include": "#arguments" } ]
},
"unknown_setting": {
- "contentName": "comment.unknown.setting.arguments.robotframework",
+ "name": "meta.setting.unknown.robotframework",
"begin": "(?i)^(\\s+)(\\S+( \\S+)*)(?= {2}| ?\\t| ?$)",
"beginCaptures": { "2": { "name": "comment.unknown.setting.robotframework" } },
"end": "^(?!(\\s*(\\.\\.\\.((( {2}| ?\\t)\\s*\\S.*)|(\\s*))?$))|(\\s*#.*$)|(\\s*$))",
- "patterns": [
- { "include": "#escape" },
- { "include": "#comment" },
- { "include": "#comment_line" },
- { "include": "#variables" },
- { "include": "#line_continuation" },
- { "include": "#arg_separator"}
- ]
+ "patterns": [ { "include": "#arguments" } ]
},
"testcase_settings": {
"patterns": [
@@ -338,148 +365,87 @@
]
},
"documentation_testcase_settings": {
- "contentName": "markup.robotframework",
+ "name": "meta.testcase_setting.documentation.robotframework",
"begin": "^( {2}|\\t)(\\s)*(?i:\\[(${documentation_setting})\\])(?= {2}| ?\\t| ?$)",
"beginCaptures": { "3": { "name": "keyword.control.settings.documentation.robotframework" } },
"end": "^(?!(\\s*(\\.\\.\\.((( {2}| ?\\t)\\s*\\S.*)|(\\s*))?$))|(\\s*#.*$)|(\\s*$))",
- "patterns": [
- { "include": "#documentation_italic" },
- { "include": "#documentation_bold" },
- { "include": "#escape" },
- { "include": "#comment" },
- { "include": "#comment_line" },
- { "include": "#variables" },
- { "include": "#line_continuation" },
- { "include": "#arg_separator"}
- ]
+ "patterns": [ { "include": "#documentation_arguments" } ]
},
"other_testcase_settings": {
- "contentName": "string.unquoted.argument.robotframework",
- "begin": "^( {2}|\\t)(\\s)*(\\[.*?\\])(?= {2}| ?\\t| ?$)",
+ "begin": "^( {2}|\\t)(\\s*)(\\[.*?\\])(?= {2}| ?\\t| ?$)",
"beginCaptures": { "0": { "name": "keyword.control.settings.robotframework" } },
"end": "^(?!(\\s*(\\.\\.\\.((( {2}| ?\\t)\\s*\\S.*)|(\\s*))?$))|(\\s*#.*$)|(\\s*$))",
- "patterns": [
- { "include": "#escape" },
- { "include": "#comment" },
- { "include": "#comment_line" },
- { "include": "#variables" },
- { "include": "#line_continuation" },
- { "include": "#arg_separator"}
- ]
+ "patterns": [ { "include": "#arguments" } ]
},
"keyword_call": {
"name": "meta.keyword-call.content.robotframework",
- "contentName": "string.unquoted.argument.robotframework",
- "begin": "^(?!(?: {2,}| ?\\t ?)+(?:(?=[$\\[@&%]|\\.)))(?: {2,}| ?\\t ?)+(.*?)(?= {2,}| ?\\t ?| ?$)",
+ "begin": "^(( {2}|\\t)(\\s*))(.*?)(?= {2}| ?\\t| ?$)",
"end": "^(?!(\\s*(\\.\\.\\.((( {2}| ?\\t)\\s*\\S.*)|(\\s*))?$))|(\\s*#.*$)|(\\s*$))",
"beginCaptures": {
- "1": {
+ "4": {
"name": "entity.name.function.keyword-call.robotframework",
- "patterns": [{ "include": "#escape" }, { "include": "#variables" } ]
+ "patterns": [
+ { "include": "#escape" },
+ { "include": "#variables" }
+ ]
}
},
- "patterns": [
- { "include": "#escape" },
- { "include": "#comment" },
- { "include": "#comment_line" },
- { "include": "#variables" },
- { "include": "#line_continuation" },
- { "include": "#arg_separator"}
- ]
+ "patterns": [ { "include": "#arguments" } ]
+ },
+ "returning_keyword_call": {
+ "name": "meta.returning-keyword-call.content.robotframework",
+ "begin": "^(( {2}|\\t)(\\s*))([$&@]\\{(\\S+(?: \\S+)*)\\}(( ?=)?( {2}|\\t)(\\s*)))(.*?)(?= {2}| ?\\t| ?$)",
+ "end": "^(?!(\\s*(\\.\\.\\.((( {2}| ?\\t)\\s*\\S.*)|(\\s*))?$))|(\\s*#.*$)|(\\s*$))",
+ "beginCaptures": {
+ "4": {
+ "name": "meta.returning-keyword-call.assign.robotframework",
+ "patterns": [ { "include": "#variable_assignment" } ]
+ },
+ "10": {
+ "name": "entity.name.function.keyword-call.robotframework",
+ "patterns": [
+ { "include": "#escape" },
+ { "include": "#variables" }
+ ]
+ }
+ },
+ "patterns": [ { "include": "#arguments" } ]
},
"control_flow_expression_statements": {
- "name": "meta.keyword-call.content.robotframework",
- "contentName": "string.unquoted.argument.robotframework",
- "begin": "^(?!(?: {2,}| ?\\t ?)+(?:(?=[$\\[@&%]|\\.)))(?: {2,}| ?\\t ?)+(IF|ELSE IF|WHILE)(( {2,}| ?\\t)( *)(.*?))?(?= {2,}| ?\\t ?| ?$)",
+ "name": "meta.control-flow-expressions.robotframework",
+ "begin": "^( {2}|\\t)(\\s*)(IF|ELSE IF|WHILE)(( {2,}| ?\\t)( *)(.*?))?(?= {2}| ?\\t| ?$)",
"end": "^(?!(\\s*(\\.\\.\\.((( {2}| ?\\t)\\s*\\S.*)|(\\s*))?$))|(\\s*#.*$)|(\\s*$))",
"beginCaptures": {
- "1": { "name": "keyword.control.flow.robotframework" },
- "5": { "patterns": [ { "include": "#expression" } ] }
+ "3": { "name": "keyword.control.flow.robotframework" },
+ "4": { "patterns": [ { "include": "#expression" } ] }
},
- "patterns": [
- { "include": "#escape" },
- { "include": "#comment" },
- { "include": "#comment_line" },
- { "include": "#variables" },
- { "include": "#line_continuation" },
- { "include": "#arg_separator"}
- ]
+ "patterns": [ { "include": "#arguments" } ]
},
"control_flow_statements": {
- "name": "meta.keyword-call.content.robotframework",
- "contentName": "string.unquoted.argument.robotframework",
- "begin": "^(?!(?: {2,}| ?\\t ?)+(?:(?=[$\\[@&%]|\\.)))(?: {2,}| ?\\t ?)+(FOR|GROUP|END|ELSE|TRY|EXCEPT|FINALLY)(?= {2,}| ?\\t ?| ?$)",
+ "name": "meta.control-flow-statements.robotframework",
+ "begin": "^( {2}|\\t)(\\s*)(FOR|GROUP|END|ELSE|TRY|EXCEPT|FINALLY|BREAK|CONTINUE)(?= {2}| ?\\t| ?$)",
"end": "^(?!(\\s*(\\.\\.\\.((( {2}| ?\\t)\\s*\\S.*)|(\\s*))?$))|(\\s*#.*$)|(\\s*$))",
- "beginCaptures": { "1": { "name": "keyword.control.flow.robotframework" } },
- "patterns": [
- { "include": "#comment" },
- { "include": "#comment_line" },
- { "include": "#variables" },
- { "include": "#line_continuation" },
- { "include": "#arg_separator"}
- ]
+ "beginCaptures": { "3": { "name": "keyword.control.flow.robotframework" } },
+ "patterns": [ { "include": "#arguments" } ]
},
- "other_statements": {
- "name": "meta.keyword-call.content.robotframework",
- "contentName": "string.unquoted.argument.robotframework",
- "begin": "^(?!(?: {2,}| ?\\t ?)+(?:(?=[$\\[@&%]|\\.)))(?: {2,}| ?\\t ?)+(VAR)(?= {2,}| ?\\t ?| ?$)",
+ "var_statement": {
+ "name": "meta.var-statement.robotframework",
+ "begin": "^( {2}|\\t)(\\s*)(VAR)(( {2}|\\t)+(\\S.+?))?(?= {2}| ?\\t| ?$)",
"end": "^(?!(\\s*(\\.\\.\\.((( {2}| ?\\t)\\s*\\S.*)|(\\s*))?$))|(\\s*#.*$)|(\\s*$))",
- "beginCaptures": { "1": { "name": "keyword.other.robotframework" } },
- "patterns": [
- { "include": "#escape" },
- { "include": "#comment" },
- { "include": "#comment_line" },
- { "include": "#variables" },
- { "include": "#line_continuation" },
- { "include": "#arg_separator"}
- ]
- },
- "returning_keyword_call": {
- "name": "meta.returning-keyword-call.robotframework",
- "contentName": "meta.returning.keyword.content.robotframework",
- "begin": "^(?=(?: {2,}| ?\\t ?)+(?:(?=[$@&])))(?:\\s)",
- "end": "^(?!(\\s*(\\.\\.\\.((( {2}| ?\\t)\\s*\\S.*)|(\\s*))?$))|(\\s*#.*$)|(\\s*$))",
- "patterns": [ { "include": "#returning_keyword" } ]
- },
- "returning_keyword": {
- "name": "meta.returning-keyword.robotframework",
- "contentName": "string.unquoted.argument.robotframework",
- "begin": "(?<=\\s)(?=\\s*(?:(?=[$@&])))((?:\\s)*(?:[$&@]{(?:.*?)}(?:\\[.*?\\])?(?: ?=?\\s*))*)(.*?)(?: {2,}| ?\\t ?|$)",
"beginCaptures": {
- "1": { "patterns": [ { "include": "#variable_assignment_from_kw" } ] },
- "2": { "name": "entity.name.function.keyword-call.robotframework" }
+ "3": { "name": "keyword.other.robotframework" },
+ "4": { "patterns": [ { "include": "#variable_assignment" } ] }
},
- "end": "^(?!(\\s*(\\.\\.\\.((( {2}| ?\\t)\\s*\\S.*)|(\\s*))?$))|(\\s*#.*$)|(\\s*$))",
- "patterns": [
- { "include": "#variables" },
- { "include": "#line_continuation" },
- { "include": "#arg_separator"},
- { "include": "#comment" }
- ]
- },
- "variable_assignment_from_kw": {
- "contentName": "meta.variable.assignment.keyword.content.robotframework",
- "begin": "(?<=^\\s)(?:\\s*)(?=[$@&])",
- "end": "(?:( ?=)|(?: {2,}| ?\\t+ ?| ?$)(?![#$@& \\n\\r]|\\.\\.\\.)|^(?=\\.\\.\\.)( {2,}| ?\\t+ ?| ?$)(?![#$@&]))",
- "endCaptures": { "1": { "name": "keyword.operator.robotframework" } },
- "patterns": [ { "include": "#variables" } ]
+ "patterns": [ { "include": "#arguments" } ]
},
"line_continuation": {
- "match": "^(\\s*\\.\\.\\.)(?! ?\\S)",
- "captures": { "1": { "name": "keyword.operator.continue.robotframework" } }
+ "match": "^(\\s*)(\\.\\.\\.)(?= {2}| ?\\t| ?$)",
+ "captures": { "2": { "name": "keyword.operator.continue.robotframework" } }
},
"impossible": {
"comment": "This is a special rule that should be used where no match is desired. It is not a good idea to match something like '1{0}' because in some cases that can result in infinite loops in token generation. So the rule instead matches and impossible expression to allow a match to fail and move to the next token.",
"match": "$.^"
},
- "semicolon": {
- "patterns": [
- {
- "name": "invalid.deprecated.semicolon.python",
- "match": "\\;$"
- }
- ]
- },
"comments": {
"patterns": [
{
@@ -513,79 +479,6 @@
{ "include": "#comments-base" }
]
},
- "docstring": {
- "patterns": [
- {
- "name": "string.quoted.docstring.multi.python",
- "begin": "(\\'\\'\\'|\\\"\\\"\\\")",
- "end": "(\\1)",
- "beginCaptures": { "1": { "name": "punctuation.definition.string.begin.python" } },
- "endCaptures": { "1": { "name": "punctuation.definition.string.end.python" } },
- "patterns": [
- { "include": "#docstring-prompt" },
- { "include": "#codetags" },
- { "include": "#docstring-guts-unicode" }
- ]
- },
- {
- "name": "string.quoted.docstring.raw.multi.python",
- "begin": "([rR])(\\'\\'\\'|\\\"\\\"\\\")",
- "end": "(\\2)",
- "beginCaptures": {
- "1": { "name": "storage.type.string.python" },
- "2": { "name": "punctuation.definition.string.begin.python" }
- },
- "endCaptures": { "1": { "name": "punctuation.definition.string.end.python" } },
- "patterns": [
- { "include": "#string-consume-escape" },
- { "include": "#docstring-prompt" },
- { "include": "#codetags" }
- ]
- },
- {
- "name": "string.quoted.docstring.single.python",
- "begin": "(\\'|\\\")",
- "end": "(\\1)|(\\n)",
- "beginCaptures": { "1": { "name": "punctuation.definition.string.begin.python" } },
- "endCaptures": {
- "1": { "name": "punctuation.definition.string.end.python" },
- "2": { "name": "invalid.illegal.newline.python" }
- },
- "patterns": [
- { "include": "#codetags" },
- { "include": "#docstring-guts-unicode" }
- ]
- },
- {
- "name": "string.quoted.docstring.raw.single.python",
- "begin": "([rR])(\\'|\\\")",
- "end": "(\\2)|(\\n)",
- "beginCaptures": {
- "1": { "name": "storage.type.string.python" },
- "2": { "name": "punctuation.definition.string.begin.python" }
- },
- "endCaptures": {
- "1": { "name": "punctuation.definition.string.end.python" },
- "2": { "name": "invalid.illegal.newline.python" }
- },
- "patterns": [
- { "include": "#string-consume-escape" },
- { "include": "#codetags" }
- ]
- }
- ]
- },
- "docstring-guts-unicode": {
- "patterns": [
- { "include": "#escape-sequence-unicode" },
- { "include": "#escape-sequence" },
- { "include": "#string-line-continuation" }
- ]
- },
- "docstring-prompt": {
- "match": "(?x)\n (?:\n (?:^|\\G) \\s* (?# '\\G' is necessary for ST)\n ((?:>>>|\\.\\.\\.) \\s) (?=\\s*\\S)\n )\n",
- "captures": { "1": { "name": "keyword.control.flow.python" } }
- },
"expression-bare": {
"comment": "valid Python expressions w/o comments and line continuation",
"patterns": [
diff --git a/tests/conftest.py b/tests/conftest.py
index f87b4b789..dcdcaa9d3 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -175,17 +175,6 @@ def __init__(self, request: pytest.FixtureRequest):
self.test_folder = request.path.parent
self.buffer = StringIO()
- @property
- def old_output_file_name(self) -> Path:
- name, __, test_function = self.nodeid.partition("::")
- file_name = Path(name)
-
- test_function = test_function.replace("/", "--")
- if len(test_function) > 100:
- test_function = sha512(test_function.encode("utf-8")).hexdigest()[:10]
-
- return Path(f"{file_name.stem}.{test_function}.out")
-
@property
def output_file_name(self) -> Path:
name, __, test_function = self.nodeid.partition("::")
@@ -202,10 +191,6 @@ def output_file_name(self) -> Path:
return Path(f"{file_name.stem}.{test_function}.out")
- @property
- def old_result_file(self) -> Path:
- return Path(self.test_folder, "_regtest_outputs", self.old_output_file_name)
-
@property
def result_file(self) -> Path:
return Path(self.test_folder, "_regtest_outputs", self.output_file_name)
@@ -221,9 +206,6 @@ def tobe(self):
if os.path.exists(self.result_file):
with open(self.result_file) as f:
return f.read()
- if os.path.exists(self.old_result_file):
- with open(self.old_result_file) as f:
- return f.read()
return ""
@@ -239,10 +221,6 @@ def write_current(self):
folder = os.path.dirname(self.result_file)
if not os.path.exists(folder):
os.makedirs(folder)
- if os.path.exists(self.old_result_file):
- with open(self.old_result_file, "w") as fh:
- fh.write(self.current)
- return
with open(self.result_file, "w") as fh:
fh.write(self.current)
diff --git a/tests/robotcode/core/test_dataclasses.py b/tests/robotcode/core/test_dataclasses.py
index 444963839..e4191f2b5 100644
--- a/tests/robotcode/core/test_dataclasses.py
+++ b/tests/robotcode/core/test_dataclasses.py
@@ -221,6 +221,9 @@ def test_encode_with_optional_field_and_none_as_default_value() -> None:
List[Union[EnumData, str]],
[EnumData.FIRST, EnumData.SECOND, "ninety"],
),
+ ('"warn"', Literal["warn"], "warn"),
+ ('["warn"]', List[Literal["warn", "error"]], ["warn"]),
+ ('["warn", "error"]', List[Literal["warn", "error"]], ["warn", "error"]),
],
)
def test_decode_simple(expr: Any, type: Any, expected: str) -> None:
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_document_symbols.test[symbols.robot-057-001-unreachable_keyword].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_document_symbols.test[symbols.robot-057-001-unreachable_keyword].out
index f986fa559..ce528ed41 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_document_symbols.test[symbols.robot-057-001-unreachable_keyword].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_document_symbols.test[symbols.robot-057-001-unreachable_keyword].out
@@ -10,15 +10,15 @@ result: !DocumentSymbol
name: Keywords
range:
end:
- character: 16
- line: 60
+ character: 1
+ line: 61
start:
character: 0
line: 56
selection_range:
end:
- character: 16
- line: 60
+ character: 1
+ line: 61
start:
character: 0
line: 56
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_document_symbols.test[symbols.robot-057-002-unreachable_keyword].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_document_symbols.test[symbols.robot-057-002-unreachable_keyword].out
index 50ea0a76e..5a40a0a49 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_document_symbols.test[symbols.robot-057-002-unreachable_keyword].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_document_symbols.test[symbols.robot-057-002-unreachable_keyword].out
@@ -10,15 +10,15 @@ result: !DocumentSymbol
name: Keywords
range:
end:
- character: 16
- line: 60
+ character: 1
+ line: 61
start:
character: 0
line: 56
selection_range:
end:
- character: 16
- line: 60
+ character: 1
+ line: 61
start:
character: 0
line: 56
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_document_symbols.test[symbols.robot-057-003-unreachable_keyword].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_document_symbols.test[symbols.robot-057-003-unreachable_keyword].out
index 6f3deff6b..0644acb80 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_document_symbols.test[symbols.robot-057-003-unreachable_keyword].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_document_symbols.test[symbols.robot-057-003-unreachable_keyword].out
@@ -10,15 +10,15 @@ result: !DocumentSymbol
name: Keywords
range:
end:
- character: 16
- line: 60
+ character: 1
+ line: 61
start:
character: 0
line: 56
selection_range:
end:
- character: 16
- line: 60
+ character: 1
+ line: 61
start:
character: 0
line: 56
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_document_symbols.test[symbols.robot-064-011-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_document_symbols.test[symbols.robot-064-011-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..7eb4a249a
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_document_symbols.test[symbols.robot-064-011-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 11
+ line: 64
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 5
+ name: vars with equal sign
+ range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ selection_range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_document_symbols.test[symbols.robot-064-013-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_document_symbols.test[symbols.robot-064-013-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..2b7ef04bb
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_document_symbols.test[symbols.robot-064-013-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 13
+ line: 64
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 5
+ name: vars with equal sign
+ range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ selection_range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_document_symbols.test[symbols.robot-064-015-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_document_symbols.test[symbols.robot-064-015-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..c3fab8517
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_document_symbols.test[symbols.robot-064-015-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 15
+ line: 64
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 5
+ name: vars with equal sign
+ range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ selection_range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_document_symbols.test[symbols.robot-066-011-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_document_symbols.test[symbols.robot-066-011-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..557b4dad1
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_document_symbols.test[symbols.robot-066-011-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 11
+ line: 66
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 5
+ name: vars with equal sign
+ range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ selection_range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_document_symbols.test[symbols.robot-066-013-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_document_symbols.test[symbols.robot-066-013-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..48e572cfb
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_document_symbols.test[symbols.robot-066-013-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 13
+ line: 66
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 5
+ name: vars with equal sign
+ range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ selection_range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_document_symbols.test[symbols.robot-066-015-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_document_symbols.test[symbols.robot-066-015-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..a22958e53
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_document_symbols.test[symbols.robot-066-015-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 15
+ line: 66
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 5
+ name: vars with equal sign
+ range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ selection_range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_document_symbols.test[symbols.robot-068-006-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_document_symbols.test[symbols.robot-068-006-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..b63cdd9a9
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_document_symbols.test[symbols.robot-068-006-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 6
+ line: 68
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 13
+ name: ${var 1}
+ range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ selection_range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_document_symbols.test[symbols.robot-068-008-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_document_symbols.test[symbols.robot-068-008-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..54d37321c
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_document_symbols.test[symbols.robot-068-008-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 8
+ line: 68
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 13
+ name: ${var 1}
+ range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ selection_range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_document_symbols.test[symbols.robot-068-010-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_document_symbols.test[symbols.robot-068-010-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..b418b8053
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_document_symbols.test[symbols.robot-068-010-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 10
+ line: 68
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 13
+ name: ${var 1}
+ range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ selection_range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_references.test[references.robot-011-016-a_custom_library].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_references.test[references.robot-011-016-a_custom_library].out
deleted file mode 100644
index daef5ac9c..000000000
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_references.test[references.robot-011-016-a_custom_library].out
+++ /dev/null
@@ -1,122 +0,0 @@
-data: !GeneratedTestData
- character: 16
- line: 11
- name: a custom library
-result:
-- !Location
- range:
- end:
- character: 26
- line: 1
- start:
- character: 18
- line: 1
- uri: resources/firstresource.resource
-- !Location
- range:
- end:
- character: 24
- line: 12
- start:
- character: 16
- line: 12
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 14
- start:
- character: 16
- line: 14
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 9
- start:
- character: 16
- line: 9
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 24
- line: 10
- start:
- character: 16
- line: 10
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 21
- line: 6
- start:
- character: 10
- line: 6
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 19
- line: 7
- start:
- character: 11
- line: 7
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 22
- line: 1
- start:
- character: 11
- line: 1
- uri: tests/external_libray.robot
-- !Location
- range:
- end:
- character: 43
- line: 14
- start:
- character: 18
- line: 14
- uri: tests/goto.robot
-- !Location
- range:
- end:
- character: 26
- line: 3
- start:
- character: 18
- line: 3
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 26
- line: 5
- start:
- character: 18
- line: 5
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 24
- line: 11
- start:
- character: 16
- line: 11
- uri: tests/references.robot
-- !Location
- range:
- end:
- character: 24
- line: 13
- start:
- character: 16
- line: 13
- uri: tests/references.robot
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_references.test[references.robot-011-020-a_custom_library].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_references.test[references.robot-011-020-a_custom_library].out
deleted file mode 100644
index 444f21201..000000000
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_references.test[references.robot-011-020-a_custom_library].out
+++ /dev/null
@@ -1,122 +0,0 @@
-data: !GeneratedTestData
- character: 20
- line: 11
- name: a custom library
-result:
-- !Location
- range:
- end:
- character: 26
- line: 1
- start:
- character: 18
- line: 1
- uri: resources/firstresource.resource
-- !Location
- range:
- end:
- character: 24
- line: 12
- start:
- character: 16
- line: 12
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 14
- start:
- character: 16
- line: 14
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 9
- start:
- character: 16
- line: 9
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 24
- line: 10
- start:
- character: 16
- line: 10
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 21
- line: 6
- start:
- character: 10
- line: 6
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 19
- line: 7
- start:
- character: 11
- line: 7
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 22
- line: 1
- start:
- character: 11
- line: 1
- uri: tests/external_libray.robot
-- !Location
- range:
- end:
- character: 43
- line: 14
- start:
- character: 18
- line: 14
- uri: tests/goto.robot
-- !Location
- range:
- end:
- character: 26
- line: 3
- start:
- character: 18
- line: 3
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 26
- line: 5
- start:
- character: 18
- line: 5
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 24
- line: 11
- start:
- character: 16
- line: 11
- uri: tests/references.robot
-- !Location
- range:
- end:
- character: 24
- line: 13
- start:
- character: 16
- line: 13
- uri: tests/references.robot
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_references.test[references.robot-011-023-a_custom_library].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_references.test[references.robot-011-023-a_custom_library].out
deleted file mode 100644
index cf7ff2b53..000000000
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_references.test[references.robot-011-023-a_custom_library].out
+++ /dev/null
@@ -1,122 +0,0 @@
-data: !GeneratedTestData
- character: 23
- line: 11
- name: a custom library
-result:
-- !Location
- range:
- end:
- character: 26
- line: 1
- start:
- character: 18
- line: 1
- uri: resources/firstresource.resource
-- !Location
- range:
- end:
- character: 24
- line: 12
- start:
- character: 16
- line: 12
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 14
- start:
- character: 16
- line: 14
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 9
- start:
- character: 16
- line: 9
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 24
- line: 10
- start:
- character: 16
- line: 10
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 21
- line: 6
- start:
- character: 10
- line: 6
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 19
- line: 7
- start:
- character: 11
- line: 7
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 22
- line: 1
- start:
- character: 11
- line: 1
- uri: tests/external_libray.robot
-- !Location
- range:
- end:
- character: 43
- line: 14
- start:
- character: 18
- line: 14
- uri: tests/goto.robot
-- !Location
- range:
- end:
- character: 26
- line: 3
- start:
- character: 18
- line: 3
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 26
- line: 5
- start:
- character: 18
- line: 5
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 24
- line: 11
- start:
- character: 16
- line: 11
- uri: tests/references.robot
-- !Location
- range:
- end:
- character: 24
- line: 13
- start:
- character: 16
- line: 13
- uri: tests/references.robot
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_references.test[references.robot-013-016-a_same_custom_library].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_references.test[references.robot-013-016-a_same_custom_library].out
deleted file mode 100644
index 947e15b37..000000000
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_references.test[references.robot-013-016-a_same_custom_library].out
+++ /dev/null
@@ -1,122 +0,0 @@
-data: !GeneratedTestData
- character: 16
- line: 13
- name: a same custom library
-result:
-- !Location
- range:
- end:
- character: 26
- line: 1
- start:
- character: 18
- line: 1
- uri: resources/firstresource.resource
-- !Location
- range:
- end:
- character: 24
- line: 12
- start:
- character: 16
- line: 12
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 14
- start:
- character: 16
- line: 14
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 9
- start:
- character: 16
- line: 9
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 24
- line: 10
- start:
- character: 16
- line: 10
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 21
- line: 6
- start:
- character: 10
- line: 6
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 19
- line: 7
- start:
- character: 11
- line: 7
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 22
- line: 1
- start:
- character: 11
- line: 1
- uri: tests/external_libray.robot
-- !Location
- range:
- end:
- character: 43
- line: 14
- start:
- character: 18
- line: 14
- uri: tests/goto.robot
-- !Location
- range:
- end:
- character: 26
- line: 3
- start:
- character: 18
- line: 3
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 26
- line: 5
- start:
- character: 18
- line: 5
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 24
- line: 11
- start:
- character: 16
- line: 11
- uri: tests/references.robot
-- !Location
- range:
- end:
- character: 24
- line: 13
- start:
- character: 16
- line: 13
- uri: tests/references.robot
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_references.test[references.robot-013-020-a_same_custom_library].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_references.test[references.robot-013-020-a_same_custom_library].out
deleted file mode 100644
index 3a23b8afd..000000000
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_references.test[references.robot-013-020-a_same_custom_library].out
+++ /dev/null
@@ -1,122 +0,0 @@
-data: !GeneratedTestData
- character: 20
- line: 13
- name: a same custom library
-result:
-- !Location
- range:
- end:
- character: 26
- line: 1
- start:
- character: 18
- line: 1
- uri: resources/firstresource.resource
-- !Location
- range:
- end:
- character: 24
- line: 12
- start:
- character: 16
- line: 12
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 14
- start:
- character: 16
- line: 14
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 9
- start:
- character: 16
- line: 9
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 24
- line: 10
- start:
- character: 16
- line: 10
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 21
- line: 6
- start:
- character: 10
- line: 6
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 19
- line: 7
- start:
- character: 11
- line: 7
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 22
- line: 1
- start:
- character: 11
- line: 1
- uri: tests/external_libray.robot
-- !Location
- range:
- end:
- character: 43
- line: 14
- start:
- character: 18
- line: 14
- uri: tests/goto.robot
-- !Location
- range:
- end:
- character: 26
- line: 3
- start:
- character: 18
- line: 3
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 26
- line: 5
- start:
- character: 18
- line: 5
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 24
- line: 11
- start:
- character: 16
- line: 11
- uri: tests/references.robot
-- !Location
- range:
- end:
- character: 24
- line: 13
- start:
- character: 16
- line: 13
- uri: tests/references.robot
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_references.test[references.robot-013-023-a_same_custom_library].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_references.test[references.robot-013-023-a_same_custom_library].out
deleted file mode 100644
index 5480c015e..000000000
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_references.test[references.robot-013-023-a_same_custom_library].out
+++ /dev/null
@@ -1,122 +0,0 @@
-data: !GeneratedTestData
- character: 23
- line: 13
- name: a same custom library
-result:
-- !Location
- range:
- end:
- character: 26
- line: 1
- start:
- character: 18
- line: 1
- uri: resources/firstresource.resource
-- !Location
- range:
- end:
- character: 24
- line: 12
- start:
- character: 16
- line: 12
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 14
- start:
- character: 16
- line: 14
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 9
- start:
- character: 16
- line: 9
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 24
- line: 10
- start:
- character: 16
- line: 10
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 21
- line: 6
- start:
- character: 10
- line: 6
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 19
- line: 7
- start:
- character: 11
- line: 7
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 22
- line: 1
- start:
- character: 11
- line: 1
- uri: tests/external_libray.robot
-- !Location
- range:
- end:
- character: 43
- line: 14
- start:
- character: 18
- line: 14
- uri: tests/goto.robot
-- !Location
- range:
- end:
- character: 26
- line: 3
- start:
- character: 18
- line: 3
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 26
- line: 5
- start:
- character: 18
- line: 5
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 24
- line: 11
- start:
- character: 16
- line: 11
- uri: tests/references.robot
-- !Location
- range:
- end:
- character: 24
- line: 13
- start:
- character: 16
- line: 13
- uri: tests/references.robot
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[sematic_tokenizing.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[sematic_tokenizing.robot].out
index 12d46c940..98c814e69 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[sematic_tokenizing.robot].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[sematic_tokenizing.robot].out
@@ -2,6 +2,21 @@ result: !SemanticTokens
data:
- 0
- 0
+ - 16
+ - 27
+ - 0
+ - 1
+ - 0
+ - 8
+ - 24
+ - 0
+ - 0
+ - 12
+ - 22
+ - 51
+ - 0
+ - 2
+ - 0
- 18
- 29
- 0
@@ -152,6 +167,61 @@ result: !SemanticTokens
- 0
- 2
- 0
+ - 27
+ - 33
+ - 1
+ - 1
+ - 4
+ - 3
+ - 39
+ - 0
+ - 0
+ - 3
+ - 4
+ - 36
+ - 2048
+ - 0
+ - 5
+ - 5
+ - 39
+ - 0
+ - 0
+ - 5
+ - 5
+ - 36
+ - 2048
+ - 1
+ - 4
+ - 13
+ - 51
+ - 0
+ - 0
+ - 13
+ - 1
+ - 21
+ - 0
+ - 0
+ - 1
+ - 3
+ - 39
+ - 0
+ - 0
+ - 3
+ - 4
+ - 36
+ - 2048
+ - 0
+ - 5
+ - 5
+ - 39
+ - 0
+ - 0
+ - 5
+ - 5
+ - 36
+ - 2048
+ - 2
+ - 0
- 16
- 32
- 0
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[symbols.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[symbols.robot].out
index 37a237f69..4189c2b14 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[symbols.robot].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[symbols.robot].out
@@ -285,4 +285,54 @@ result: !SemanticTokens
- 11
- 39
- 0
+ - 2
+ - 0
+ - 18
+ - 29
+ - 0
+ - 1
+ - 0
+ - 20
+ - 33
+ - 1
+ - 1
+ - 4
+ - 3
+ - 39
+ - 0
+ - 0
+ - 5
+ - 2
+ - 47
+ - 0
+ - 0
+ - 7
+ - 1
+ - 48
+ - 0
+ - 2
+ - 4
+ - 3
+ - 39
+ - 0
+ - 0
+ - 5
+ - 2
+ - 47
+ - 0
+ - 0
+ - 7
+ - 1
+ - 48
+ - 0
+ - 2
+ - 4
+ - 9
+ - 38
+ - 0
+ - 0
+ - 11
+ - 8
+ - 39
+ - 1024
result_id: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[versions--rf61--__init__.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[versions-rf61-__init__.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[versions--rf61--__init__.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[versions-rf61-__init__.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[versions--rf61--embedded_keywords.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[versions-rf61-embedded_keywords.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[versions--rf61--embedded_keywords.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[versions-rf61-embedded_keywords.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[versions--rf61--jsonvariables.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[versions-rf61-jsonvariables.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[versions--rf61--jsonvariables.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[versions-rf61-jsonvariables.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[versions--rf61--sometasks.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[versions-rf61-sometasks.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[versions--rf61--sometasks.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[versions-rf61-sometasks.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[versions--rf61--sub_suite--__init__.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[versions-rf61-sub_suite-__init__.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[versions--rf61--sub_suite--__init__.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[versions-rf61-sub_suite-__init__.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[versions--rf61--sub_suite--first.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[versions-rf61-sub_suite-first.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[versions--rf61--sub_suite--first.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[versions-rf61-sub_suite-first.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[versions--rf61--suite_with_name.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[versions-rf61-suite_with_name.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[versions--rf61--suite_with_name.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[versions-rf61-suite_with_name.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[versions--rf70--vartest.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[versions-rf70-vartest.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[versions--rf70--vartest.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[versions-rf70-vartest.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[versions--rf72--grouptest.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[versions-rf72-grouptest.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[versions--rf72--grouptest.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_semantic_tokens.test[versions-rf72-grouptest.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_workspace_symbols.test[].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_workspace_symbols.test[].out
index bf28fc279..68abba0f5 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_workspace_symbols.test[].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_workspace_symbols.test[].out
@@ -1379,6 +1379,51 @@ result:
uri: duplicated_resources.robot
name: first
tags: null
+- !WorkspaceSymbol
+ container_name: embedded_args
+ data: null
+ kind: 13
+ location:
+ range:
+ end:
+ character: 10
+ line: 1
+ start:
+ character: 3
+ line: 1
+ uri: embedded_args.resource
+ name: ${task}
+ tags: null
+- !WorkspaceSymbol
+ container_name: embedded_args
+ data: null
+ kind: 13
+ location:
+ range:
+ end:
+ character: 24
+ line: 1
+ start:
+ character: 16
+ line: 1
+ uri: embedded_args.resource
+ name: ${thing}
+ tags: null
+- !WorkspaceSymbol
+ container_name: embedded_args
+ data: null
+ kind: 12
+ location:
+ range:
+ end:
+ character: 24
+ line: 1
+ start:
+ character: 0
+ line: 1
+ uri: embedded_args.resource
+ name: do ${task} with ${thing}
+ tags: null
- !WorkspaceSymbol
container_name: embedded_keywords
data: null
@@ -4478,10 +4523,10 @@ result:
range:
end:
character: 23
- line: 24
+ line: 31
start:
character: 19
- line: 24
+ line: 31
uri: sematic_tokenizing.robot
name: ${a}
tags: null
@@ -4493,10 +4538,10 @@ result:
range:
end:
character: 31
- line: 24
+ line: 31
start:
character: 27
- line: 24
+ line: 31
uri: sematic_tokenizing.robot
name: ${b}
tags: null
@@ -4508,10 +4553,10 @@ result:
range:
end:
character: 39
- line: 24
+ line: 31
start:
character: 35
- line: 24
+ line: 31
uri: sematic_tokenizing.robot
name: ${c}
tags: null
@@ -4523,10 +4568,10 @@ result:
range:
end:
character: 26
- line: 19
+ line: 26
start:
character: 19
- line: 19
+ line: 26
uri: sematic_tokenizing.robot
name: ${type}
tags: null
@@ -4538,10 +4583,10 @@ result:
range:
end:
character: 40
- line: 1
+ line: 4
start:
character: 0
- line: 1
+ line: 4
uri: sematic_tokenizing.robot
name: Continue when iteration limit is reached
tags: null
@@ -4553,10 +4598,10 @@ result:
range:
end:
character: 24
- line: 7
+ line: 10
start:
character: 0
- line: 7
+ line: 10
uri: sematic_tokenizing.robot
name: Limit as iteration count
tags: null
@@ -4568,13 +4613,28 @@ result:
range:
end:
character: 12
- line: 18
+ line: 25
start:
character: 0
- line: 18
+ line: 25
uri: sematic_tokenizing.robot
name: do something
tags: null
+- !WorkspaceSymbol
+ container_name: sematic_tokenizing
+ data: null
+ kind: 5
+ location:
+ range:
+ end:
+ character: 27
+ line: 20
+ start:
+ character: 0
+ line: 20
+ uri: sematic_tokenizing.robot
+ name: some embedded args keywords
+ tags: null
- !WorkspaceSymbol
container_name: sematic_tokenizing
data: null
@@ -4583,10 +4643,10 @@ result:
range:
end:
character: 14
- line: 12
+ line: 15
start:
character: 0
- line: 12
+ line: 15
uri: sematic_tokenizing.robot
name: some templated
tags: null
@@ -4598,10 +4658,10 @@ result:
range:
end:
character: 8
- line: 23
+ line: 30
start:
character: 0
- line: 23
+ line: 30
uri: sematic_tokenizing.robot
name: template
tags: null
@@ -5070,6 +5130,21 @@ result:
uri: symbols.robot
name: ${second}
tags: null
+- !WorkspaceSymbol
+ container_name: symbols
+ data: null
+ kind: 13
+ location:
+ range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ uri: symbols.robot
+ name: ${var 1}
+ tags: null
- !WorkspaceSymbol
container_name: symbols
data: null
@@ -5116,6 +5191,21 @@ result:
uri: symbols.robot
name: first
tags: null
+- !WorkspaceSymbol
+ container_name: symbols
+ data: null
+ kind: 5
+ location:
+ range:
+ end:
+ character: 20
+ line: 63
+ start:
+ character: 0
+ line: 63
+ uri: symbols.robot
+ name: vars with equal sign
+ tags: null
- !WorkspaceSymbol
container_name: templates
data: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_workspace_symbols.test[as].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_workspace_symbols.test[as].out
index debc9dced..9266e05d0 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_workspace_symbols.test[as].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf41/test_workspace_symbols.test[as].out
@@ -359,6 +359,36 @@ result:
uri: duplicated.resource
name: a resource keyword B
tags: null
+- !WorkspaceSymbol
+ container_name: embedded_args
+ data: null
+ kind: 13
+ location:
+ range:
+ end:
+ character: 10
+ line: 1
+ start:
+ character: 3
+ line: 1
+ uri: embedded_args.resource
+ name: ${task}
+ tags: null
+- !WorkspaceSymbol
+ container_name: embedded_args
+ data: null
+ kind: 12
+ location:
+ range:
+ end:
+ character: 24
+ line: 1
+ start:
+ character: 0
+ line: 1
+ uri: embedded_args.resource
+ name: do ${task} with ${thing}
+ tags: null
- !WorkspaceSymbol
container_name: embedded_keywords
data: null
@@ -877,10 +907,10 @@ result:
range:
end:
character: 40
- line: 1
+ line: 4
start:
character: 0
- line: 1
+ line: 4
uri: sematic_tokenizing.robot
name: Continue when iteration limit is reached
tags: null
@@ -892,13 +922,28 @@ result:
range:
end:
character: 24
- line: 7
+ line: 10
start:
character: 0
- line: 7
+ line: 10
uri: sematic_tokenizing.robot
name: Limit as iteration count
tags: null
+- !WorkspaceSymbol
+ container_name: sematic_tokenizing
+ data: null
+ kind: 5
+ location:
+ range:
+ end:
+ character: 27
+ line: 20
+ start:
+ character: 0
+ line: 20
+ uri: sematic_tokenizing.robot
+ name: some embedded args keywords
+ tags: null
- !WorkspaceSymbol
container_name: some_tasks
data: null
@@ -974,6 +1019,21 @@ result:
uri: symbols.robot
name: a keywords
tags: null
+- !WorkspaceSymbol
+ container_name: symbols
+ data: null
+ kind: 5
+ location:
+ range:
+ end:
+ character: 20
+ line: 63
+ start:
+ character: 0
+ line: 63
+ uri: symbols.robot
+ name: vars with equal sign
+ tags: null
- !WorkspaceSymbol
container_name: templates
data: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_document_symbols.test[symbols.robot-057-001-unreachable_keyword].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_document_symbols.test[symbols.robot-057-001-unreachable_keyword].out
index f986fa559..ce528ed41 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_document_symbols.test[symbols.robot-057-001-unreachable_keyword].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_document_symbols.test[symbols.robot-057-001-unreachable_keyword].out
@@ -10,15 +10,15 @@ result: !DocumentSymbol
name: Keywords
range:
end:
- character: 16
- line: 60
+ character: 1
+ line: 61
start:
character: 0
line: 56
selection_range:
end:
- character: 16
- line: 60
+ character: 1
+ line: 61
start:
character: 0
line: 56
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_document_symbols.test[symbols.robot-057-002-unreachable_keyword].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_document_symbols.test[symbols.robot-057-002-unreachable_keyword].out
index 50ea0a76e..5a40a0a49 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_document_symbols.test[symbols.robot-057-002-unreachable_keyword].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_document_symbols.test[symbols.robot-057-002-unreachable_keyword].out
@@ -10,15 +10,15 @@ result: !DocumentSymbol
name: Keywords
range:
end:
- character: 16
- line: 60
+ character: 1
+ line: 61
start:
character: 0
line: 56
selection_range:
end:
- character: 16
- line: 60
+ character: 1
+ line: 61
start:
character: 0
line: 56
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_document_symbols.test[symbols.robot-057-003-unreachable_keyword].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_document_symbols.test[symbols.robot-057-003-unreachable_keyword].out
index 6f3deff6b..0644acb80 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_document_symbols.test[symbols.robot-057-003-unreachable_keyword].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_document_symbols.test[symbols.robot-057-003-unreachable_keyword].out
@@ -10,15 +10,15 @@ result: !DocumentSymbol
name: Keywords
range:
end:
- character: 16
- line: 60
+ character: 1
+ line: 61
start:
character: 0
line: 56
selection_range:
end:
- character: 16
- line: 60
+ character: 1
+ line: 61
start:
character: 0
line: 56
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_document_symbols.test[symbols.robot-064-011-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_document_symbols.test[symbols.robot-064-011-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..7eb4a249a
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_document_symbols.test[symbols.robot-064-011-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 11
+ line: 64
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 5
+ name: vars with equal sign
+ range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ selection_range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_document_symbols.test[symbols.robot-064-013-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_document_symbols.test[symbols.robot-064-013-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..2b7ef04bb
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_document_symbols.test[symbols.robot-064-013-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 13
+ line: 64
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 5
+ name: vars with equal sign
+ range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ selection_range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_document_symbols.test[symbols.robot-064-015-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_document_symbols.test[symbols.robot-064-015-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..c3fab8517
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_document_symbols.test[symbols.robot-064-015-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 15
+ line: 64
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 5
+ name: vars with equal sign
+ range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ selection_range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_document_symbols.test[symbols.robot-066-011-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_document_symbols.test[symbols.robot-066-011-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..557b4dad1
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_document_symbols.test[symbols.robot-066-011-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 11
+ line: 66
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 5
+ name: vars with equal sign
+ range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ selection_range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_document_symbols.test[symbols.robot-066-013-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_document_symbols.test[symbols.robot-066-013-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..48e572cfb
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_document_symbols.test[symbols.robot-066-013-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 13
+ line: 66
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 5
+ name: vars with equal sign
+ range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ selection_range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_document_symbols.test[symbols.robot-066-015-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_document_symbols.test[symbols.robot-066-015-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..a22958e53
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_document_symbols.test[symbols.robot-066-015-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 15
+ line: 66
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 5
+ name: vars with equal sign
+ range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ selection_range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_document_symbols.test[symbols.robot-068-006-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_document_symbols.test[symbols.robot-068-006-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..b63cdd9a9
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_document_symbols.test[symbols.robot-068-006-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 6
+ line: 68
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 13
+ name: ${var 1}
+ range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ selection_range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_document_symbols.test[symbols.robot-068-008-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_document_symbols.test[symbols.robot-068-008-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..54d37321c
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_document_symbols.test[symbols.robot-068-008-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 8
+ line: 68
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 13
+ name: ${var 1}
+ range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ selection_range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_document_symbols.test[symbols.robot-068-010-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_document_symbols.test[symbols.robot-068-010-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..b418b8053
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_document_symbols.test[symbols.robot-068-010-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 10
+ line: 68
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 13
+ name: ${var 1}
+ range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ selection_range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_references.test[references.robot-011-016-a_custom_library].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_references.test[references.robot-011-016-a_custom_library].out
deleted file mode 100644
index daef5ac9c..000000000
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_references.test[references.robot-011-016-a_custom_library].out
+++ /dev/null
@@ -1,122 +0,0 @@
-data: !GeneratedTestData
- character: 16
- line: 11
- name: a custom library
-result:
-- !Location
- range:
- end:
- character: 26
- line: 1
- start:
- character: 18
- line: 1
- uri: resources/firstresource.resource
-- !Location
- range:
- end:
- character: 24
- line: 12
- start:
- character: 16
- line: 12
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 14
- start:
- character: 16
- line: 14
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 9
- start:
- character: 16
- line: 9
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 24
- line: 10
- start:
- character: 16
- line: 10
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 21
- line: 6
- start:
- character: 10
- line: 6
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 19
- line: 7
- start:
- character: 11
- line: 7
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 22
- line: 1
- start:
- character: 11
- line: 1
- uri: tests/external_libray.robot
-- !Location
- range:
- end:
- character: 43
- line: 14
- start:
- character: 18
- line: 14
- uri: tests/goto.robot
-- !Location
- range:
- end:
- character: 26
- line: 3
- start:
- character: 18
- line: 3
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 26
- line: 5
- start:
- character: 18
- line: 5
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 24
- line: 11
- start:
- character: 16
- line: 11
- uri: tests/references.robot
-- !Location
- range:
- end:
- character: 24
- line: 13
- start:
- character: 16
- line: 13
- uri: tests/references.robot
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_references.test[references.robot-011-020-a_custom_library].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_references.test[references.robot-011-020-a_custom_library].out
deleted file mode 100644
index 444f21201..000000000
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_references.test[references.robot-011-020-a_custom_library].out
+++ /dev/null
@@ -1,122 +0,0 @@
-data: !GeneratedTestData
- character: 20
- line: 11
- name: a custom library
-result:
-- !Location
- range:
- end:
- character: 26
- line: 1
- start:
- character: 18
- line: 1
- uri: resources/firstresource.resource
-- !Location
- range:
- end:
- character: 24
- line: 12
- start:
- character: 16
- line: 12
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 14
- start:
- character: 16
- line: 14
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 9
- start:
- character: 16
- line: 9
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 24
- line: 10
- start:
- character: 16
- line: 10
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 21
- line: 6
- start:
- character: 10
- line: 6
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 19
- line: 7
- start:
- character: 11
- line: 7
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 22
- line: 1
- start:
- character: 11
- line: 1
- uri: tests/external_libray.robot
-- !Location
- range:
- end:
- character: 43
- line: 14
- start:
- character: 18
- line: 14
- uri: tests/goto.robot
-- !Location
- range:
- end:
- character: 26
- line: 3
- start:
- character: 18
- line: 3
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 26
- line: 5
- start:
- character: 18
- line: 5
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 24
- line: 11
- start:
- character: 16
- line: 11
- uri: tests/references.robot
-- !Location
- range:
- end:
- character: 24
- line: 13
- start:
- character: 16
- line: 13
- uri: tests/references.robot
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_references.test[references.robot-011-023-a_custom_library].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_references.test[references.robot-011-023-a_custom_library].out
deleted file mode 100644
index cf7ff2b53..000000000
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_references.test[references.robot-011-023-a_custom_library].out
+++ /dev/null
@@ -1,122 +0,0 @@
-data: !GeneratedTestData
- character: 23
- line: 11
- name: a custom library
-result:
-- !Location
- range:
- end:
- character: 26
- line: 1
- start:
- character: 18
- line: 1
- uri: resources/firstresource.resource
-- !Location
- range:
- end:
- character: 24
- line: 12
- start:
- character: 16
- line: 12
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 14
- start:
- character: 16
- line: 14
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 9
- start:
- character: 16
- line: 9
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 24
- line: 10
- start:
- character: 16
- line: 10
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 21
- line: 6
- start:
- character: 10
- line: 6
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 19
- line: 7
- start:
- character: 11
- line: 7
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 22
- line: 1
- start:
- character: 11
- line: 1
- uri: tests/external_libray.robot
-- !Location
- range:
- end:
- character: 43
- line: 14
- start:
- character: 18
- line: 14
- uri: tests/goto.robot
-- !Location
- range:
- end:
- character: 26
- line: 3
- start:
- character: 18
- line: 3
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 26
- line: 5
- start:
- character: 18
- line: 5
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 24
- line: 11
- start:
- character: 16
- line: 11
- uri: tests/references.robot
-- !Location
- range:
- end:
- character: 24
- line: 13
- start:
- character: 16
- line: 13
- uri: tests/references.robot
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_references.test[references.robot-013-016-a_same_custom_library].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_references.test[references.robot-013-016-a_same_custom_library].out
deleted file mode 100644
index 947e15b37..000000000
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_references.test[references.robot-013-016-a_same_custom_library].out
+++ /dev/null
@@ -1,122 +0,0 @@
-data: !GeneratedTestData
- character: 16
- line: 13
- name: a same custom library
-result:
-- !Location
- range:
- end:
- character: 26
- line: 1
- start:
- character: 18
- line: 1
- uri: resources/firstresource.resource
-- !Location
- range:
- end:
- character: 24
- line: 12
- start:
- character: 16
- line: 12
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 14
- start:
- character: 16
- line: 14
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 9
- start:
- character: 16
- line: 9
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 24
- line: 10
- start:
- character: 16
- line: 10
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 21
- line: 6
- start:
- character: 10
- line: 6
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 19
- line: 7
- start:
- character: 11
- line: 7
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 22
- line: 1
- start:
- character: 11
- line: 1
- uri: tests/external_libray.robot
-- !Location
- range:
- end:
- character: 43
- line: 14
- start:
- character: 18
- line: 14
- uri: tests/goto.robot
-- !Location
- range:
- end:
- character: 26
- line: 3
- start:
- character: 18
- line: 3
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 26
- line: 5
- start:
- character: 18
- line: 5
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 24
- line: 11
- start:
- character: 16
- line: 11
- uri: tests/references.robot
-- !Location
- range:
- end:
- character: 24
- line: 13
- start:
- character: 16
- line: 13
- uri: tests/references.robot
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_references.test[references.robot-013-020-a_same_custom_library].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_references.test[references.robot-013-020-a_same_custom_library].out
deleted file mode 100644
index 3a23b8afd..000000000
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_references.test[references.robot-013-020-a_same_custom_library].out
+++ /dev/null
@@ -1,122 +0,0 @@
-data: !GeneratedTestData
- character: 20
- line: 13
- name: a same custom library
-result:
-- !Location
- range:
- end:
- character: 26
- line: 1
- start:
- character: 18
- line: 1
- uri: resources/firstresource.resource
-- !Location
- range:
- end:
- character: 24
- line: 12
- start:
- character: 16
- line: 12
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 14
- start:
- character: 16
- line: 14
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 9
- start:
- character: 16
- line: 9
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 24
- line: 10
- start:
- character: 16
- line: 10
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 21
- line: 6
- start:
- character: 10
- line: 6
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 19
- line: 7
- start:
- character: 11
- line: 7
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 22
- line: 1
- start:
- character: 11
- line: 1
- uri: tests/external_libray.robot
-- !Location
- range:
- end:
- character: 43
- line: 14
- start:
- character: 18
- line: 14
- uri: tests/goto.robot
-- !Location
- range:
- end:
- character: 26
- line: 3
- start:
- character: 18
- line: 3
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 26
- line: 5
- start:
- character: 18
- line: 5
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 24
- line: 11
- start:
- character: 16
- line: 11
- uri: tests/references.robot
-- !Location
- range:
- end:
- character: 24
- line: 13
- start:
- character: 16
- line: 13
- uri: tests/references.robot
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_references.test[references.robot-013-023-a_same_custom_library].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_references.test[references.robot-013-023-a_same_custom_library].out
deleted file mode 100644
index 5480c015e..000000000
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_references.test[references.robot-013-023-a_same_custom_library].out
+++ /dev/null
@@ -1,122 +0,0 @@
-data: !GeneratedTestData
- character: 23
- line: 13
- name: a same custom library
-result:
-- !Location
- range:
- end:
- character: 26
- line: 1
- start:
- character: 18
- line: 1
- uri: resources/firstresource.resource
-- !Location
- range:
- end:
- character: 24
- line: 12
- start:
- character: 16
- line: 12
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 14
- start:
- character: 16
- line: 14
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 9
- start:
- character: 16
- line: 9
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 24
- line: 10
- start:
- character: 16
- line: 10
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 21
- line: 6
- start:
- character: 10
- line: 6
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 19
- line: 7
- start:
- character: 11
- line: 7
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 22
- line: 1
- start:
- character: 11
- line: 1
- uri: tests/external_libray.robot
-- !Location
- range:
- end:
- character: 43
- line: 14
- start:
- character: 18
- line: 14
- uri: tests/goto.robot
-- !Location
- range:
- end:
- character: 26
- line: 3
- start:
- character: 18
- line: 3
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 26
- line: 5
- start:
- character: 18
- line: 5
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 24
- line: 11
- start:
- character: 16
- line: 11
- uri: tests/references.robot
-- !Location
- range:
- end:
- character: 24
- line: 13
- start:
- character: 16
- line: 13
- uri: tests/references.robot
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[sematic_tokenizing.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[sematic_tokenizing.robot].out
index 053720e32..fe3fc16ac 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[sematic_tokenizing.robot].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[sematic_tokenizing.robot].out
@@ -2,6 +2,21 @@ result: !SemanticTokens
data:
- 0
- 0
+ - 16
+ - 27
+ - 0
+ - 1
+ - 0
+ - 8
+ - 24
+ - 0
+ - 0
+ - 12
+ - 22
+ - 51
+ - 0
+ - 2
+ - 0
- 18
- 29
- 0
@@ -112,6 +127,61 @@ result: !SemanticTokens
- 0
- 2
- 0
+ - 27
+ - 33
+ - 1
+ - 1
+ - 4
+ - 3
+ - 39
+ - 0
+ - 0
+ - 3
+ - 4
+ - 36
+ - 2048
+ - 0
+ - 5
+ - 5
+ - 39
+ - 0
+ - 0
+ - 5
+ - 5
+ - 36
+ - 2048
+ - 1
+ - 4
+ - 13
+ - 51
+ - 0
+ - 0
+ - 13
+ - 1
+ - 21
+ - 0
+ - 0
+ - 1
+ - 3
+ - 39
+ - 0
+ - 0
+ - 3
+ - 4
+ - 36
+ - 2048
+ - 0
+ - 5
+ - 5
+ - 39
+ - 0
+ - 0
+ - 5
+ - 5
+ - 36
+ - 2048
+ - 2
+ - 0
- 16
- 32
- 0
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[symbols.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[symbols.robot].out
index 6e4bfd531..31ff5dc7f 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[symbols.robot].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[symbols.robot].out
@@ -290,4 +290,54 @@ result: !SemanticTokens
- 11
- 39
- 0
+ - 2
+ - 0
+ - 18
+ - 29
+ - 0
+ - 1
+ - 0
+ - 20
+ - 33
+ - 1
+ - 1
+ - 4
+ - 3
+ - 39
+ - 0
+ - 0
+ - 5
+ - 2
+ - 47
+ - 0
+ - 0
+ - 7
+ - 1
+ - 48
+ - 0
+ - 2
+ - 4
+ - 3
+ - 39
+ - 0
+ - 0
+ - 5
+ - 2
+ - 47
+ - 0
+ - 0
+ - 7
+ - 1
+ - 48
+ - 0
+ - 2
+ - 4
+ - 9
+ - 38
+ - 0
+ - 0
+ - 11
+ - 8
+ - 39
+ - 1024
result_id: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[versions--rf61--__init__.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[versions-rf61-__init__.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[versions--rf61--__init__.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[versions-rf61-__init__.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[versions--rf61--embedded_keywords.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[versions-rf61-embedded_keywords.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[versions--rf61--embedded_keywords.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[versions-rf61-embedded_keywords.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[versions--rf61--jsonvariables.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[versions-rf61-jsonvariables.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[versions--rf61--jsonvariables.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[versions-rf61-jsonvariables.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[versions--rf61--sometasks.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[versions-rf61-sometasks.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[versions--rf61--sometasks.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[versions-rf61-sometasks.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[versions--rf61--sub_suite--__init__.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[versions-rf61-sub_suite-__init__.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[versions--rf61--sub_suite--__init__.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[versions-rf61-sub_suite-__init__.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[versions--rf61--sub_suite--first.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[versions-rf61-sub_suite-first.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[versions--rf61--sub_suite--first.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[versions-rf61-sub_suite-first.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[versions--rf61--suite_with_name.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[versions-rf61-suite_with_name.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[versions--rf61--suite_with_name.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[versions-rf61-suite_with_name.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[versions--rf70--vartest.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[versions-rf70-vartest.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[versions--rf70--vartest.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[versions-rf70-vartest.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[versions--rf72--grouptest.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[versions-rf72-grouptest.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[versions--rf72--grouptest.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_semantic_tokens.test[versions-rf72-grouptest.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_workspace_symbols.test[].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_workspace_symbols.test[].out
index ebe4bbdf2..183fe528f 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_workspace_symbols.test[].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_workspace_symbols.test[].out
@@ -1379,6 +1379,51 @@ result:
uri: duplicated_resources.robot
name: first
tags: null
+- !WorkspaceSymbol
+ container_name: embedded_args
+ data: null
+ kind: 13
+ location:
+ range:
+ end:
+ character: 10
+ line: 1
+ start:
+ character: 3
+ line: 1
+ uri: embedded_args.resource
+ name: ${task}
+ tags: null
+- !WorkspaceSymbol
+ container_name: embedded_args
+ data: null
+ kind: 13
+ location:
+ range:
+ end:
+ character: 24
+ line: 1
+ start:
+ character: 16
+ line: 1
+ uri: embedded_args.resource
+ name: ${thing}
+ tags: null
+- !WorkspaceSymbol
+ container_name: embedded_args
+ data: null
+ kind: 12
+ location:
+ range:
+ end:
+ character: 24
+ line: 1
+ start:
+ character: 0
+ line: 1
+ uri: embedded_args.resource
+ name: do ${task} with ${thing}
+ tags: null
- !WorkspaceSymbol
container_name: embedded_keywords
data: null
@@ -4508,10 +4553,10 @@ result:
range:
end:
character: 23
- line: 24
+ line: 31
start:
character: 19
- line: 24
+ line: 31
uri: sematic_tokenizing.robot
name: ${a}
tags: null
@@ -4523,10 +4568,10 @@ result:
range:
end:
character: 31
- line: 24
+ line: 31
start:
character: 27
- line: 24
+ line: 31
uri: sematic_tokenizing.robot
name: ${b}
tags: null
@@ -4538,10 +4583,10 @@ result:
range:
end:
character: 39
- line: 24
+ line: 31
start:
character: 35
- line: 24
+ line: 31
uri: sematic_tokenizing.robot
name: ${c}
tags: null
@@ -4553,10 +4598,10 @@ result:
range:
end:
character: 26
- line: 19
+ line: 26
start:
character: 19
- line: 19
+ line: 26
uri: sematic_tokenizing.robot
name: ${type}
tags: null
@@ -4568,10 +4613,10 @@ result:
range:
end:
character: 40
- line: 1
+ line: 4
start:
character: 0
- line: 1
+ line: 4
uri: sematic_tokenizing.robot
name: Continue when iteration limit is reached
tags: null
@@ -4583,10 +4628,10 @@ result:
range:
end:
character: 24
- line: 7
+ line: 10
start:
character: 0
- line: 7
+ line: 10
uri: sematic_tokenizing.robot
name: Limit as iteration count
tags: null
@@ -4598,13 +4643,28 @@ result:
range:
end:
character: 12
- line: 18
+ line: 25
start:
character: 0
- line: 18
+ line: 25
uri: sematic_tokenizing.robot
name: do something
tags: null
+- !WorkspaceSymbol
+ container_name: sematic_tokenizing
+ data: null
+ kind: 5
+ location:
+ range:
+ end:
+ character: 27
+ line: 20
+ start:
+ character: 0
+ line: 20
+ uri: sematic_tokenizing.robot
+ name: some embedded args keywords
+ tags: null
- !WorkspaceSymbol
container_name: sematic_tokenizing
data: null
@@ -4613,10 +4673,10 @@ result:
range:
end:
character: 14
- line: 12
+ line: 15
start:
character: 0
- line: 12
+ line: 15
uri: sematic_tokenizing.robot
name: some templated
tags: null
@@ -4628,10 +4688,10 @@ result:
range:
end:
character: 8
- line: 23
+ line: 30
start:
character: 0
- line: 23
+ line: 30
uri: sematic_tokenizing.robot
name: template
tags: null
@@ -5115,6 +5175,21 @@ result:
uri: symbols.robot
name: ${second}
tags: null
+- !WorkspaceSymbol
+ container_name: symbols
+ data: null
+ kind: 13
+ location:
+ range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ uri: symbols.robot
+ name: ${var 1}
+ tags: null
- !WorkspaceSymbol
container_name: symbols
data: null
@@ -5161,6 +5236,21 @@ result:
uri: symbols.robot
name: first
tags: null
+- !WorkspaceSymbol
+ container_name: symbols
+ data: null
+ kind: 5
+ location:
+ range:
+ end:
+ character: 20
+ line: 63
+ start:
+ character: 0
+ line: 63
+ uri: symbols.robot
+ name: vars with equal sign
+ tags: null
- !WorkspaceSymbol
container_name: templates
data: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_workspace_symbols.test[as].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_workspace_symbols.test[as].out
index debc9dced..9266e05d0 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_workspace_symbols.test[as].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf50/test_workspace_symbols.test[as].out
@@ -359,6 +359,36 @@ result:
uri: duplicated.resource
name: a resource keyword B
tags: null
+- !WorkspaceSymbol
+ container_name: embedded_args
+ data: null
+ kind: 13
+ location:
+ range:
+ end:
+ character: 10
+ line: 1
+ start:
+ character: 3
+ line: 1
+ uri: embedded_args.resource
+ name: ${task}
+ tags: null
+- !WorkspaceSymbol
+ container_name: embedded_args
+ data: null
+ kind: 12
+ location:
+ range:
+ end:
+ character: 24
+ line: 1
+ start:
+ character: 0
+ line: 1
+ uri: embedded_args.resource
+ name: do ${task} with ${thing}
+ tags: null
- !WorkspaceSymbol
container_name: embedded_keywords
data: null
@@ -877,10 +907,10 @@ result:
range:
end:
character: 40
- line: 1
+ line: 4
start:
character: 0
- line: 1
+ line: 4
uri: sematic_tokenizing.robot
name: Continue when iteration limit is reached
tags: null
@@ -892,13 +922,28 @@ result:
range:
end:
character: 24
- line: 7
+ line: 10
start:
character: 0
- line: 7
+ line: 10
uri: sematic_tokenizing.robot
name: Limit as iteration count
tags: null
+- !WorkspaceSymbol
+ container_name: sematic_tokenizing
+ data: null
+ kind: 5
+ location:
+ range:
+ end:
+ character: 27
+ line: 20
+ start:
+ character: 0
+ line: 20
+ uri: sematic_tokenizing.robot
+ name: some embedded args keywords
+ tags: null
- !WorkspaceSymbol
container_name: some_tasks
data: null
@@ -974,6 +1019,21 @@ result:
uri: symbols.robot
name: a keywords
tags: null
+- !WorkspaceSymbol
+ container_name: symbols
+ data: null
+ kind: 5
+ location:
+ range:
+ end:
+ character: 20
+ line: 63
+ start:
+ character: 0
+ line: 63
+ uri: symbols.robot
+ name: vars with equal sign
+ tags: null
- !WorkspaceSymbol
container_name: templates
data: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_document_symbols.test[symbols.robot-057-001-unreachable_keyword].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_document_symbols.test[symbols.robot-057-001-unreachable_keyword].out
index f986fa559..ce528ed41 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_document_symbols.test[symbols.robot-057-001-unreachable_keyword].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_document_symbols.test[symbols.robot-057-001-unreachable_keyword].out
@@ -10,15 +10,15 @@ result: !DocumentSymbol
name: Keywords
range:
end:
- character: 16
- line: 60
+ character: 1
+ line: 61
start:
character: 0
line: 56
selection_range:
end:
- character: 16
- line: 60
+ character: 1
+ line: 61
start:
character: 0
line: 56
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_document_symbols.test[symbols.robot-057-002-unreachable_keyword].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_document_symbols.test[symbols.robot-057-002-unreachable_keyword].out
index 50ea0a76e..5a40a0a49 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_document_symbols.test[symbols.robot-057-002-unreachable_keyword].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_document_symbols.test[symbols.robot-057-002-unreachable_keyword].out
@@ -10,15 +10,15 @@ result: !DocumentSymbol
name: Keywords
range:
end:
- character: 16
- line: 60
+ character: 1
+ line: 61
start:
character: 0
line: 56
selection_range:
end:
- character: 16
- line: 60
+ character: 1
+ line: 61
start:
character: 0
line: 56
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_document_symbols.test[symbols.robot-057-003-unreachable_keyword].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_document_symbols.test[symbols.robot-057-003-unreachable_keyword].out
index 6f3deff6b..0644acb80 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_document_symbols.test[symbols.robot-057-003-unreachable_keyword].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_document_symbols.test[symbols.robot-057-003-unreachable_keyword].out
@@ -10,15 +10,15 @@ result: !DocumentSymbol
name: Keywords
range:
end:
- character: 16
- line: 60
+ character: 1
+ line: 61
start:
character: 0
line: 56
selection_range:
end:
- character: 16
- line: 60
+ character: 1
+ line: 61
start:
character: 0
line: 56
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_document_symbols.test[symbols.robot-064-011-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_document_symbols.test[symbols.robot-064-011-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..7eb4a249a
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_document_symbols.test[symbols.robot-064-011-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 11
+ line: 64
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 5
+ name: vars with equal sign
+ range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ selection_range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_document_symbols.test[symbols.robot-064-013-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_document_symbols.test[symbols.robot-064-013-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..2b7ef04bb
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_document_symbols.test[symbols.robot-064-013-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 13
+ line: 64
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 5
+ name: vars with equal sign
+ range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ selection_range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_document_symbols.test[symbols.robot-064-015-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_document_symbols.test[symbols.robot-064-015-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..c3fab8517
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_document_symbols.test[symbols.robot-064-015-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 15
+ line: 64
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 5
+ name: vars with equal sign
+ range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ selection_range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_document_symbols.test[symbols.robot-066-011-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_document_symbols.test[symbols.robot-066-011-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..557b4dad1
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_document_symbols.test[symbols.robot-066-011-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 11
+ line: 66
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 5
+ name: vars with equal sign
+ range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ selection_range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_document_symbols.test[symbols.robot-066-013-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_document_symbols.test[symbols.robot-066-013-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..48e572cfb
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_document_symbols.test[symbols.robot-066-013-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 13
+ line: 66
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 5
+ name: vars with equal sign
+ range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ selection_range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_document_symbols.test[symbols.robot-066-015-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_document_symbols.test[symbols.robot-066-015-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..a22958e53
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_document_symbols.test[symbols.robot-066-015-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 15
+ line: 66
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 5
+ name: vars with equal sign
+ range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ selection_range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_document_symbols.test[symbols.robot-068-006-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_document_symbols.test[symbols.robot-068-006-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..b63cdd9a9
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_document_symbols.test[symbols.robot-068-006-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 6
+ line: 68
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 13
+ name: ${var 1}
+ range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ selection_range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_document_symbols.test[symbols.robot-068-008-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_document_symbols.test[symbols.robot-068-008-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..54d37321c
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_document_symbols.test[symbols.robot-068-008-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 8
+ line: 68
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 13
+ name: ${var 1}
+ range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ selection_range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_document_symbols.test[symbols.robot-068-010-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_document_symbols.test[symbols.robot-068-010-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..b418b8053
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_document_symbols.test[symbols.robot-068-010-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 10
+ line: 68
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 13
+ name: ${var 1}
+ range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ selection_range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_references.test[references.robot-011-016-a_custom_library].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_references.test[references.robot-011-016-a_custom_library].out
deleted file mode 100644
index daef5ac9c..000000000
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_references.test[references.robot-011-016-a_custom_library].out
+++ /dev/null
@@ -1,122 +0,0 @@
-data: !GeneratedTestData
- character: 16
- line: 11
- name: a custom library
-result:
-- !Location
- range:
- end:
- character: 26
- line: 1
- start:
- character: 18
- line: 1
- uri: resources/firstresource.resource
-- !Location
- range:
- end:
- character: 24
- line: 12
- start:
- character: 16
- line: 12
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 14
- start:
- character: 16
- line: 14
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 9
- start:
- character: 16
- line: 9
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 24
- line: 10
- start:
- character: 16
- line: 10
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 21
- line: 6
- start:
- character: 10
- line: 6
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 19
- line: 7
- start:
- character: 11
- line: 7
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 22
- line: 1
- start:
- character: 11
- line: 1
- uri: tests/external_libray.robot
-- !Location
- range:
- end:
- character: 43
- line: 14
- start:
- character: 18
- line: 14
- uri: tests/goto.robot
-- !Location
- range:
- end:
- character: 26
- line: 3
- start:
- character: 18
- line: 3
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 26
- line: 5
- start:
- character: 18
- line: 5
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 24
- line: 11
- start:
- character: 16
- line: 11
- uri: tests/references.robot
-- !Location
- range:
- end:
- character: 24
- line: 13
- start:
- character: 16
- line: 13
- uri: tests/references.robot
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_references.test[references.robot-011-020-a_custom_library].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_references.test[references.robot-011-020-a_custom_library].out
deleted file mode 100644
index 444f21201..000000000
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_references.test[references.robot-011-020-a_custom_library].out
+++ /dev/null
@@ -1,122 +0,0 @@
-data: !GeneratedTestData
- character: 20
- line: 11
- name: a custom library
-result:
-- !Location
- range:
- end:
- character: 26
- line: 1
- start:
- character: 18
- line: 1
- uri: resources/firstresource.resource
-- !Location
- range:
- end:
- character: 24
- line: 12
- start:
- character: 16
- line: 12
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 14
- start:
- character: 16
- line: 14
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 9
- start:
- character: 16
- line: 9
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 24
- line: 10
- start:
- character: 16
- line: 10
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 21
- line: 6
- start:
- character: 10
- line: 6
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 19
- line: 7
- start:
- character: 11
- line: 7
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 22
- line: 1
- start:
- character: 11
- line: 1
- uri: tests/external_libray.robot
-- !Location
- range:
- end:
- character: 43
- line: 14
- start:
- character: 18
- line: 14
- uri: tests/goto.robot
-- !Location
- range:
- end:
- character: 26
- line: 3
- start:
- character: 18
- line: 3
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 26
- line: 5
- start:
- character: 18
- line: 5
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 24
- line: 11
- start:
- character: 16
- line: 11
- uri: tests/references.robot
-- !Location
- range:
- end:
- character: 24
- line: 13
- start:
- character: 16
- line: 13
- uri: tests/references.robot
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_references.test[references.robot-011-023-a_custom_library].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_references.test[references.robot-011-023-a_custom_library].out
deleted file mode 100644
index cf7ff2b53..000000000
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_references.test[references.robot-011-023-a_custom_library].out
+++ /dev/null
@@ -1,122 +0,0 @@
-data: !GeneratedTestData
- character: 23
- line: 11
- name: a custom library
-result:
-- !Location
- range:
- end:
- character: 26
- line: 1
- start:
- character: 18
- line: 1
- uri: resources/firstresource.resource
-- !Location
- range:
- end:
- character: 24
- line: 12
- start:
- character: 16
- line: 12
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 14
- start:
- character: 16
- line: 14
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 9
- start:
- character: 16
- line: 9
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 24
- line: 10
- start:
- character: 16
- line: 10
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 21
- line: 6
- start:
- character: 10
- line: 6
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 19
- line: 7
- start:
- character: 11
- line: 7
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 22
- line: 1
- start:
- character: 11
- line: 1
- uri: tests/external_libray.robot
-- !Location
- range:
- end:
- character: 43
- line: 14
- start:
- character: 18
- line: 14
- uri: tests/goto.robot
-- !Location
- range:
- end:
- character: 26
- line: 3
- start:
- character: 18
- line: 3
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 26
- line: 5
- start:
- character: 18
- line: 5
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 24
- line: 11
- start:
- character: 16
- line: 11
- uri: tests/references.robot
-- !Location
- range:
- end:
- character: 24
- line: 13
- start:
- character: 16
- line: 13
- uri: tests/references.robot
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_references.test[references.robot-013-016-a_same_custom_library].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_references.test[references.robot-013-016-a_same_custom_library].out
deleted file mode 100644
index 947e15b37..000000000
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_references.test[references.robot-013-016-a_same_custom_library].out
+++ /dev/null
@@ -1,122 +0,0 @@
-data: !GeneratedTestData
- character: 16
- line: 13
- name: a same custom library
-result:
-- !Location
- range:
- end:
- character: 26
- line: 1
- start:
- character: 18
- line: 1
- uri: resources/firstresource.resource
-- !Location
- range:
- end:
- character: 24
- line: 12
- start:
- character: 16
- line: 12
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 14
- start:
- character: 16
- line: 14
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 9
- start:
- character: 16
- line: 9
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 24
- line: 10
- start:
- character: 16
- line: 10
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 21
- line: 6
- start:
- character: 10
- line: 6
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 19
- line: 7
- start:
- character: 11
- line: 7
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 22
- line: 1
- start:
- character: 11
- line: 1
- uri: tests/external_libray.robot
-- !Location
- range:
- end:
- character: 43
- line: 14
- start:
- character: 18
- line: 14
- uri: tests/goto.robot
-- !Location
- range:
- end:
- character: 26
- line: 3
- start:
- character: 18
- line: 3
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 26
- line: 5
- start:
- character: 18
- line: 5
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 24
- line: 11
- start:
- character: 16
- line: 11
- uri: tests/references.robot
-- !Location
- range:
- end:
- character: 24
- line: 13
- start:
- character: 16
- line: 13
- uri: tests/references.robot
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_references.test[references.robot-013-020-a_same_custom_library].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_references.test[references.robot-013-020-a_same_custom_library].out
deleted file mode 100644
index 3a23b8afd..000000000
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_references.test[references.robot-013-020-a_same_custom_library].out
+++ /dev/null
@@ -1,122 +0,0 @@
-data: !GeneratedTestData
- character: 20
- line: 13
- name: a same custom library
-result:
-- !Location
- range:
- end:
- character: 26
- line: 1
- start:
- character: 18
- line: 1
- uri: resources/firstresource.resource
-- !Location
- range:
- end:
- character: 24
- line: 12
- start:
- character: 16
- line: 12
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 14
- start:
- character: 16
- line: 14
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 9
- start:
- character: 16
- line: 9
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 24
- line: 10
- start:
- character: 16
- line: 10
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 21
- line: 6
- start:
- character: 10
- line: 6
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 19
- line: 7
- start:
- character: 11
- line: 7
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 22
- line: 1
- start:
- character: 11
- line: 1
- uri: tests/external_libray.robot
-- !Location
- range:
- end:
- character: 43
- line: 14
- start:
- character: 18
- line: 14
- uri: tests/goto.robot
-- !Location
- range:
- end:
- character: 26
- line: 3
- start:
- character: 18
- line: 3
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 26
- line: 5
- start:
- character: 18
- line: 5
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 24
- line: 11
- start:
- character: 16
- line: 11
- uri: tests/references.robot
-- !Location
- range:
- end:
- character: 24
- line: 13
- start:
- character: 16
- line: 13
- uri: tests/references.robot
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_references.test[references.robot-013-023-a_same_custom_library].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_references.test[references.robot-013-023-a_same_custom_library].out
deleted file mode 100644
index 5480c015e..000000000
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_references.test[references.robot-013-023-a_same_custom_library].out
+++ /dev/null
@@ -1,122 +0,0 @@
-data: !GeneratedTestData
- character: 23
- line: 13
- name: a same custom library
-result:
-- !Location
- range:
- end:
- character: 26
- line: 1
- start:
- character: 18
- line: 1
- uri: resources/firstresource.resource
-- !Location
- range:
- end:
- character: 24
- line: 12
- start:
- character: 16
- line: 12
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 14
- start:
- character: 16
- line: 14
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 9
- start:
- character: 16
- line: 9
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 24
- line: 10
- start:
- character: 16
- line: 10
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 21
- line: 6
- start:
- character: 10
- line: 6
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 19
- line: 7
- start:
- character: 11
- line: 7
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 22
- line: 1
- start:
- character: 11
- line: 1
- uri: tests/external_libray.robot
-- !Location
- range:
- end:
- character: 43
- line: 14
- start:
- character: 18
- line: 14
- uri: tests/goto.robot
-- !Location
- range:
- end:
- character: 26
- line: 3
- start:
- character: 18
- line: 3
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 26
- line: 5
- start:
- character: 18
- line: 5
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 24
- line: 11
- start:
- character: 16
- line: 11
- uri: tests/references.robot
-- !Location
- range:
- end:
- character: 24
- line: 13
- start:
- character: 16
- line: 13
- uri: tests/references.robot
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[sematic_tokenizing.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[sematic_tokenizing.robot].out
index 053720e32..fe3fc16ac 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[sematic_tokenizing.robot].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[sematic_tokenizing.robot].out
@@ -2,6 +2,21 @@ result: !SemanticTokens
data:
- 0
- 0
+ - 16
+ - 27
+ - 0
+ - 1
+ - 0
+ - 8
+ - 24
+ - 0
+ - 0
+ - 12
+ - 22
+ - 51
+ - 0
+ - 2
+ - 0
- 18
- 29
- 0
@@ -112,6 +127,61 @@ result: !SemanticTokens
- 0
- 2
- 0
+ - 27
+ - 33
+ - 1
+ - 1
+ - 4
+ - 3
+ - 39
+ - 0
+ - 0
+ - 3
+ - 4
+ - 36
+ - 2048
+ - 0
+ - 5
+ - 5
+ - 39
+ - 0
+ - 0
+ - 5
+ - 5
+ - 36
+ - 2048
+ - 1
+ - 4
+ - 13
+ - 51
+ - 0
+ - 0
+ - 13
+ - 1
+ - 21
+ - 0
+ - 0
+ - 1
+ - 3
+ - 39
+ - 0
+ - 0
+ - 3
+ - 4
+ - 36
+ - 2048
+ - 0
+ - 5
+ - 5
+ - 39
+ - 0
+ - 0
+ - 5
+ - 5
+ - 36
+ - 2048
+ - 2
+ - 0
- 16
- 32
- 0
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[symbols.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[symbols.robot].out
index 6e4bfd531..31ff5dc7f 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[symbols.robot].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[symbols.robot].out
@@ -290,4 +290,54 @@ result: !SemanticTokens
- 11
- 39
- 0
+ - 2
+ - 0
+ - 18
+ - 29
+ - 0
+ - 1
+ - 0
+ - 20
+ - 33
+ - 1
+ - 1
+ - 4
+ - 3
+ - 39
+ - 0
+ - 0
+ - 5
+ - 2
+ - 47
+ - 0
+ - 0
+ - 7
+ - 1
+ - 48
+ - 0
+ - 2
+ - 4
+ - 3
+ - 39
+ - 0
+ - 0
+ - 5
+ - 2
+ - 47
+ - 0
+ - 0
+ - 7
+ - 1
+ - 48
+ - 0
+ - 2
+ - 4
+ - 9
+ - 38
+ - 0
+ - 0
+ - 11
+ - 8
+ - 39
+ - 1024
result_id: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[versions--rf61--__init__.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[versions-rf61-__init__.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[versions--rf61--__init__.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[versions-rf61-__init__.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[versions--rf61--embedded_keywords.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[versions-rf61-embedded_keywords.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[versions--rf61--embedded_keywords.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[versions-rf61-embedded_keywords.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[versions--rf61--jsonvariables.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[versions-rf61-jsonvariables.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[versions--rf61--jsonvariables.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[versions-rf61-jsonvariables.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[versions--rf61--sometasks.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[versions-rf61-sometasks.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[versions--rf61--sometasks.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[versions-rf61-sometasks.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[versions--rf61--sub_suite--__init__.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[versions-rf61-sub_suite-__init__.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[versions--rf61--sub_suite--__init__.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[versions-rf61-sub_suite-__init__.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[versions--rf61--sub_suite--first.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[versions-rf61-sub_suite-first.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[versions--rf61--sub_suite--first.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[versions-rf61-sub_suite-first.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[versions--rf61--suite_with_name.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[versions-rf61-suite_with_name.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[versions--rf61--suite_with_name.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[versions-rf61-suite_with_name.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[versions--rf70--vartest.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[versions-rf70-vartest.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[versions--rf70--vartest.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[versions-rf70-vartest.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[versions--rf72--grouptest.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[versions-rf72-grouptest.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[versions--rf72--grouptest.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_semantic_tokens.test[versions-rf72-grouptest.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_workspace_symbols.test[].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_workspace_symbols.test[].out
index ebe4bbdf2..183fe528f 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_workspace_symbols.test[].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_workspace_symbols.test[].out
@@ -1379,6 +1379,51 @@ result:
uri: duplicated_resources.robot
name: first
tags: null
+- !WorkspaceSymbol
+ container_name: embedded_args
+ data: null
+ kind: 13
+ location:
+ range:
+ end:
+ character: 10
+ line: 1
+ start:
+ character: 3
+ line: 1
+ uri: embedded_args.resource
+ name: ${task}
+ tags: null
+- !WorkspaceSymbol
+ container_name: embedded_args
+ data: null
+ kind: 13
+ location:
+ range:
+ end:
+ character: 24
+ line: 1
+ start:
+ character: 16
+ line: 1
+ uri: embedded_args.resource
+ name: ${thing}
+ tags: null
+- !WorkspaceSymbol
+ container_name: embedded_args
+ data: null
+ kind: 12
+ location:
+ range:
+ end:
+ character: 24
+ line: 1
+ start:
+ character: 0
+ line: 1
+ uri: embedded_args.resource
+ name: do ${task} with ${thing}
+ tags: null
- !WorkspaceSymbol
container_name: embedded_keywords
data: null
@@ -4508,10 +4553,10 @@ result:
range:
end:
character: 23
- line: 24
+ line: 31
start:
character: 19
- line: 24
+ line: 31
uri: sematic_tokenizing.robot
name: ${a}
tags: null
@@ -4523,10 +4568,10 @@ result:
range:
end:
character: 31
- line: 24
+ line: 31
start:
character: 27
- line: 24
+ line: 31
uri: sematic_tokenizing.robot
name: ${b}
tags: null
@@ -4538,10 +4583,10 @@ result:
range:
end:
character: 39
- line: 24
+ line: 31
start:
character: 35
- line: 24
+ line: 31
uri: sematic_tokenizing.robot
name: ${c}
tags: null
@@ -4553,10 +4598,10 @@ result:
range:
end:
character: 26
- line: 19
+ line: 26
start:
character: 19
- line: 19
+ line: 26
uri: sematic_tokenizing.robot
name: ${type}
tags: null
@@ -4568,10 +4613,10 @@ result:
range:
end:
character: 40
- line: 1
+ line: 4
start:
character: 0
- line: 1
+ line: 4
uri: sematic_tokenizing.robot
name: Continue when iteration limit is reached
tags: null
@@ -4583,10 +4628,10 @@ result:
range:
end:
character: 24
- line: 7
+ line: 10
start:
character: 0
- line: 7
+ line: 10
uri: sematic_tokenizing.robot
name: Limit as iteration count
tags: null
@@ -4598,13 +4643,28 @@ result:
range:
end:
character: 12
- line: 18
+ line: 25
start:
character: 0
- line: 18
+ line: 25
uri: sematic_tokenizing.robot
name: do something
tags: null
+- !WorkspaceSymbol
+ container_name: sematic_tokenizing
+ data: null
+ kind: 5
+ location:
+ range:
+ end:
+ character: 27
+ line: 20
+ start:
+ character: 0
+ line: 20
+ uri: sematic_tokenizing.robot
+ name: some embedded args keywords
+ tags: null
- !WorkspaceSymbol
container_name: sematic_tokenizing
data: null
@@ -4613,10 +4673,10 @@ result:
range:
end:
character: 14
- line: 12
+ line: 15
start:
character: 0
- line: 12
+ line: 15
uri: sematic_tokenizing.robot
name: some templated
tags: null
@@ -4628,10 +4688,10 @@ result:
range:
end:
character: 8
- line: 23
+ line: 30
start:
character: 0
- line: 23
+ line: 30
uri: sematic_tokenizing.robot
name: template
tags: null
@@ -5115,6 +5175,21 @@ result:
uri: symbols.robot
name: ${second}
tags: null
+- !WorkspaceSymbol
+ container_name: symbols
+ data: null
+ kind: 13
+ location:
+ range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ uri: symbols.robot
+ name: ${var 1}
+ tags: null
- !WorkspaceSymbol
container_name: symbols
data: null
@@ -5161,6 +5236,21 @@ result:
uri: symbols.robot
name: first
tags: null
+- !WorkspaceSymbol
+ container_name: symbols
+ data: null
+ kind: 5
+ location:
+ range:
+ end:
+ character: 20
+ line: 63
+ start:
+ character: 0
+ line: 63
+ uri: symbols.robot
+ name: vars with equal sign
+ tags: null
- !WorkspaceSymbol
container_name: templates
data: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_workspace_symbols.test[as].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_workspace_symbols.test[as].out
index debc9dced..9266e05d0 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_workspace_symbols.test[as].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf60/test_workspace_symbols.test[as].out
@@ -359,6 +359,36 @@ result:
uri: duplicated.resource
name: a resource keyword B
tags: null
+- !WorkspaceSymbol
+ container_name: embedded_args
+ data: null
+ kind: 13
+ location:
+ range:
+ end:
+ character: 10
+ line: 1
+ start:
+ character: 3
+ line: 1
+ uri: embedded_args.resource
+ name: ${task}
+ tags: null
+- !WorkspaceSymbol
+ container_name: embedded_args
+ data: null
+ kind: 12
+ location:
+ range:
+ end:
+ character: 24
+ line: 1
+ start:
+ character: 0
+ line: 1
+ uri: embedded_args.resource
+ name: do ${task} with ${thing}
+ tags: null
- !WorkspaceSymbol
container_name: embedded_keywords
data: null
@@ -877,10 +907,10 @@ result:
range:
end:
character: 40
- line: 1
+ line: 4
start:
character: 0
- line: 1
+ line: 4
uri: sematic_tokenizing.robot
name: Continue when iteration limit is reached
tags: null
@@ -892,13 +922,28 @@ result:
range:
end:
character: 24
- line: 7
+ line: 10
start:
character: 0
- line: 7
+ line: 10
uri: sematic_tokenizing.robot
name: Limit as iteration count
tags: null
+- !WorkspaceSymbol
+ container_name: sematic_tokenizing
+ data: null
+ kind: 5
+ location:
+ range:
+ end:
+ character: 27
+ line: 20
+ start:
+ character: 0
+ line: 20
+ uri: sematic_tokenizing.robot
+ name: some embedded args keywords
+ tags: null
- !WorkspaceSymbol
container_name: some_tasks
data: null
@@ -974,6 +1019,21 @@ result:
uri: symbols.robot
name: a keywords
tags: null
+- !WorkspaceSymbol
+ container_name: symbols
+ data: null
+ kind: 5
+ location:
+ range:
+ end:
+ character: 20
+ line: 63
+ start:
+ character: 0
+ line: 63
+ uri: symbols.robot
+ name: vars with equal sign
+ tags: null
- !WorkspaceSymbol
container_name: templates
data: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_document_symbols.test[symbols.robot-057-001-unreachable_keyword].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_document_symbols.test[symbols.robot-057-001-unreachable_keyword].out
index f986fa559..ce528ed41 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_document_symbols.test[symbols.robot-057-001-unreachable_keyword].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_document_symbols.test[symbols.robot-057-001-unreachable_keyword].out
@@ -10,15 +10,15 @@ result: !DocumentSymbol
name: Keywords
range:
end:
- character: 16
- line: 60
+ character: 1
+ line: 61
start:
character: 0
line: 56
selection_range:
end:
- character: 16
- line: 60
+ character: 1
+ line: 61
start:
character: 0
line: 56
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_document_symbols.test[symbols.robot-057-002-unreachable_keyword].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_document_symbols.test[symbols.robot-057-002-unreachable_keyword].out
index 50ea0a76e..5a40a0a49 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_document_symbols.test[symbols.robot-057-002-unreachable_keyword].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_document_symbols.test[symbols.robot-057-002-unreachable_keyword].out
@@ -10,15 +10,15 @@ result: !DocumentSymbol
name: Keywords
range:
end:
- character: 16
- line: 60
+ character: 1
+ line: 61
start:
character: 0
line: 56
selection_range:
end:
- character: 16
- line: 60
+ character: 1
+ line: 61
start:
character: 0
line: 56
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_document_symbols.test[symbols.robot-057-003-unreachable_keyword].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_document_symbols.test[symbols.robot-057-003-unreachable_keyword].out
index 6f3deff6b..0644acb80 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_document_symbols.test[symbols.robot-057-003-unreachable_keyword].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_document_symbols.test[symbols.robot-057-003-unreachable_keyword].out
@@ -10,15 +10,15 @@ result: !DocumentSymbol
name: Keywords
range:
end:
- character: 16
- line: 60
+ character: 1
+ line: 61
start:
character: 0
line: 56
selection_range:
end:
- character: 16
- line: 60
+ character: 1
+ line: 61
start:
character: 0
line: 56
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_document_symbols.test[symbols.robot-064-011-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_document_symbols.test[symbols.robot-064-011-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..7eb4a249a
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_document_symbols.test[symbols.robot-064-011-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 11
+ line: 64
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 5
+ name: vars with equal sign
+ range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ selection_range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_document_symbols.test[symbols.robot-064-013-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_document_symbols.test[symbols.robot-064-013-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..2b7ef04bb
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_document_symbols.test[symbols.robot-064-013-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 13
+ line: 64
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 5
+ name: vars with equal sign
+ range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ selection_range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_document_symbols.test[symbols.robot-064-015-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_document_symbols.test[symbols.robot-064-015-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..c3fab8517
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_document_symbols.test[symbols.robot-064-015-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 15
+ line: 64
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 5
+ name: vars with equal sign
+ range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ selection_range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_document_symbols.test[symbols.robot-066-011-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_document_symbols.test[symbols.robot-066-011-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..557b4dad1
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_document_symbols.test[symbols.robot-066-011-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 11
+ line: 66
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 5
+ name: vars with equal sign
+ range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ selection_range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_document_symbols.test[symbols.robot-066-013-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_document_symbols.test[symbols.robot-066-013-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..48e572cfb
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_document_symbols.test[symbols.robot-066-013-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 13
+ line: 66
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 5
+ name: vars with equal sign
+ range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ selection_range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_document_symbols.test[symbols.robot-066-015-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_document_symbols.test[symbols.robot-066-015-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..a22958e53
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_document_symbols.test[symbols.robot-066-015-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 15
+ line: 66
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 5
+ name: vars with equal sign
+ range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ selection_range:
+ end:
+ character: 47
+ line: 69
+ start:
+ character: 0
+ line: 63
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_document_symbols.test[symbols.robot-068-006-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_document_symbols.test[symbols.robot-068-006-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..b63cdd9a9
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_document_symbols.test[symbols.robot-068-006-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 6
+ line: 68
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 13
+ name: ${var 1}
+ range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ selection_range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_document_symbols.test[symbols.robot-068-008-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_document_symbols.test[symbols.robot-068-008-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..54d37321c
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_document_symbols.test[symbols.robot-068-008-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 8
+ line: 68
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 13
+ name: ${var 1}
+ range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ selection_range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_document_symbols.test[symbols.robot-068-010-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_document_symbols.test[symbols.robot-068-010-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..b418b8053
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_document_symbols.test[symbols.robot-068-010-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 10
+ line: 68
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 13
+ name: ${var 1}
+ range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ selection_range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_references.test[references.robot-011-016-a_custom_library].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_references.test[references.robot-011-016-a_custom_library].out
deleted file mode 100644
index b1439e05a..000000000
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_references.test[references.robot-011-016-a_custom_library].out
+++ /dev/null
@@ -1,113 +0,0 @@
-data: !GeneratedTestData
- character: 16
- line: 11
- name: a custom library
-result:
-- !Location
- range:
- end:
- character: 26
- line: 1
- start:
- character: 18
- line: 1
- uri: resources/firstresource.resource
-- !Location
- range:
- end:
- character: 24
- line: 12
- start:
- character: 16
- line: 12
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 14
- start:
- character: 16
- line: 14
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 9
- start:
- character: 16
- line: 9
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 24
- line: 10
- start:
- character: 16
- line: 10
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 21
- line: 6
- start:
- character: 10
- line: 6
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 22
- line: 1
- start:
- character: 11
- line: 1
- uri: tests/external_libray.robot
-- !Location
- range:
- end:
- character: 43
- line: 14
- start:
- character: 18
- line: 14
- uri: tests/goto.robot
-- !Location
- range:
- end:
- character: 26
- line: 3
- start:
- character: 18
- line: 3
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 26
- line: 5
- start:
- character: 18
- line: 5
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 24
- line: 11
- start:
- character: 16
- line: 11
- uri: tests/references.robot
-- !Location
- range:
- end:
- character: 24
- line: 13
- start:
- character: 16
- line: 13
- uri: tests/references.robot
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_references.test[references.robot-011-020-a_custom_library].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_references.test[references.robot-011-020-a_custom_library].out
deleted file mode 100644
index 593481a6a..000000000
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_references.test[references.robot-011-020-a_custom_library].out
+++ /dev/null
@@ -1,113 +0,0 @@
-data: !GeneratedTestData
- character: 20
- line: 11
- name: a custom library
-result:
-- !Location
- range:
- end:
- character: 26
- line: 1
- start:
- character: 18
- line: 1
- uri: resources/firstresource.resource
-- !Location
- range:
- end:
- character: 24
- line: 12
- start:
- character: 16
- line: 12
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 14
- start:
- character: 16
- line: 14
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 9
- start:
- character: 16
- line: 9
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 24
- line: 10
- start:
- character: 16
- line: 10
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 21
- line: 6
- start:
- character: 10
- line: 6
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 22
- line: 1
- start:
- character: 11
- line: 1
- uri: tests/external_libray.robot
-- !Location
- range:
- end:
- character: 43
- line: 14
- start:
- character: 18
- line: 14
- uri: tests/goto.robot
-- !Location
- range:
- end:
- character: 26
- line: 3
- start:
- character: 18
- line: 3
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 26
- line: 5
- start:
- character: 18
- line: 5
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 24
- line: 11
- start:
- character: 16
- line: 11
- uri: tests/references.robot
-- !Location
- range:
- end:
- character: 24
- line: 13
- start:
- character: 16
- line: 13
- uri: tests/references.robot
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_references.test[references.robot-011-023-a_custom_library].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_references.test[references.robot-011-023-a_custom_library].out
deleted file mode 100644
index 5d68496c7..000000000
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_references.test[references.robot-011-023-a_custom_library].out
+++ /dev/null
@@ -1,113 +0,0 @@
-data: !GeneratedTestData
- character: 23
- line: 11
- name: a custom library
-result:
-- !Location
- range:
- end:
- character: 26
- line: 1
- start:
- character: 18
- line: 1
- uri: resources/firstresource.resource
-- !Location
- range:
- end:
- character: 24
- line: 12
- start:
- character: 16
- line: 12
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 14
- start:
- character: 16
- line: 14
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 9
- start:
- character: 16
- line: 9
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 24
- line: 10
- start:
- character: 16
- line: 10
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 21
- line: 6
- start:
- character: 10
- line: 6
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 22
- line: 1
- start:
- character: 11
- line: 1
- uri: tests/external_libray.robot
-- !Location
- range:
- end:
- character: 43
- line: 14
- start:
- character: 18
- line: 14
- uri: tests/goto.robot
-- !Location
- range:
- end:
- character: 26
- line: 3
- start:
- character: 18
- line: 3
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 26
- line: 5
- start:
- character: 18
- line: 5
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 24
- line: 11
- start:
- character: 16
- line: 11
- uri: tests/references.robot
-- !Location
- range:
- end:
- character: 24
- line: 13
- start:
- character: 16
- line: 13
- uri: tests/references.robot
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_references.test[references.robot-013-016-a_same_custom_library].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_references.test[references.robot-013-016-a_same_custom_library].out
deleted file mode 100644
index 9cfd35811..000000000
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_references.test[references.robot-013-016-a_same_custom_library].out
+++ /dev/null
@@ -1,113 +0,0 @@
-data: !GeneratedTestData
- character: 16
- line: 13
- name: a same custom library
-result:
-- !Location
- range:
- end:
- character: 26
- line: 1
- start:
- character: 18
- line: 1
- uri: resources/firstresource.resource
-- !Location
- range:
- end:
- character: 24
- line: 12
- start:
- character: 16
- line: 12
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 14
- start:
- character: 16
- line: 14
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 9
- start:
- character: 16
- line: 9
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 24
- line: 10
- start:
- character: 16
- line: 10
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 21
- line: 6
- start:
- character: 10
- line: 6
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 22
- line: 1
- start:
- character: 11
- line: 1
- uri: tests/external_libray.robot
-- !Location
- range:
- end:
- character: 43
- line: 14
- start:
- character: 18
- line: 14
- uri: tests/goto.robot
-- !Location
- range:
- end:
- character: 26
- line: 3
- start:
- character: 18
- line: 3
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 26
- line: 5
- start:
- character: 18
- line: 5
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 24
- line: 11
- start:
- character: 16
- line: 11
- uri: tests/references.robot
-- !Location
- range:
- end:
- character: 24
- line: 13
- start:
- character: 16
- line: 13
- uri: tests/references.robot
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_references.test[references.robot-013-020-a_same_custom_library].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_references.test[references.robot-013-020-a_same_custom_library].out
deleted file mode 100644
index aa48143f6..000000000
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_references.test[references.robot-013-020-a_same_custom_library].out
+++ /dev/null
@@ -1,113 +0,0 @@
-data: !GeneratedTestData
- character: 20
- line: 13
- name: a same custom library
-result:
-- !Location
- range:
- end:
- character: 26
- line: 1
- start:
- character: 18
- line: 1
- uri: resources/firstresource.resource
-- !Location
- range:
- end:
- character: 24
- line: 12
- start:
- character: 16
- line: 12
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 14
- start:
- character: 16
- line: 14
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 9
- start:
- character: 16
- line: 9
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 24
- line: 10
- start:
- character: 16
- line: 10
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 21
- line: 6
- start:
- character: 10
- line: 6
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 22
- line: 1
- start:
- character: 11
- line: 1
- uri: tests/external_libray.robot
-- !Location
- range:
- end:
- character: 43
- line: 14
- start:
- character: 18
- line: 14
- uri: tests/goto.robot
-- !Location
- range:
- end:
- character: 26
- line: 3
- start:
- character: 18
- line: 3
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 26
- line: 5
- start:
- character: 18
- line: 5
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 24
- line: 11
- start:
- character: 16
- line: 11
- uri: tests/references.robot
-- !Location
- range:
- end:
- character: 24
- line: 13
- start:
- character: 16
- line: 13
- uri: tests/references.robot
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_references.test[references.robot-013-023-a_same_custom_library].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_references.test[references.robot-013-023-a_same_custom_library].out
deleted file mode 100644
index 198ed3230..000000000
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_references.test[references.robot-013-023-a_same_custom_library].out
+++ /dev/null
@@ -1,113 +0,0 @@
-data: !GeneratedTestData
- character: 23
- line: 13
- name: a same custom library
-result:
-- !Location
- range:
- end:
- character: 26
- line: 1
- start:
- character: 18
- line: 1
- uri: resources/firstresource.resource
-- !Location
- range:
- end:
- character: 24
- line: 12
- start:
- character: 16
- line: 12
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 14
- start:
- character: 16
- line: 14
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 9
- start:
- character: 16
- line: 9
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 24
- line: 10
- start:
- character: 16
- line: 10
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 21
- line: 6
- start:
- character: 10
- line: 6
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 22
- line: 1
- start:
- character: 11
- line: 1
- uri: tests/external_libray.robot
-- !Location
- range:
- end:
- character: 43
- line: 14
- start:
- character: 18
- line: 14
- uri: tests/goto.robot
-- !Location
- range:
- end:
- character: 26
- line: 3
- start:
- character: 18
- line: 3
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 26
- line: 5
- start:
- character: 18
- line: 5
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 24
- line: 11
- start:
- character: 16
- line: 11
- uri: tests/references.robot
-- !Location
- range:
- end:
- character: 24
- line: 13
- start:
- character: 16
- line: 13
- uri: tests/references.robot
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[sematic_tokenizing.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[sematic_tokenizing.robot].out
index 0c5d7e025..aebcd6380 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[sematic_tokenizing.robot].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[sematic_tokenizing.robot].out
@@ -2,6 +2,21 @@ result: !SemanticTokens
data:
- 0
- 0
+ - 16
+ - 27
+ - 0
+ - 1
+ - 0
+ - 8
+ - 24
+ - 0
+ - 0
+ - 12
+ - 22
+ - 51
+ - 0
+ - 2
+ - 0
- 18
- 29
- 0
@@ -172,6 +187,61 @@ result: !SemanticTokens
- 0
- 2
- 0
+ - 27
+ - 33
+ - 1
+ - 1
+ - 4
+ - 3
+ - 39
+ - 0
+ - 0
+ - 3
+ - 4
+ - 36
+ - 2048
+ - 0
+ - 5
+ - 5
+ - 39
+ - 0
+ - 0
+ - 5
+ - 5
+ - 36
+ - 2048
+ - 1
+ - 4
+ - 13
+ - 51
+ - 0
+ - 0
+ - 13
+ - 1
+ - 21
+ - 0
+ - 0
+ - 1
+ - 3
+ - 39
+ - 0
+ - 0
+ - 3
+ - 4
+ - 36
+ - 2048
+ - 0
+ - 5
+ - 5
+ - 39
+ - 0
+ - 0
+ - 5
+ - 5
+ - 36
+ - 2048
+ - 2
+ - 0
- 16
- 32
- 0
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[symbols.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[symbols.robot].out
index 6e4bfd531..31ff5dc7f 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[symbols.robot].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[symbols.robot].out
@@ -290,4 +290,54 @@ result: !SemanticTokens
- 11
- 39
- 0
+ - 2
+ - 0
+ - 18
+ - 29
+ - 0
+ - 1
+ - 0
+ - 20
+ - 33
+ - 1
+ - 1
+ - 4
+ - 3
+ - 39
+ - 0
+ - 0
+ - 5
+ - 2
+ - 47
+ - 0
+ - 0
+ - 7
+ - 1
+ - 48
+ - 0
+ - 2
+ - 4
+ - 3
+ - 39
+ - 0
+ - 0
+ - 5
+ - 2
+ - 47
+ - 0
+ - 0
+ - 7
+ - 1
+ - 48
+ - 0
+ - 2
+ - 4
+ - 9
+ - 38
+ - 0
+ - 0
+ - 11
+ - 8
+ - 39
+ - 1024
result_id: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[versions--rf61--__init__.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[versions-rf61-__init__.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[versions--rf61--__init__.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[versions-rf61-__init__.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[versions--rf61--embedded_keywords.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[versions-rf61-embedded_keywords.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[versions--rf61--embedded_keywords.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[versions-rf61-embedded_keywords.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[versions--rf61--jsonvariables.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[versions-rf61-jsonvariables.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[versions--rf61--jsonvariables.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[versions-rf61-jsonvariables.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[versions--rf61--sometasks.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[versions-rf61-sometasks.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[versions--rf61--sometasks.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[versions-rf61-sometasks.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[versions--rf61--sub_suite--__init__.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[versions-rf61-sub_suite-__init__.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[versions--rf61--sub_suite--__init__.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[versions-rf61-sub_suite-__init__.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[versions--rf61--sub_suite--first.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[versions-rf61-sub_suite-first.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[versions--rf61--sub_suite--first.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[versions-rf61-sub_suite-first.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[versions--rf61--suite_with_name.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[versions-rf61-suite_with_name.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[versions--rf61--suite_with_name.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[versions-rf61-suite_with_name.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[versions--rf70--vartest.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[versions-rf70-vartest.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[versions--rf70--vartest.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[versions-rf70-vartest.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[versions--rf72--grouptest.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[versions-rf72-grouptest.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[versions--rf72--grouptest.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_semantic_tokens.test[versions-rf72-grouptest.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_workspace_symbols.test[].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_workspace_symbols.test[].out
index ebe4bbdf2..183fe528f 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_workspace_symbols.test[].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_workspace_symbols.test[].out
@@ -1379,6 +1379,51 @@ result:
uri: duplicated_resources.robot
name: first
tags: null
+- !WorkspaceSymbol
+ container_name: embedded_args
+ data: null
+ kind: 13
+ location:
+ range:
+ end:
+ character: 10
+ line: 1
+ start:
+ character: 3
+ line: 1
+ uri: embedded_args.resource
+ name: ${task}
+ tags: null
+- !WorkspaceSymbol
+ container_name: embedded_args
+ data: null
+ kind: 13
+ location:
+ range:
+ end:
+ character: 24
+ line: 1
+ start:
+ character: 16
+ line: 1
+ uri: embedded_args.resource
+ name: ${thing}
+ tags: null
+- !WorkspaceSymbol
+ container_name: embedded_args
+ data: null
+ kind: 12
+ location:
+ range:
+ end:
+ character: 24
+ line: 1
+ start:
+ character: 0
+ line: 1
+ uri: embedded_args.resource
+ name: do ${task} with ${thing}
+ tags: null
- !WorkspaceSymbol
container_name: embedded_keywords
data: null
@@ -4508,10 +4553,10 @@ result:
range:
end:
character: 23
- line: 24
+ line: 31
start:
character: 19
- line: 24
+ line: 31
uri: sematic_tokenizing.robot
name: ${a}
tags: null
@@ -4523,10 +4568,10 @@ result:
range:
end:
character: 31
- line: 24
+ line: 31
start:
character: 27
- line: 24
+ line: 31
uri: sematic_tokenizing.robot
name: ${b}
tags: null
@@ -4538,10 +4583,10 @@ result:
range:
end:
character: 39
- line: 24
+ line: 31
start:
character: 35
- line: 24
+ line: 31
uri: sematic_tokenizing.robot
name: ${c}
tags: null
@@ -4553,10 +4598,10 @@ result:
range:
end:
character: 26
- line: 19
+ line: 26
start:
character: 19
- line: 19
+ line: 26
uri: sematic_tokenizing.robot
name: ${type}
tags: null
@@ -4568,10 +4613,10 @@ result:
range:
end:
character: 40
- line: 1
+ line: 4
start:
character: 0
- line: 1
+ line: 4
uri: sematic_tokenizing.robot
name: Continue when iteration limit is reached
tags: null
@@ -4583,10 +4628,10 @@ result:
range:
end:
character: 24
- line: 7
+ line: 10
start:
character: 0
- line: 7
+ line: 10
uri: sematic_tokenizing.robot
name: Limit as iteration count
tags: null
@@ -4598,13 +4643,28 @@ result:
range:
end:
character: 12
- line: 18
+ line: 25
start:
character: 0
- line: 18
+ line: 25
uri: sematic_tokenizing.robot
name: do something
tags: null
+- !WorkspaceSymbol
+ container_name: sematic_tokenizing
+ data: null
+ kind: 5
+ location:
+ range:
+ end:
+ character: 27
+ line: 20
+ start:
+ character: 0
+ line: 20
+ uri: sematic_tokenizing.robot
+ name: some embedded args keywords
+ tags: null
- !WorkspaceSymbol
container_name: sematic_tokenizing
data: null
@@ -4613,10 +4673,10 @@ result:
range:
end:
character: 14
- line: 12
+ line: 15
start:
character: 0
- line: 12
+ line: 15
uri: sematic_tokenizing.robot
name: some templated
tags: null
@@ -4628,10 +4688,10 @@ result:
range:
end:
character: 8
- line: 23
+ line: 30
start:
character: 0
- line: 23
+ line: 30
uri: sematic_tokenizing.robot
name: template
tags: null
@@ -5115,6 +5175,21 @@ result:
uri: symbols.robot
name: ${second}
tags: null
+- !WorkspaceSymbol
+ container_name: symbols
+ data: null
+ kind: 13
+ location:
+ range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ uri: symbols.robot
+ name: ${var 1}
+ tags: null
- !WorkspaceSymbol
container_name: symbols
data: null
@@ -5161,6 +5236,21 @@ result:
uri: symbols.robot
name: first
tags: null
+- !WorkspaceSymbol
+ container_name: symbols
+ data: null
+ kind: 5
+ location:
+ range:
+ end:
+ character: 20
+ line: 63
+ start:
+ character: 0
+ line: 63
+ uri: symbols.robot
+ name: vars with equal sign
+ tags: null
- !WorkspaceSymbol
container_name: templates
data: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_workspace_symbols.test[as].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_workspace_symbols.test[as].out
index debc9dced..9266e05d0 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_workspace_symbols.test[as].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf61/test_workspace_symbols.test[as].out
@@ -359,6 +359,36 @@ result:
uri: duplicated.resource
name: a resource keyword B
tags: null
+- !WorkspaceSymbol
+ container_name: embedded_args
+ data: null
+ kind: 13
+ location:
+ range:
+ end:
+ character: 10
+ line: 1
+ start:
+ character: 3
+ line: 1
+ uri: embedded_args.resource
+ name: ${task}
+ tags: null
+- !WorkspaceSymbol
+ container_name: embedded_args
+ data: null
+ kind: 12
+ location:
+ range:
+ end:
+ character: 24
+ line: 1
+ start:
+ character: 0
+ line: 1
+ uri: embedded_args.resource
+ name: do ${task} with ${thing}
+ tags: null
- !WorkspaceSymbol
container_name: embedded_keywords
data: null
@@ -877,10 +907,10 @@ result:
range:
end:
character: 40
- line: 1
+ line: 4
start:
character: 0
- line: 1
+ line: 4
uri: sematic_tokenizing.robot
name: Continue when iteration limit is reached
tags: null
@@ -892,13 +922,28 @@ result:
range:
end:
character: 24
- line: 7
+ line: 10
start:
character: 0
- line: 7
+ line: 10
uri: sematic_tokenizing.robot
name: Limit as iteration count
tags: null
+- !WorkspaceSymbol
+ container_name: sematic_tokenizing
+ data: null
+ kind: 5
+ location:
+ range:
+ end:
+ character: 27
+ line: 20
+ start:
+ character: 0
+ line: 20
+ uri: sematic_tokenizing.robot
+ name: some embedded args keywords
+ tags: null
- !WorkspaceSymbol
container_name: some_tasks
data: null
@@ -974,6 +1019,21 @@ result:
uri: symbols.robot
name: a keywords
tags: null
+- !WorkspaceSymbol
+ container_name: symbols
+ data: null
+ kind: 5
+ location:
+ range:
+ end:
+ character: 20
+ line: 63
+ start:
+ character: 0
+ line: 63
+ uri: symbols.robot
+ name: vars with equal sign
+ tags: null
- !WorkspaceSymbol
container_name: templates
data: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_document_symbols.test[symbols.robot-057-001-unreachable_keyword].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_document_symbols.test[symbols.robot-057-001-unreachable_keyword].out
index f986fa559..ce528ed41 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_document_symbols.test[symbols.robot-057-001-unreachable_keyword].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_document_symbols.test[symbols.robot-057-001-unreachable_keyword].out
@@ -10,15 +10,15 @@ result: !DocumentSymbol
name: Keywords
range:
end:
- character: 16
- line: 60
+ character: 1
+ line: 61
start:
character: 0
line: 56
selection_range:
end:
- character: 16
- line: 60
+ character: 1
+ line: 61
start:
character: 0
line: 56
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_document_symbols.test[symbols.robot-057-002-unreachable_keyword].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_document_symbols.test[symbols.robot-057-002-unreachable_keyword].out
index 50ea0a76e..5a40a0a49 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_document_symbols.test[symbols.robot-057-002-unreachable_keyword].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_document_symbols.test[symbols.robot-057-002-unreachable_keyword].out
@@ -10,15 +10,15 @@ result: !DocumentSymbol
name: Keywords
range:
end:
- character: 16
- line: 60
+ character: 1
+ line: 61
start:
character: 0
line: 56
selection_range:
end:
- character: 16
- line: 60
+ character: 1
+ line: 61
start:
character: 0
line: 56
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_document_symbols.test[symbols.robot-057-003-unreachable_keyword].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_document_symbols.test[symbols.robot-057-003-unreachable_keyword].out
index 6f3deff6b..0644acb80 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_document_symbols.test[symbols.robot-057-003-unreachable_keyword].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_document_symbols.test[symbols.robot-057-003-unreachable_keyword].out
@@ -10,15 +10,15 @@ result: !DocumentSymbol
name: Keywords
range:
end:
- character: 16
- line: 60
+ character: 1
+ line: 61
start:
character: 0
line: 56
selection_range:
end:
- character: 16
- line: 60
+ character: 1
+ line: 61
start:
character: 0
line: 56
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_document_symbols.test[symbols.robot-064-011-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_document_symbols.test[symbols.robot-064-011-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..0a5deace8
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_document_symbols.test[symbols.robot-064-011-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 11
+ line: 64
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 13
+ name: ${var 1}=
+ range:
+ end:
+ character: 18
+ line: 64
+ start:
+ character: 9
+ line: 64
+ selection_range:
+ end:
+ character: 18
+ line: 64
+ start:
+ character: 9
+ line: 64
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_document_symbols.test[symbols.robot-064-013-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_document_symbols.test[symbols.robot-064-013-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..42fbdf6ce
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_document_symbols.test[symbols.robot-064-013-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 13
+ line: 64
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 13
+ name: ${var 1}=
+ range:
+ end:
+ character: 18
+ line: 64
+ start:
+ character: 9
+ line: 64
+ selection_range:
+ end:
+ character: 18
+ line: 64
+ start:
+ character: 9
+ line: 64
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_document_symbols.test[symbols.robot-064-015-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_document_symbols.test[symbols.robot-064-015-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..314d4be00
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_document_symbols.test[symbols.robot-064-015-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 15
+ line: 64
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 13
+ name: ${var 1}=
+ range:
+ end:
+ character: 18
+ line: 64
+ start:
+ character: 9
+ line: 64
+ selection_range:
+ end:
+ character: 18
+ line: 64
+ start:
+ character: 9
+ line: 64
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_document_symbols.test[symbols.robot-066-011-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_document_symbols.test[symbols.robot-066-011-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..a3a7da2d9
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_document_symbols.test[symbols.robot-066-011-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 11
+ line: 66
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 13
+ name: ${var 2} =
+ range:
+ end:
+ character: 19
+ line: 66
+ start:
+ character: 9
+ line: 66
+ selection_range:
+ end:
+ character: 19
+ line: 66
+ start:
+ character: 9
+ line: 66
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_document_symbols.test[symbols.robot-066-013-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_document_symbols.test[symbols.robot-066-013-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..57340c762
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_document_symbols.test[symbols.robot-066-013-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 13
+ line: 66
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 13
+ name: ${var 2} =
+ range:
+ end:
+ character: 19
+ line: 66
+ start:
+ character: 9
+ line: 66
+ selection_range:
+ end:
+ character: 19
+ line: 66
+ start:
+ character: 9
+ line: 66
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_document_symbols.test[symbols.robot-066-015-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_document_symbols.test[symbols.robot-066-015-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..820ba80ac
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_document_symbols.test[symbols.robot-066-015-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 15
+ line: 66
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 13
+ name: ${var 2} =
+ range:
+ end:
+ character: 19
+ line: 66
+ start:
+ character: 9
+ line: 66
+ selection_range:
+ end:
+ character: 19
+ line: 66
+ start:
+ character: 9
+ line: 66
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_document_symbols.test[symbols.robot-068-006-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_document_symbols.test[symbols.robot-068-006-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..b63cdd9a9
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_document_symbols.test[symbols.robot-068-006-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 6
+ line: 68
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 13
+ name: ${var 1}
+ range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ selection_range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_document_symbols.test[symbols.robot-068-008-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_document_symbols.test[symbols.robot-068-008-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..54d37321c
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_document_symbols.test[symbols.robot-068-008-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 8
+ line: 68
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 13
+ name: ${var 1}
+ range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ selection_range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_document_symbols.test[symbols.robot-068-010-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_document_symbols.test[symbols.robot-068-010-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..b418b8053
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_document_symbols.test[symbols.robot-068-010-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 10
+ line: 68
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 13
+ name: ${var 1}
+ range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ selection_range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_references.test[references.robot-011-016-a_custom_library].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_references.test[references.robot-011-016-a_custom_library].out
deleted file mode 100644
index b1439e05a..000000000
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_references.test[references.robot-011-016-a_custom_library].out
+++ /dev/null
@@ -1,113 +0,0 @@
-data: !GeneratedTestData
- character: 16
- line: 11
- name: a custom library
-result:
-- !Location
- range:
- end:
- character: 26
- line: 1
- start:
- character: 18
- line: 1
- uri: resources/firstresource.resource
-- !Location
- range:
- end:
- character: 24
- line: 12
- start:
- character: 16
- line: 12
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 14
- start:
- character: 16
- line: 14
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 9
- start:
- character: 16
- line: 9
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 24
- line: 10
- start:
- character: 16
- line: 10
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 21
- line: 6
- start:
- character: 10
- line: 6
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 22
- line: 1
- start:
- character: 11
- line: 1
- uri: tests/external_libray.robot
-- !Location
- range:
- end:
- character: 43
- line: 14
- start:
- character: 18
- line: 14
- uri: tests/goto.robot
-- !Location
- range:
- end:
- character: 26
- line: 3
- start:
- character: 18
- line: 3
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 26
- line: 5
- start:
- character: 18
- line: 5
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 24
- line: 11
- start:
- character: 16
- line: 11
- uri: tests/references.robot
-- !Location
- range:
- end:
- character: 24
- line: 13
- start:
- character: 16
- line: 13
- uri: tests/references.robot
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_references.test[references.robot-011-020-a_custom_library].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_references.test[references.robot-011-020-a_custom_library].out
deleted file mode 100644
index 593481a6a..000000000
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_references.test[references.robot-011-020-a_custom_library].out
+++ /dev/null
@@ -1,113 +0,0 @@
-data: !GeneratedTestData
- character: 20
- line: 11
- name: a custom library
-result:
-- !Location
- range:
- end:
- character: 26
- line: 1
- start:
- character: 18
- line: 1
- uri: resources/firstresource.resource
-- !Location
- range:
- end:
- character: 24
- line: 12
- start:
- character: 16
- line: 12
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 14
- start:
- character: 16
- line: 14
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 9
- start:
- character: 16
- line: 9
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 24
- line: 10
- start:
- character: 16
- line: 10
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 21
- line: 6
- start:
- character: 10
- line: 6
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 22
- line: 1
- start:
- character: 11
- line: 1
- uri: tests/external_libray.robot
-- !Location
- range:
- end:
- character: 43
- line: 14
- start:
- character: 18
- line: 14
- uri: tests/goto.robot
-- !Location
- range:
- end:
- character: 26
- line: 3
- start:
- character: 18
- line: 3
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 26
- line: 5
- start:
- character: 18
- line: 5
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 24
- line: 11
- start:
- character: 16
- line: 11
- uri: tests/references.robot
-- !Location
- range:
- end:
- character: 24
- line: 13
- start:
- character: 16
- line: 13
- uri: tests/references.robot
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_references.test[references.robot-011-023-a_custom_library].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_references.test[references.robot-011-023-a_custom_library].out
deleted file mode 100644
index 5d68496c7..000000000
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_references.test[references.robot-011-023-a_custom_library].out
+++ /dev/null
@@ -1,113 +0,0 @@
-data: !GeneratedTestData
- character: 23
- line: 11
- name: a custom library
-result:
-- !Location
- range:
- end:
- character: 26
- line: 1
- start:
- character: 18
- line: 1
- uri: resources/firstresource.resource
-- !Location
- range:
- end:
- character: 24
- line: 12
- start:
- character: 16
- line: 12
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 14
- start:
- character: 16
- line: 14
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 9
- start:
- character: 16
- line: 9
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 24
- line: 10
- start:
- character: 16
- line: 10
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 21
- line: 6
- start:
- character: 10
- line: 6
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 22
- line: 1
- start:
- character: 11
- line: 1
- uri: tests/external_libray.robot
-- !Location
- range:
- end:
- character: 43
- line: 14
- start:
- character: 18
- line: 14
- uri: tests/goto.robot
-- !Location
- range:
- end:
- character: 26
- line: 3
- start:
- character: 18
- line: 3
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 26
- line: 5
- start:
- character: 18
- line: 5
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 24
- line: 11
- start:
- character: 16
- line: 11
- uri: tests/references.robot
-- !Location
- range:
- end:
- character: 24
- line: 13
- start:
- character: 16
- line: 13
- uri: tests/references.robot
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_references.test[references.robot-013-016-a_same_custom_library].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_references.test[references.robot-013-016-a_same_custom_library].out
deleted file mode 100644
index 9cfd35811..000000000
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_references.test[references.robot-013-016-a_same_custom_library].out
+++ /dev/null
@@ -1,113 +0,0 @@
-data: !GeneratedTestData
- character: 16
- line: 13
- name: a same custom library
-result:
-- !Location
- range:
- end:
- character: 26
- line: 1
- start:
- character: 18
- line: 1
- uri: resources/firstresource.resource
-- !Location
- range:
- end:
- character: 24
- line: 12
- start:
- character: 16
- line: 12
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 14
- start:
- character: 16
- line: 14
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 9
- start:
- character: 16
- line: 9
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 24
- line: 10
- start:
- character: 16
- line: 10
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 21
- line: 6
- start:
- character: 10
- line: 6
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 22
- line: 1
- start:
- character: 11
- line: 1
- uri: tests/external_libray.robot
-- !Location
- range:
- end:
- character: 43
- line: 14
- start:
- character: 18
- line: 14
- uri: tests/goto.robot
-- !Location
- range:
- end:
- character: 26
- line: 3
- start:
- character: 18
- line: 3
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 26
- line: 5
- start:
- character: 18
- line: 5
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 24
- line: 11
- start:
- character: 16
- line: 11
- uri: tests/references.robot
-- !Location
- range:
- end:
- character: 24
- line: 13
- start:
- character: 16
- line: 13
- uri: tests/references.robot
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_references.test[references.robot-013-020-a_same_custom_library].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_references.test[references.robot-013-020-a_same_custom_library].out
deleted file mode 100644
index aa48143f6..000000000
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_references.test[references.robot-013-020-a_same_custom_library].out
+++ /dev/null
@@ -1,113 +0,0 @@
-data: !GeneratedTestData
- character: 20
- line: 13
- name: a same custom library
-result:
-- !Location
- range:
- end:
- character: 26
- line: 1
- start:
- character: 18
- line: 1
- uri: resources/firstresource.resource
-- !Location
- range:
- end:
- character: 24
- line: 12
- start:
- character: 16
- line: 12
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 14
- start:
- character: 16
- line: 14
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 9
- start:
- character: 16
- line: 9
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 24
- line: 10
- start:
- character: 16
- line: 10
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 21
- line: 6
- start:
- character: 10
- line: 6
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 22
- line: 1
- start:
- character: 11
- line: 1
- uri: tests/external_libray.robot
-- !Location
- range:
- end:
- character: 43
- line: 14
- start:
- character: 18
- line: 14
- uri: tests/goto.robot
-- !Location
- range:
- end:
- character: 26
- line: 3
- start:
- character: 18
- line: 3
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 26
- line: 5
- start:
- character: 18
- line: 5
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 24
- line: 11
- start:
- character: 16
- line: 11
- uri: tests/references.robot
-- !Location
- range:
- end:
- character: 24
- line: 13
- start:
- character: 16
- line: 13
- uri: tests/references.robot
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_references.test[references.robot-013-023-a_same_custom_library].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_references.test[references.robot-013-023-a_same_custom_library].out
deleted file mode 100644
index 198ed3230..000000000
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_references.test[references.robot-013-023-a_same_custom_library].out
+++ /dev/null
@@ -1,113 +0,0 @@
-data: !GeneratedTestData
- character: 23
- line: 13
- name: a same custom library
-result:
-- !Location
- range:
- end:
- character: 26
- line: 1
- start:
- character: 18
- line: 1
- uri: resources/firstresource.resource
-- !Location
- range:
- end:
- character: 24
- line: 12
- start:
- character: 16
- line: 12
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 14
- start:
- character: 16
- line: 14
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 9
- start:
- character: 16
- line: 9
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 24
- line: 10
- start:
- character: 16
- line: 10
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 21
- line: 6
- start:
- character: 10
- line: 6
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 22
- line: 1
- start:
- character: 11
- line: 1
- uri: tests/external_libray.robot
-- !Location
- range:
- end:
- character: 43
- line: 14
- start:
- character: 18
- line: 14
- uri: tests/goto.robot
-- !Location
- range:
- end:
- character: 26
- line: 3
- start:
- character: 18
- line: 3
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 26
- line: 5
- start:
- character: 18
- line: 5
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 24
- line: 11
- start:
- character: 16
- line: 11
- uri: tests/references.robot
-- !Location
- range:
- end:
- character: 24
- line: 13
- start:
- character: 16
- line: 13
- uri: tests/references.robot
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[sematic_tokenizing.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[sematic_tokenizing.robot].out
index 0c5d7e025..aebcd6380 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[sematic_tokenizing.robot].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[sematic_tokenizing.robot].out
@@ -2,6 +2,21 @@ result: !SemanticTokens
data:
- 0
- 0
+ - 16
+ - 27
+ - 0
+ - 1
+ - 0
+ - 8
+ - 24
+ - 0
+ - 0
+ - 12
+ - 22
+ - 51
+ - 0
+ - 2
+ - 0
- 18
- 29
- 0
@@ -172,6 +187,61 @@ result: !SemanticTokens
- 0
- 2
- 0
+ - 27
+ - 33
+ - 1
+ - 1
+ - 4
+ - 3
+ - 39
+ - 0
+ - 0
+ - 3
+ - 4
+ - 36
+ - 2048
+ - 0
+ - 5
+ - 5
+ - 39
+ - 0
+ - 0
+ - 5
+ - 5
+ - 36
+ - 2048
+ - 1
+ - 4
+ - 13
+ - 51
+ - 0
+ - 0
+ - 13
+ - 1
+ - 21
+ - 0
+ - 0
+ - 1
+ - 3
+ - 39
+ - 0
+ - 0
+ - 3
+ - 4
+ - 36
+ - 2048
+ - 0
+ - 5
+ - 5
+ - 39
+ - 0
+ - 0
+ - 5
+ - 5
+ - 36
+ - 2048
+ - 2
+ - 0
- 16
- 32
- 0
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[symbols.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[symbols.robot].out
index 8dcbcd13a..19a2ce1a9 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[symbols.robot].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[symbols.robot].out
@@ -290,4 +290,44 @@ result: !SemanticTokens
- 11
- 39
- 0
+ - 2
+ - 0
+ - 18
+ - 29
+ - 0
+ - 1
+ - 0
+ - 20
+ - 33
+ - 1
+ - 1
+ - 4
+ - 3
+ - 55
+ - 0
+ - 0
+ - 5
+ - 9
+ - 38
+ - 0
+ - 2
+ - 4
+ - 3
+ - 55
+ - 0
+ - 0
+ - 5
+ - 10
+ - 38
+ - 0
+ - 2
+ - 4
+ - 9
+ - 38
+ - 0
+ - 0
+ - 11
+ - 8
+ - 39
+ - 1024
result_id: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[versions--rf61--__init__.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[versions-rf61-__init__.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[versions--rf61--__init__.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[versions-rf61-__init__.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[versions--rf61--embedded_keywords.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[versions-rf61-embedded_keywords.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[versions--rf61--embedded_keywords.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[versions-rf61-embedded_keywords.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[versions--rf61--jsonvariables.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[versions-rf61-jsonvariables.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[versions--rf61--jsonvariables.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[versions-rf61-jsonvariables.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[versions--rf61--sometasks.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[versions-rf61-sometasks.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[versions--rf61--sometasks.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[versions-rf61-sometasks.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[versions--rf61--sub_suite--__init__.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[versions-rf61-sub_suite-__init__.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[versions--rf61--sub_suite--__init__.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[versions-rf61-sub_suite-__init__.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[versions--rf61--sub_suite--first.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[versions-rf61-sub_suite-first.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[versions--rf61--sub_suite--first.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[versions-rf61-sub_suite-first.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[versions--rf61--suite_with_name.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[versions-rf61-suite_with_name.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[versions--rf61--suite_with_name.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[versions-rf61-suite_with_name.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[versions--rf70--vartest.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[versions-rf70-vartest.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[versions--rf70--vartest.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[versions-rf70-vartest.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[versions--rf72--grouptest.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[versions-rf72-grouptest.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[versions--rf72--grouptest.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_semantic_tokens.test[versions-rf72-grouptest.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_workspace_symbols.test[].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_workspace_symbols.test[].out
index e22235dbb..bab761dd5 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_workspace_symbols.test[].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_workspace_symbols.test[].out
@@ -1379,6 +1379,51 @@ result:
uri: duplicated_resources.robot
name: first
tags: null
+- !WorkspaceSymbol
+ container_name: embedded_args
+ data: null
+ kind: 13
+ location:
+ range:
+ end:
+ character: 10
+ line: 1
+ start:
+ character: 3
+ line: 1
+ uri: embedded_args.resource
+ name: ${task}
+ tags: null
+- !WorkspaceSymbol
+ container_name: embedded_args
+ data: null
+ kind: 13
+ location:
+ range:
+ end:
+ character: 24
+ line: 1
+ start:
+ character: 16
+ line: 1
+ uri: embedded_args.resource
+ name: ${thing}
+ tags: null
+- !WorkspaceSymbol
+ container_name: embedded_args
+ data: null
+ kind: 12
+ location:
+ range:
+ end:
+ character: 24
+ line: 1
+ start:
+ character: 0
+ line: 1
+ uri: embedded_args.resource
+ name: do ${task} with ${thing}
+ tags: null
- !WorkspaceSymbol
container_name: embedded_keywords
data: null
@@ -3802,10 +3847,10 @@ result:
location:
range:
end:
- character: 21
+ character: 20
line: 210
start:
- character: 11
+ character: 13
line: 210
uri: references.robot
name: ${counter}
@@ -3832,10 +3877,10 @@ result:
location:
range:
end:
- character: 13
+ character: 12
line: 260
start:
- character: 9
+ character: 11
line: 260
uri: references.robot
name: ${i}
@@ -3847,10 +3892,10 @@ result:
location:
range:
end:
- character: 24
+ character: 23
line: 247
start:
- character: 15
+ character: 17
line: 247
uri: references.robot
name: ${my var}
@@ -3877,10 +3922,10 @@ result:
location:
range:
end:
- character: 20
+ character: 19
line: 226
start:
- character: 11
+ character: 13
line: 226
uri: references.robot
name: ${output}
@@ -4568,10 +4613,10 @@ result:
range:
end:
character: 23
- line: 24
+ line: 31
start:
character: 19
- line: 24
+ line: 31
uri: sematic_tokenizing.robot
name: ${a}
tags: null
@@ -4583,10 +4628,10 @@ result:
range:
end:
character: 31
- line: 24
+ line: 31
start:
character: 27
- line: 24
+ line: 31
uri: sematic_tokenizing.robot
name: ${b}
tags: null
@@ -4598,10 +4643,10 @@ result:
range:
end:
character: 39
- line: 24
+ line: 31
start:
character: 35
- line: 24
+ line: 31
uri: sematic_tokenizing.robot
name: ${c}
tags: null
@@ -4613,10 +4658,10 @@ result:
range:
end:
character: 26
- line: 19
+ line: 26
start:
character: 19
- line: 19
+ line: 26
uri: sematic_tokenizing.robot
name: ${type}
tags: null
@@ -4628,10 +4673,10 @@ result:
range:
end:
character: 40
- line: 1
+ line: 4
start:
character: 0
- line: 1
+ line: 4
uri: sematic_tokenizing.robot
name: Continue when iteration limit is reached
tags: null
@@ -4643,10 +4688,10 @@ result:
range:
end:
character: 24
- line: 7
+ line: 10
start:
character: 0
- line: 7
+ line: 10
uri: sematic_tokenizing.robot
name: Limit as iteration count
tags: null
@@ -4658,13 +4703,28 @@ result:
range:
end:
character: 12
- line: 18
+ line: 25
start:
character: 0
- line: 18
+ line: 25
uri: sematic_tokenizing.robot
name: do something
tags: null
+- !WorkspaceSymbol
+ container_name: sematic_tokenizing
+ data: null
+ kind: 5
+ location:
+ range:
+ end:
+ character: 27
+ line: 20
+ start:
+ character: 0
+ line: 20
+ uri: sematic_tokenizing.robot
+ name: some embedded args keywords
+ tags: null
- !WorkspaceSymbol
container_name: sematic_tokenizing
data: null
@@ -4673,10 +4733,10 @@ result:
range:
end:
character: 14
- line: 12
+ line: 15
start:
character: 0
- line: 12
+ line: 15
uri: sematic_tokenizing.robot
name: some templated
tags: null
@@ -4688,10 +4748,10 @@ result:
range:
end:
character: 8
- line: 23
+ line: 30
start:
character: 0
- line: 23
+ line: 30
uri: sematic_tokenizing.robot
name: template
tags: null
@@ -5152,10 +5212,10 @@ result:
location:
range:
end:
- character: 21
+ character: 20
line: 19
start:
- character: 9
+ character: 11
line: 19
uri: symbols.robot
name: ${local_var}
@@ -5190,6 +5250,36 @@ result:
uri: symbols.robot
name: ${second}
tags: null
+- !WorkspaceSymbol
+ container_name: symbols
+ data: null
+ kind: 13
+ location:
+ range:
+ end:
+ character: 16
+ line: 64
+ start:
+ character: 11
+ line: 64
+ uri: symbols.robot
+ name: ${var 1}
+ tags: null
+- !WorkspaceSymbol
+ container_name: symbols
+ data: null
+ kind: 13
+ location:
+ range:
+ end:
+ character: 16
+ line: 66
+ start:
+ character: 11
+ line: 66
+ uri: symbols.robot
+ name: ${var 2}
+ tags: null
- !WorkspaceSymbol
container_name: symbols
data: null
@@ -5236,6 +5326,21 @@ result:
uri: symbols.robot
name: first
tags: null
+- !WorkspaceSymbol
+ container_name: symbols
+ data: null
+ kind: 5
+ location:
+ range:
+ end:
+ character: 20
+ line: 63
+ start:
+ character: 0
+ line: 63
+ uri: symbols.robot
+ name: vars with equal sign
+ tags: null
- !WorkspaceSymbol
container_name: templates
data: null
@@ -6878,10 +6983,10 @@ result:
location:
range:
end:
- character: 20
+ character: 19
line: 4
start:
- character: 11
+ character: 13
line: 4
uri: vartest.robot
name: ${RESULT}
@@ -6893,10 +6998,10 @@ result:
location:
range:
end:
- character: 20
+ character: 19
line: 10
start:
- character: 11
+ character: 13
line: 10
uri: vartest.robot
name: ${RESULT}
@@ -6908,10 +7013,10 @@ result:
location:
range:
end:
- character: 20
+ character: 19
line: 17
start:
- character: 11
+ character: 13
line: 17
uri: vartest.robot
name: ${RESULT}
@@ -6983,10 +7088,10 @@ result:
location:
range:
end:
- character: 15
+ character: 14
line: 2
start:
- character: 11
+ character: 13
line: 2
uri: vartest.robot
name: ${a}
@@ -6998,10 +7103,10 @@ result:
location:
range:
end:
- character: 15
+ character: 14
line: 8
start:
- character: 11
+ character: 13
line: 8
uri: vartest.robot
name: ${a}
@@ -7013,10 +7118,10 @@ result:
location:
range:
end:
- character: 15
+ character: 14
line: 15
start:
- character: 11
+ character: 13
line: 15
uri: vartest.robot
name: ${a}
@@ -7028,10 +7133,10 @@ result:
location:
range:
end:
- character: 15
+ character: 14
line: 3
start:
- character: 11
+ character: 13
line: 3
uri: vartest.robot
name: ${b}
@@ -7043,10 +7148,10 @@ result:
location:
range:
end:
- character: 15
+ character: 14
line: 9
start:
- character: 11
+ character: 13
line: 9
uri: vartest.robot
name: ${b}
@@ -7058,10 +7163,10 @@ result:
location:
range:
end:
- character: 15
+ character: 14
line: 16
start:
- character: 11
+ character: 13
line: 16
uri: vartest.robot
name: ${b}
@@ -7073,10 +7178,10 @@ result:
location:
range:
end:
- character: 15
+ character: 14
line: 21
start:
- character: 11
+ character: 13
line: 21
uri: vartest.robot
name: '&{a}'
@@ -7088,10 +7193,10 @@ result:
location:
range:
end:
- character: 15
+ character: 14
line: 25
start:
- character: 11
+ character: 13
line: 25
uri: vartest.robot
name: '@{a}'
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_workspace_symbols.test[as].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_workspace_symbols.test[as].out
index debc9dced..9266e05d0 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_workspace_symbols.test[as].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf70/test_workspace_symbols.test[as].out
@@ -359,6 +359,36 @@ result:
uri: duplicated.resource
name: a resource keyword B
tags: null
+- !WorkspaceSymbol
+ container_name: embedded_args
+ data: null
+ kind: 13
+ location:
+ range:
+ end:
+ character: 10
+ line: 1
+ start:
+ character: 3
+ line: 1
+ uri: embedded_args.resource
+ name: ${task}
+ tags: null
+- !WorkspaceSymbol
+ container_name: embedded_args
+ data: null
+ kind: 12
+ location:
+ range:
+ end:
+ character: 24
+ line: 1
+ start:
+ character: 0
+ line: 1
+ uri: embedded_args.resource
+ name: do ${task} with ${thing}
+ tags: null
- !WorkspaceSymbol
container_name: embedded_keywords
data: null
@@ -877,10 +907,10 @@ result:
range:
end:
character: 40
- line: 1
+ line: 4
start:
character: 0
- line: 1
+ line: 4
uri: sematic_tokenizing.robot
name: Continue when iteration limit is reached
tags: null
@@ -892,13 +922,28 @@ result:
range:
end:
character: 24
- line: 7
+ line: 10
start:
character: 0
- line: 7
+ line: 10
uri: sematic_tokenizing.robot
name: Limit as iteration count
tags: null
+- !WorkspaceSymbol
+ container_name: sematic_tokenizing
+ data: null
+ kind: 5
+ location:
+ range:
+ end:
+ character: 27
+ line: 20
+ start:
+ character: 0
+ line: 20
+ uri: sematic_tokenizing.robot
+ name: some embedded args keywords
+ tags: null
- !WorkspaceSymbol
container_name: some_tasks
data: null
@@ -974,6 +1019,21 @@ result:
uri: symbols.robot
name: a keywords
tags: null
+- !WorkspaceSymbol
+ container_name: symbols
+ data: null
+ kind: 5
+ location:
+ range:
+ end:
+ character: 20
+ line: 63
+ start:
+ character: 0
+ line: 63
+ uri: symbols.robot
+ name: vars with equal sign
+ tags: null
- !WorkspaceSymbol
container_name: templates
data: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_document_symbols.test[symbols.robot-057-001-unreachable_keyword].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_document_symbols.test[symbols.robot-057-001-unreachable_keyword].out
index f986fa559..ce528ed41 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_document_symbols.test[symbols.robot-057-001-unreachable_keyword].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_document_symbols.test[symbols.robot-057-001-unreachable_keyword].out
@@ -10,15 +10,15 @@ result: !DocumentSymbol
name: Keywords
range:
end:
- character: 16
- line: 60
+ character: 1
+ line: 61
start:
character: 0
line: 56
selection_range:
end:
- character: 16
- line: 60
+ character: 1
+ line: 61
start:
character: 0
line: 56
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_document_symbols.test[symbols.robot-057-002-unreachable_keyword].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_document_symbols.test[symbols.robot-057-002-unreachable_keyword].out
index 50ea0a76e..5a40a0a49 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_document_symbols.test[symbols.robot-057-002-unreachable_keyword].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_document_symbols.test[symbols.robot-057-002-unreachable_keyword].out
@@ -10,15 +10,15 @@ result: !DocumentSymbol
name: Keywords
range:
end:
- character: 16
- line: 60
+ character: 1
+ line: 61
start:
character: 0
line: 56
selection_range:
end:
- character: 16
- line: 60
+ character: 1
+ line: 61
start:
character: 0
line: 56
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_document_symbols.test[symbols.robot-057-003-unreachable_keyword].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_document_symbols.test[symbols.robot-057-003-unreachable_keyword].out
index 6f3deff6b..0644acb80 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_document_symbols.test[symbols.robot-057-003-unreachable_keyword].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_document_symbols.test[symbols.robot-057-003-unreachable_keyword].out
@@ -10,15 +10,15 @@ result: !DocumentSymbol
name: Keywords
range:
end:
- character: 16
- line: 60
+ character: 1
+ line: 61
start:
character: 0
line: 56
selection_range:
end:
- character: 16
- line: 60
+ character: 1
+ line: 61
start:
character: 0
line: 56
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_document_symbols.test[symbols.robot-064-011-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_document_symbols.test[symbols.robot-064-011-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..0a5deace8
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_document_symbols.test[symbols.robot-064-011-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 11
+ line: 64
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 13
+ name: ${var 1}=
+ range:
+ end:
+ character: 18
+ line: 64
+ start:
+ character: 9
+ line: 64
+ selection_range:
+ end:
+ character: 18
+ line: 64
+ start:
+ character: 9
+ line: 64
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_document_symbols.test[symbols.robot-064-013-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_document_symbols.test[symbols.robot-064-013-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..42fbdf6ce
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_document_symbols.test[symbols.robot-064-013-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 13
+ line: 64
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 13
+ name: ${var 1}=
+ range:
+ end:
+ character: 18
+ line: 64
+ start:
+ character: 9
+ line: 64
+ selection_range:
+ end:
+ character: 18
+ line: 64
+ start:
+ character: 9
+ line: 64
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_document_symbols.test[symbols.robot-064-015-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_document_symbols.test[symbols.robot-064-015-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..314d4be00
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_document_symbols.test[symbols.robot-064-015-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 15
+ line: 64
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 13
+ name: ${var 1}=
+ range:
+ end:
+ character: 18
+ line: 64
+ start:
+ character: 9
+ line: 64
+ selection_range:
+ end:
+ character: 18
+ line: 64
+ start:
+ character: 9
+ line: 64
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_document_symbols.test[symbols.robot-066-011-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_document_symbols.test[symbols.robot-066-011-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..a3a7da2d9
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_document_symbols.test[symbols.robot-066-011-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 11
+ line: 66
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 13
+ name: ${var 2} =
+ range:
+ end:
+ character: 19
+ line: 66
+ start:
+ character: 9
+ line: 66
+ selection_range:
+ end:
+ character: 19
+ line: 66
+ start:
+ character: 9
+ line: 66
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_document_symbols.test[symbols.robot-066-013-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_document_symbols.test[symbols.robot-066-013-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..57340c762
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_document_symbols.test[symbols.robot-066-013-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 13
+ line: 66
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 13
+ name: ${var 2} =
+ range:
+ end:
+ character: 19
+ line: 66
+ start:
+ character: 9
+ line: 66
+ selection_range:
+ end:
+ character: 19
+ line: 66
+ start:
+ character: 9
+ line: 66
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_document_symbols.test[symbols.robot-066-015-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_document_symbols.test[symbols.robot-066-015-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..820ba80ac
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_document_symbols.test[symbols.robot-066-015-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 15
+ line: 66
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 13
+ name: ${var 2} =
+ range:
+ end:
+ character: 19
+ line: 66
+ start:
+ character: 9
+ line: 66
+ selection_range:
+ end:
+ character: 19
+ line: 66
+ start:
+ character: 9
+ line: 66
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_document_symbols.test[symbols.robot-068-006-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_document_symbols.test[symbols.robot-068-006-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..b63cdd9a9
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_document_symbols.test[symbols.robot-068-006-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 6
+ line: 68
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 13
+ name: ${var 1}
+ range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ selection_range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_document_symbols.test[symbols.robot-068-008-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_document_symbols.test[symbols.robot-068-008-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..54d37321c
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_document_symbols.test[symbols.robot-068-008-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 8
+ line: 68
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 13
+ name: ${var 1}
+ range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ selection_range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_document_symbols.test[symbols.robot-068-010-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_document_symbols.test[symbols.robot-068-010-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..b418b8053
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_document_symbols.test[symbols.robot-068-010-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 10
+ line: 68
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 13
+ name: ${var 1}
+ range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ selection_range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_references.test[references.robot-011-016-a_custom_library].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_references.test[references.robot-011-016-a_custom_library].out
deleted file mode 100644
index b1439e05a..000000000
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_references.test[references.robot-011-016-a_custom_library].out
+++ /dev/null
@@ -1,113 +0,0 @@
-data: !GeneratedTestData
- character: 16
- line: 11
- name: a custom library
-result:
-- !Location
- range:
- end:
- character: 26
- line: 1
- start:
- character: 18
- line: 1
- uri: resources/firstresource.resource
-- !Location
- range:
- end:
- character: 24
- line: 12
- start:
- character: 16
- line: 12
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 14
- start:
- character: 16
- line: 14
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 9
- start:
- character: 16
- line: 9
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 24
- line: 10
- start:
- character: 16
- line: 10
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 21
- line: 6
- start:
- character: 10
- line: 6
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 22
- line: 1
- start:
- character: 11
- line: 1
- uri: tests/external_libray.robot
-- !Location
- range:
- end:
- character: 43
- line: 14
- start:
- character: 18
- line: 14
- uri: tests/goto.robot
-- !Location
- range:
- end:
- character: 26
- line: 3
- start:
- character: 18
- line: 3
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 26
- line: 5
- start:
- character: 18
- line: 5
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 24
- line: 11
- start:
- character: 16
- line: 11
- uri: tests/references.robot
-- !Location
- range:
- end:
- character: 24
- line: 13
- start:
- character: 16
- line: 13
- uri: tests/references.robot
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_references.test[references.robot-011-020-a_custom_library].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_references.test[references.robot-011-020-a_custom_library].out
deleted file mode 100644
index 593481a6a..000000000
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_references.test[references.robot-011-020-a_custom_library].out
+++ /dev/null
@@ -1,113 +0,0 @@
-data: !GeneratedTestData
- character: 20
- line: 11
- name: a custom library
-result:
-- !Location
- range:
- end:
- character: 26
- line: 1
- start:
- character: 18
- line: 1
- uri: resources/firstresource.resource
-- !Location
- range:
- end:
- character: 24
- line: 12
- start:
- character: 16
- line: 12
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 14
- start:
- character: 16
- line: 14
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 9
- start:
- character: 16
- line: 9
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 24
- line: 10
- start:
- character: 16
- line: 10
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 21
- line: 6
- start:
- character: 10
- line: 6
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 22
- line: 1
- start:
- character: 11
- line: 1
- uri: tests/external_libray.robot
-- !Location
- range:
- end:
- character: 43
- line: 14
- start:
- character: 18
- line: 14
- uri: tests/goto.robot
-- !Location
- range:
- end:
- character: 26
- line: 3
- start:
- character: 18
- line: 3
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 26
- line: 5
- start:
- character: 18
- line: 5
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 24
- line: 11
- start:
- character: 16
- line: 11
- uri: tests/references.robot
-- !Location
- range:
- end:
- character: 24
- line: 13
- start:
- character: 16
- line: 13
- uri: tests/references.robot
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_references.test[references.robot-011-023-a_custom_library].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_references.test[references.robot-011-023-a_custom_library].out
deleted file mode 100644
index 5d68496c7..000000000
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_references.test[references.robot-011-023-a_custom_library].out
+++ /dev/null
@@ -1,113 +0,0 @@
-data: !GeneratedTestData
- character: 23
- line: 11
- name: a custom library
-result:
-- !Location
- range:
- end:
- character: 26
- line: 1
- start:
- character: 18
- line: 1
- uri: resources/firstresource.resource
-- !Location
- range:
- end:
- character: 24
- line: 12
- start:
- character: 16
- line: 12
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 14
- start:
- character: 16
- line: 14
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 9
- start:
- character: 16
- line: 9
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 24
- line: 10
- start:
- character: 16
- line: 10
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 21
- line: 6
- start:
- character: 10
- line: 6
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 22
- line: 1
- start:
- character: 11
- line: 1
- uri: tests/external_libray.robot
-- !Location
- range:
- end:
- character: 43
- line: 14
- start:
- character: 18
- line: 14
- uri: tests/goto.robot
-- !Location
- range:
- end:
- character: 26
- line: 3
- start:
- character: 18
- line: 3
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 26
- line: 5
- start:
- character: 18
- line: 5
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 24
- line: 11
- start:
- character: 16
- line: 11
- uri: tests/references.robot
-- !Location
- range:
- end:
- character: 24
- line: 13
- start:
- character: 16
- line: 13
- uri: tests/references.robot
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_references.test[references.robot-013-016-a_same_custom_library].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_references.test[references.robot-013-016-a_same_custom_library].out
deleted file mode 100644
index 9cfd35811..000000000
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_references.test[references.robot-013-016-a_same_custom_library].out
+++ /dev/null
@@ -1,113 +0,0 @@
-data: !GeneratedTestData
- character: 16
- line: 13
- name: a same custom library
-result:
-- !Location
- range:
- end:
- character: 26
- line: 1
- start:
- character: 18
- line: 1
- uri: resources/firstresource.resource
-- !Location
- range:
- end:
- character: 24
- line: 12
- start:
- character: 16
- line: 12
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 14
- start:
- character: 16
- line: 14
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 9
- start:
- character: 16
- line: 9
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 24
- line: 10
- start:
- character: 16
- line: 10
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 21
- line: 6
- start:
- character: 10
- line: 6
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 22
- line: 1
- start:
- character: 11
- line: 1
- uri: tests/external_libray.robot
-- !Location
- range:
- end:
- character: 43
- line: 14
- start:
- character: 18
- line: 14
- uri: tests/goto.robot
-- !Location
- range:
- end:
- character: 26
- line: 3
- start:
- character: 18
- line: 3
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 26
- line: 5
- start:
- character: 18
- line: 5
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 24
- line: 11
- start:
- character: 16
- line: 11
- uri: tests/references.robot
-- !Location
- range:
- end:
- character: 24
- line: 13
- start:
- character: 16
- line: 13
- uri: tests/references.robot
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_references.test[references.robot-013-020-a_same_custom_library].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_references.test[references.robot-013-020-a_same_custom_library].out
deleted file mode 100644
index aa48143f6..000000000
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_references.test[references.robot-013-020-a_same_custom_library].out
+++ /dev/null
@@ -1,113 +0,0 @@
-data: !GeneratedTestData
- character: 20
- line: 13
- name: a same custom library
-result:
-- !Location
- range:
- end:
- character: 26
- line: 1
- start:
- character: 18
- line: 1
- uri: resources/firstresource.resource
-- !Location
- range:
- end:
- character: 24
- line: 12
- start:
- character: 16
- line: 12
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 14
- start:
- character: 16
- line: 14
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 9
- start:
- character: 16
- line: 9
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 24
- line: 10
- start:
- character: 16
- line: 10
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 21
- line: 6
- start:
- character: 10
- line: 6
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 22
- line: 1
- start:
- character: 11
- line: 1
- uri: tests/external_libray.robot
-- !Location
- range:
- end:
- character: 43
- line: 14
- start:
- character: 18
- line: 14
- uri: tests/goto.robot
-- !Location
- range:
- end:
- character: 26
- line: 3
- start:
- character: 18
- line: 3
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 26
- line: 5
- start:
- character: 18
- line: 5
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 24
- line: 11
- start:
- character: 16
- line: 11
- uri: tests/references.robot
-- !Location
- range:
- end:
- character: 24
- line: 13
- start:
- character: 16
- line: 13
- uri: tests/references.robot
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_references.test[references.robot-013-023-a_same_custom_library].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_references.test[references.robot-013-023-a_same_custom_library].out
deleted file mode 100644
index 198ed3230..000000000
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_references.test[references.robot-013-023-a_same_custom_library].out
+++ /dev/null
@@ -1,113 +0,0 @@
-data: !GeneratedTestData
- character: 23
- line: 13
- name: a same custom library
-result:
-- !Location
- range:
- end:
- character: 26
- line: 1
- start:
- character: 18
- line: 1
- uri: resources/firstresource.resource
-- !Location
- range:
- end:
- character: 24
- line: 12
- start:
- character: 16
- line: 12
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 14
- start:
- character: 16
- line: 14
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 9
- start:
- character: 16
- line: 9
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 24
- line: 10
- start:
- character: 16
- line: 10
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 21
- line: 6
- start:
- character: 10
- line: 6
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 22
- line: 1
- start:
- character: 11
- line: 1
- uri: tests/external_libray.robot
-- !Location
- range:
- end:
- character: 43
- line: 14
- start:
- character: 18
- line: 14
- uri: tests/goto.robot
-- !Location
- range:
- end:
- character: 26
- line: 3
- start:
- character: 18
- line: 3
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 26
- line: 5
- start:
- character: 18
- line: 5
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 24
- line: 11
- start:
- character: 16
- line: 11
- uri: tests/references.robot
-- !Location
- range:
- end:
- character: 24
- line: 13
- start:
- character: 16
- line: 13
- uri: tests/references.robot
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[sematic_tokenizing.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[sematic_tokenizing.robot].out
index 0c5d7e025..aebcd6380 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[sematic_tokenizing.robot].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[sematic_tokenizing.robot].out
@@ -2,6 +2,21 @@ result: !SemanticTokens
data:
- 0
- 0
+ - 16
+ - 27
+ - 0
+ - 1
+ - 0
+ - 8
+ - 24
+ - 0
+ - 0
+ - 12
+ - 22
+ - 51
+ - 0
+ - 2
+ - 0
- 18
- 29
- 0
@@ -172,6 +187,61 @@ result: !SemanticTokens
- 0
- 2
- 0
+ - 27
+ - 33
+ - 1
+ - 1
+ - 4
+ - 3
+ - 39
+ - 0
+ - 0
+ - 3
+ - 4
+ - 36
+ - 2048
+ - 0
+ - 5
+ - 5
+ - 39
+ - 0
+ - 0
+ - 5
+ - 5
+ - 36
+ - 2048
+ - 1
+ - 4
+ - 13
+ - 51
+ - 0
+ - 0
+ - 13
+ - 1
+ - 21
+ - 0
+ - 0
+ - 1
+ - 3
+ - 39
+ - 0
+ - 0
+ - 3
+ - 4
+ - 36
+ - 2048
+ - 0
+ - 5
+ - 5
+ - 39
+ - 0
+ - 0
+ - 5
+ - 5
+ - 36
+ - 2048
+ - 2
+ - 0
- 16
- 32
- 0
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[symbols.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[symbols.robot].out
index 8dcbcd13a..19a2ce1a9 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[symbols.robot].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[symbols.robot].out
@@ -290,4 +290,44 @@ result: !SemanticTokens
- 11
- 39
- 0
+ - 2
+ - 0
+ - 18
+ - 29
+ - 0
+ - 1
+ - 0
+ - 20
+ - 33
+ - 1
+ - 1
+ - 4
+ - 3
+ - 55
+ - 0
+ - 0
+ - 5
+ - 9
+ - 38
+ - 0
+ - 2
+ - 4
+ - 3
+ - 55
+ - 0
+ - 0
+ - 5
+ - 10
+ - 38
+ - 0
+ - 2
+ - 4
+ - 9
+ - 38
+ - 0
+ - 0
+ - 11
+ - 8
+ - 39
+ - 1024
result_id: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[versions--rf61--__init__.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[versions-rf61-__init__.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[versions--rf61--__init__.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[versions-rf61-__init__.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[versions--rf61--embedded_keywords.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[versions-rf61-embedded_keywords.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[versions--rf61--embedded_keywords.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[versions-rf61-embedded_keywords.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[versions--rf61--jsonvariables.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[versions-rf61-jsonvariables.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[versions--rf61--jsonvariables.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[versions-rf61-jsonvariables.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[versions--rf61--sometasks.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[versions-rf61-sometasks.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[versions--rf61--sometasks.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[versions-rf61-sometasks.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[versions--rf61--sub_suite--__init__.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[versions-rf61-sub_suite-__init__.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[versions--rf61--sub_suite--__init__.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[versions-rf61-sub_suite-__init__.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[versions--rf61--sub_suite--first.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[versions-rf61-sub_suite-first.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[versions--rf61--sub_suite--first.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[versions-rf61-sub_suite-first.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[versions--rf61--suite_with_name.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[versions-rf61-suite_with_name.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[versions--rf61--suite_with_name.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[versions-rf61-suite_with_name.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[versions--rf70--vartest.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[versions-rf70-vartest.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[versions--rf70--vartest.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[versions-rf70-vartest.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[versions--rf72--grouptest.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[versions-rf72-grouptest.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[versions--rf72--grouptest.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_semantic_tokens.test[versions-rf72-grouptest.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_workspace_symbols.test[].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_workspace_symbols.test[].out
index e22235dbb..bab761dd5 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_workspace_symbols.test[].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_workspace_symbols.test[].out
@@ -1379,6 +1379,51 @@ result:
uri: duplicated_resources.robot
name: first
tags: null
+- !WorkspaceSymbol
+ container_name: embedded_args
+ data: null
+ kind: 13
+ location:
+ range:
+ end:
+ character: 10
+ line: 1
+ start:
+ character: 3
+ line: 1
+ uri: embedded_args.resource
+ name: ${task}
+ tags: null
+- !WorkspaceSymbol
+ container_name: embedded_args
+ data: null
+ kind: 13
+ location:
+ range:
+ end:
+ character: 24
+ line: 1
+ start:
+ character: 16
+ line: 1
+ uri: embedded_args.resource
+ name: ${thing}
+ tags: null
+- !WorkspaceSymbol
+ container_name: embedded_args
+ data: null
+ kind: 12
+ location:
+ range:
+ end:
+ character: 24
+ line: 1
+ start:
+ character: 0
+ line: 1
+ uri: embedded_args.resource
+ name: do ${task} with ${thing}
+ tags: null
- !WorkspaceSymbol
container_name: embedded_keywords
data: null
@@ -3802,10 +3847,10 @@ result:
location:
range:
end:
- character: 21
+ character: 20
line: 210
start:
- character: 11
+ character: 13
line: 210
uri: references.robot
name: ${counter}
@@ -3832,10 +3877,10 @@ result:
location:
range:
end:
- character: 13
+ character: 12
line: 260
start:
- character: 9
+ character: 11
line: 260
uri: references.robot
name: ${i}
@@ -3847,10 +3892,10 @@ result:
location:
range:
end:
- character: 24
+ character: 23
line: 247
start:
- character: 15
+ character: 17
line: 247
uri: references.robot
name: ${my var}
@@ -3877,10 +3922,10 @@ result:
location:
range:
end:
- character: 20
+ character: 19
line: 226
start:
- character: 11
+ character: 13
line: 226
uri: references.robot
name: ${output}
@@ -4568,10 +4613,10 @@ result:
range:
end:
character: 23
- line: 24
+ line: 31
start:
character: 19
- line: 24
+ line: 31
uri: sematic_tokenizing.robot
name: ${a}
tags: null
@@ -4583,10 +4628,10 @@ result:
range:
end:
character: 31
- line: 24
+ line: 31
start:
character: 27
- line: 24
+ line: 31
uri: sematic_tokenizing.robot
name: ${b}
tags: null
@@ -4598,10 +4643,10 @@ result:
range:
end:
character: 39
- line: 24
+ line: 31
start:
character: 35
- line: 24
+ line: 31
uri: sematic_tokenizing.robot
name: ${c}
tags: null
@@ -4613,10 +4658,10 @@ result:
range:
end:
character: 26
- line: 19
+ line: 26
start:
character: 19
- line: 19
+ line: 26
uri: sematic_tokenizing.robot
name: ${type}
tags: null
@@ -4628,10 +4673,10 @@ result:
range:
end:
character: 40
- line: 1
+ line: 4
start:
character: 0
- line: 1
+ line: 4
uri: sematic_tokenizing.robot
name: Continue when iteration limit is reached
tags: null
@@ -4643,10 +4688,10 @@ result:
range:
end:
character: 24
- line: 7
+ line: 10
start:
character: 0
- line: 7
+ line: 10
uri: sematic_tokenizing.robot
name: Limit as iteration count
tags: null
@@ -4658,13 +4703,28 @@ result:
range:
end:
character: 12
- line: 18
+ line: 25
start:
character: 0
- line: 18
+ line: 25
uri: sematic_tokenizing.robot
name: do something
tags: null
+- !WorkspaceSymbol
+ container_name: sematic_tokenizing
+ data: null
+ kind: 5
+ location:
+ range:
+ end:
+ character: 27
+ line: 20
+ start:
+ character: 0
+ line: 20
+ uri: sematic_tokenizing.robot
+ name: some embedded args keywords
+ tags: null
- !WorkspaceSymbol
container_name: sematic_tokenizing
data: null
@@ -4673,10 +4733,10 @@ result:
range:
end:
character: 14
- line: 12
+ line: 15
start:
character: 0
- line: 12
+ line: 15
uri: sematic_tokenizing.robot
name: some templated
tags: null
@@ -4688,10 +4748,10 @@ result:
range:
end:
character: 8
- line: 23
+ line: 30
start:
character: 0
- line: 23
+ line: 30
uri: sematic_tokenizing.robot
name: template
tags: null
@@ -5152,10 +5212,10 @@ result:
location:
range:
end:
- character: 21
+ character: 20
line: 19
start:
- character: 9
+ character: 11
line: 19
uri: symbols.robot
name: ${local_var}
@@ -5190,6 +5250,36 @@ result:
uri: symbols.robot
name: ${second}
tags: null
+- !WorkspaceSymbol
+ container_name: symbols
+ data: null
+ kind: 13
+ location:
+ range:
+ end:
+ character: 16
+ line: 64
+ start:
+ character: 11
+ line: 64
+ uri: symbols.robot
+ name: ${var 1}
+ tags: null
+- !WorkspaceSymbol
+ container_name: symbols
+ data: null
+ kind: 13
+ location:
+ range:
+ end:
+ character: 16
+ line: 66
+ start:
+ character: 11
+ line: 66
+ uri: symbols.robot
+ name: ${var 2}
+ tags: null
- !WorkspaceSymbol
container_name: symbols
data: null
@@ -5236,6 +5326,21 @@ result:
uri: symbols.robot
name: first
tags: null
+- !WorkspaceSymbol
+ container_name: symbols
+ data: null
+ kind: 5
+ location:
+ range:
+ end:
+ character: 20
+ line: 63
+ start:
+ character: 0
+ line: 63
+ uri: symbols.robot
+ name: vars with equal sign
+ tags: null
- !WorkspaceSymbol
container_name: templates
data: null
@@ -6878,10 +6983,10 @@ result:
location:
range:
end:
- character: 20
+ character: 19
line: 4
start:
- character: 11
+ character: 13
line: 4
uri: vartest.robot
name: ${RESULT}
@@ -6893,10 +6998,10 @@ result:
location:
range:
end:
- character: 20
+ character: 19
line: 10
start:
- character: 11
+ character: 13
line: 10
uri: vartest.robot
name: ${RESULT}
@@ -6908,10 +7013,10 @@ result:
location:
range:
end:
- character: 20
+ character: 19
line: 17
start:
- character: 11
+ character: 13
line: 17
uri: vartest.robot
name: ${RESULT}
@@ -6983,10 +7088,10 @@ result:
location:
range:
end:
- character: 15
+ character: 14
line: 2
start:
- character: 11
+ character: 13
line: 2
uri: vartest.robot
name: ${a}
@@ -6998,10 +7103,10 @@ result:
location:
range:
end:
- character: 15
+ character: 14
line: 8
start:
- character: 11
+ character: 13
line: 8
uri: vartest.robot
name: ${a}
@@ -7013,10 +7118,10 @@ result:
location:
range:
end:
- character: 15
+ character: 14
line: 15
start:
- character: 11
+ character: 13
line: 15
uri: vartest.robot
name: ${a}
@@ -7028,10 +7133,10 @@ result:
location:
range:
end:
- character: 15
+ character: 14
line: 3
start:
- character: 11
+ character: 13
line: 3
uri: vartest.robot
name: ${b}
@@ -7043,10 +7148,10 @@ result:
location:
range:
end:
- character: 15
+ character: 14
line: 9
start:
- character: 11
+ character: 13
line: 9
uri: vartest.robot
name: ${b}
@@ -7058,10 +7163,10 @@ result:
location:
range:
end:
- character: 15
+ character: 14
line: 16
start:
- character: 11
+ character: 13
line: 16
uri: vartest.robot
name: ${b}
@@ -7073,10 +7178,10 @@ result:
location:
range:
end:
- character: 15
+ character: 14
line: 21
start:
- character: 11
+ character: 13
line: 21
uri: vartest.robot
name: '&{a}'
@@ -7088,10 +7193,10 @@ result:
location:
range:
end:
- character: 15
+ character: 14
line: 25
start:
- character: 11
+ character: 13
line: 25
uri: vartest.robot
name: '@{a}'
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_workspace_symbols.test[as].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_workspace_symbols.test[as].out
index debc9dced..9266e05d0 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_workspace_symbols.test[as].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf71/test_workspace_symbols.test[as].out
@@ -359,6 +359,36 @@ result:
uri: duplicated.resource
name: a resource keyword B
tags: null
+- !WorkspaceSymbol
+ container_name: embedded_args
+ data: null
+ kind: 13
+ location:
+ range:
+ end:
+ character: 10
+ line: 1
+ start:
+ character: 3
+ line: 1
+ uri: embedded_args.resource
+ name: ${task}
+ tags: null
+- !WorkspaceSymbol
+ container_name: embedded_args
+ data: null
+ kind: 12
+ location:
+ range:
+ end:
+ character: 24
+ line: 1
+ start:
+ character: 0
+ line: 1
+ uri: embedded_args.resource
+ name: do ${task} with ${thing}
+ tags: null
- !WorkspaceSymbol
container_name: embedded_keywords
data: null
@@ -877,10 +907,10 @@ result:
range:
end:
character: 40
- line: 1
+ line: 4
start:
character: 0
- line: 1
+ line: 4
uri: sematic_tokenizing.robot
name: Continue when iteration limit is reached
tags: null
@@ -892,13 +922,28 @@ result:
range:
end:
character: 24
- line: 7
+ line: 10
start:
character: 0
- line: 7
+ line: 10
uri: sematic_tokenizing.robot
name: Limit as iteration count
tags: null
+- !WorkspaceSymbol
+ container_name: sematic_tokenizing
+ data: null
+ kind: 5
+ location:
+ range:
+ end:
+ character: 27
+ line: 20
+ start:
+ character: 0
+ line: 20
+ uri: sematic_tokenizing.robot
+ name: some embedded args keywords
+ tags: null
- !WorkspaceSymbol
container_name: some_tasks
data: null
@@ -974,6 +1019,21 @@ result:
uri: symbols.robot
name: a keywords
tags: null
+- !WorkspaceSymbol
+ container_name: symbols
+ data: null
+ kind: 5
+ location:
+ range:
+ end:
+ character: 20
+ line: 63
+ start:
+ character: 0
+ line: 63
+ uri: symbols.robot
+ name: vars with equal sign
+ tags: null
- !WorkspaceSymbol
container_name: templates
data: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_document_symbols.test[symbols.robot-057-001-unreachable_keyword].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_document_symbols.test[symbols.robot-057-001-unreachable_keyword].out
index f986fa559..ce528ed41 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_document_symbols.test[symbols.robot-057-001-unreachable_keyword].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_document_symbols.test[symbols.robot-057-001-unreachable_keyword].out
@@ -10,15 +10,15 @@ result: !DocumentSymbol
name: Keywords
range:
end:
- character: 16
- line: 60
+ character: 1
+ line: 61
start:
character: 0
line: 56
selection_range:
end:
- character: 16
- line: 60
+ character: 1
+ line: 61
start:
character: 0
line: 56
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_document_symbols.test[symbols.robot-057-002-unreachable_keyword].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_document_symbols.test[symbols.robot-057-002-unreachable_keyword].out
index 50ea0a76e..5a40a0a49 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_document_symbols.test[symbols.robot-057-002-unreachable_keyword].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_document_symbols.test[symbols.robot-057-002-unreachable_keyword].out
@@ -10,15 +10,15 @@ result: !DocumentSymbol
name: Keywords
range:
end:
- character: 16
- line: 60
+ character: 1
+ line: 61
start:
character: 0
line: 56
selection_range:
end:
- character: 16
- line: 60
+ character: 1
+ line: 61
start:
character: 0
line: 56
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_document_symbols.test[symbols.robot-057-003-unreachable_keyword].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_document_symbols.test[symbols.robot-057-003-unreachable_keyword].out
index 6f3deff6b..0644acb80 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_document_symbols.test[symbols.robot-057-003-unreachable_keyword].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_document_symbols.test[symbols.robot-057-003-unreachable_keyword].out
@@ -10,15 +10,15 @@ result: !DocumentSymbol
name: Keywords
range:
end:
- character: 16
- line: 60
+ character: 1
+ line: 61
start:
character: 0
line: 56
selection_range:
end:
- character: 16
- line: 60
+ character: 1
+ line: 61
start:
character: 0
line: 56
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_document_symbols.test[symbols.robot-064-011-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_document_symbols.test[symbols.robot-064-011-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..0a5deace8
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_document_symbols.test[symbols.robot-064-011-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 11
+ line: 64
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 13
+ name: ${var 1}=
+ range:
+ end:
+ character: 18
+ line: 64
+ start:
+ character: 9
+ line: 64
+ selection_range:
+ end:
+ character: 18
+ line: 64
+ start:
+ character: 9
+ line: 64
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_document_symbols.test[symbols.robot-064-013-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_document_symbols.test[symbols.robot-064-013-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..42fbdf6ce
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_document_symbols.test[symbols.robot-064-013-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 13
+ line: 64
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 13
+ name: ${var 1}=
+ range:
+ end:
+ character: 18
+ line: 64
+ start:
+ character: 9
+ line: 64
+ selection_range:
+ end:
+ character: 18
+ line: 64
+ start:
+ character: 9
+ line: 64
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_document_symbols.test[symbols.robot-064-015-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_document_symbols.test[symbols.robot-064-015-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..314d4be00
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_document_symbols.test[symbols.robot-064-015-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 15
+ line: 64
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 13
+ name: ${var 1}=
+ range:
+ end:
+ character: 18
+ line: 64
+ start:
+ character: 9
+ line: 64
+ selection_range:
+ end:
+ character: 18
+ line: 64
+ start:
+ character: 9
+ line: 64
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_document_symbols.test[symbols.robot-066-011-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_document_symbols.test[symbols.robot-066-011-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..a3a7da2d9
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_document_symbols.test[symbols.robot-066-011-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 11
+ line: 66
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 13
+ name: ${var 2} =
+ range:
+ end:
+ character: 19
+ line: 66
+ start:
+ character: 9
+ line: 66
+ selection_range:
+ end:
+ character: 19
+ line: 66
+ start:
+ character: 9
+ line: 66
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_document_symbols.test[symbols.robot-066-013-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_document_symbols.test[symbols.robot-066-013-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..57340c762
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_document_symbols.test[symbols.robot-066-013-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 13
+ line: 66
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 13
+ name: ${var 2} =
+ range:
+ end:
+ character: 19
+ line: 66
+ start:
+ character: 9
+ line: 66
+ selection_range:
+ end:
+ character: 19
+ line: 66
+ start:
+ character: 9
+ line: 66
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_document_symbols.test[symbols.robot-066-015-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_document_symbols.test[symbols.robot-066-015-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..820ba80ac
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_document_symbols.test[symbols.robot-066-015-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 15
+ line: 66
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 13
+ name: ${var 2} =
+ range:
+ end:
+ character: 19
+ line: 66
+ start:
+ character: 9
+ line: 66
+ selection_range:
+ end:
+ character: 19
+ line: 66
+ start:
+ character: 9
+ line: 66
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_document_symbols.test[symbols.robot-068-006-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_document_symbols.test[symbols.robot-068-006-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..b63cdd9a9
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_document_symbols.test[symbols.robot-068-006-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 6
+ line: 68
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 13
+ name: ${var 1}
+ range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ selection_range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_document_symbols.test[symbols.robot-068-008-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_document_symbols.test[symbols.robot-068-008-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..54d37321c
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_document_symbols.test[symbols.robot-068-008-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 8
+ line: 68
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 13
+ name: ${var 1}
+ range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ selection_range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_document_symbols.test[symbols.robot-068-010-variable_with_space_and_equal_sign].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_document_symbols.test[symbols.robot-068-010-variable_with_space_and_equal_sign].out
new file mode 100644
index 000000000..b418b8053
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_document_symbols.test[symbols.robot-068-010-variable_with_space_and_equal_sign].out
@@ -0,0 +1,25 @@
+data: !GeneratedTestData
+ character: 10
+ line: 68
+ name: variable with space and equal sign
+result: !DocumentSymbol
+ children: []
+ deprecated: null
+ detail: null
+ kind: 13
+ name: ${var 1}
+ range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ selection_range:
+ end:
+ character: 12
+ line: 68
+ start:
+ character: 4
+ line: 68
+ tags: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_references.test[references.robot-011-016-a_custom_library].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_references.test[references.robot-011-016-a_custom_library].out
deleted file mode 100644
index b1439e05a..000000000
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_references.test[references.robot-011-016-a_custom_library].out
+++ /dev/null
@@ -1,113 +0,0 @@
-data: !GeneratedTestData
- character: 16
- line: 11
- name: a custom library
-result:
-- !Location
- range:
- end:
- character: 26
- line: 1
- start:
- character: 18
- line: 1
- uri: resources/firstresource.resource
-- !Location
- range:
- end:
- character: 24
- line: 12
- start:
- character: 16
- line: 12
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 14
- start:
- character: 16
- line: 14
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 9
- start:
- character: 16
- line: 9
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 24
- line: 10
- start:
- character: 16
- line: 10
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 21
- line: 6
- start:
- character: 10
- line: 6
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 22
- line: 1
- start:
- character: 11
- line: 1
- uri: tests/external_libray.robot
-- !Location
- range:
- end:
- character: 43
- line: 14
- start:
- character: 18
- line: 14
- uri: tests/goto.robot
-- !Location
- range:
- end:
- character: 26
- line: 3
- start:
- character: 18
- line: 3
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 26
- line: 5
- start:
- character: 18
- line: 5
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 24
- line: 11
- start:
- character: 16
- line: 11
- uri: tests/references.robot
-- !Location
- range:
- end:
- character: 24
- line: 13
- start:
- character: 16
- line: 13
- uri: tests/references.robot
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_references.test[references.robot-011-020-a_custom_library].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_references.test[references.robot-011-020-a_custom_library].out
deleted file mode 100644
index 593481a6a..000000000
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_references.test[references.robot-011-020-a_custom_library].out
+++ /dev/null
@@ -1,113 +0,0 @@
-data: !GeneratedTestData
- character: 20
- line: 11
- name: a custom library
-result:
-- !Location
- range:
- end:
- character: 26
- line: 1
- start:
- character: 18
- line: 1
- uri: resources/firstresource.resource
-- !Location
- range:
- end:
- character: 24
- line: 12
- start:
- character: 16
- line: 12
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 14
- start:
- character: 16
- line: 14
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 9
- start:
- character: 16
- line: 9
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 24
- line: 10
- start:
- character: 16
- line: 10
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 21
- line: 6
- start:
- character: 10
- line: 6
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 22
- line: 1
- start:
- character: 11
- line: 1
- uri: tests/external_libray.robot
-- !Location
- range:
- end:
- character: 43
- line: 14
- start:
- character: 18
- line: 14
- uri: tests/goto.robot
-- !Location
- range:
- end:
- character: 26
- line: 3
- start:
- character: 18
- line: 3
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 26
- line: 5
- start:
- character: 18
- line: 5
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 24
- line: 11
- start:
- character: 16
- line: 11
- uri: tests/references.robot
-- !Location
- range:
- end:
- character: 24
- line: 13
- start:
- character: 16
- line: 13
- uri: tests/references.robot
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_references.test[references.robot-011-023-a_custom_library].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_references.test[references.robot-011-023-a_custom_library].out
deleted file mode 100644
index 5d68496c7..000000000
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_references.test[references.robot-011-023-a_custom_library].out
+++ /dev/null
@@ -1,113 +0,0 @@
-data: !GeneratedTestData
- character: 23
- line: 11
- name: a custom library
-result:
-- !Location
- range:
- end:
- character: 26
- line: 1
- start:
- character: 18
- line: 1
- uri: resources/firstresource.resource
-- !Location
- range:
- end:
- character: 24
- line: 12
- start:
- character: 16
- line: 12
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 14
- start:
- character: 16
- line: 14
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 9
- start:
- character: 16
- line: 9
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 24
- line: 10
- start:
- character: 16
- line: 10
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 21
- line: 6
- start:
- character: 10
- line: 6
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 22
- line: 1
- start:
- character: 11
- line: 1
- uri: tests/external_libray.robot
-- !Location
- range:
- end:
- character: 43
- line: 14
- start:
- character: 18
- line: 14
- uri: tests/goto.robot
-- !Location
- range:
- end:
- character: 26
- line: 3
- start:
- character: 18
- line: 3
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 26
- line: 5
- start:
- character: 18
- line: 5
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 24
- line: 11
- start:
- character: 16
- line: 11
- uri: tests/references.robot
-- !Location
- range:
- end:
- character: 24
- line: 13
- start:
- character: 16
- line: 13
- uri: tests/references.robot
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_references.test[references.robot-013-016-a_same_custom_library].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_references.test[references.robot-013-016-a_same_custom_library].out
deleted file mode 100644
index 9cfd35811..000000000
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_references.test[references.robot-013-016-a_same_custom_library].out
+++ /dev/null
@@ -1,113 +0,0 @@
-data: !GeneratedTestData
- character: 16
- line: 13
- name: a same custom library
-result:
-- !Location
- range:
- end:
- character: 26
- line: 1
- start:
- character: 18
- line: 1
- uri: resources/firstresource.resource
-- !Location
- range:
- end:
- character: 24
- line: 12
- start:
- character: 16
- line: 12
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 14
- start:
- character: 16
- line: 14
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 9
- start:
- character: 16
- line: 9
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 24
- line: 10
- start:
- character: 16
- line: 10
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 21
- line: 6
- start:
- character: 10
- line: 6
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 22
- line: 1
- start:
- character: 11
- line: 1
- uri: tests/external_libray.robot
-- !Location
- range:
- end:
- character: 43
- line: 14
- start:
- character: 18
- line: 14
- uri: tests/goto.robot
-- !Location
- range:
- end:
- character: 26
- line: 3
- start:
- character: 18
- line: 3
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 26
- line: 5
- start:
- character: 18
- line: 5
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 24
- line: 11
- start:
- character: 16
- line: 11
- uri: tests/references.robot
-- !Location
- range:
- end:
- character: 24
- line: 13
- start:
- character: 16
- line: 13
- uri: tests/references.robot
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_references.test[references.robot-013-020-a_same_custom_library].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_references.test[references.robot-013-020-a_same_custom_library].out
deleted file mode 100644
index aa48143f6..000000000
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_references.test[references.robot-013-020-a_same_custom_library].out
+++ /dev/null
@@ -1,113 +0,0 @@
-data: !GeneratedTestData
- character: 20
- line: 13
- name: a same custom library
-result:
-- !Location
- range:
- end:
- character: 26
- line: 1
- start:
- character: 18
- line: 1
- uri: resources/firstresource.resource
-- !Location
- range:
- end:
- character: 24
- line: 12
- start:
- character: 16
- line: 12
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 14
- start:
- character: 16
- line: 14
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 9
- start:
- character: 16
- line: 9
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 24
- line: 10
- start:
- character: 16
- line: 10
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 21
- line: 6
- start:
- character: 10
- line: 6
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 22
- line: 1
- start:
- character: 11
- line: 1
- uri: tests/external_libray.robot
-- !Location
- range:
- end:
- character: 43
- line: 14
- start:
- character: 18
- line: 14
- uri: tests/goto.robot
-- !Location
- range:
- end:
- character: 26
- line: 3
- start:
- character: 18
- line: 3
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 26
- line: 5
- start:
- character: 18
- line: 5
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 24
- line: 11
- start:
- character: 16
- line: 11
- uri: tests/references.robot
-- !Location
- range:
- end:
- character: 24
- line: 13
- start:
- character: 16
- line: 13
- uri: tests/references.robot
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_references.test[references.robot-013-023-a_same_custom_library].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_references.test[references.robot-013-023-a_same_custom_library].out
deleted file mode 100644
index 198ed3230..000000000
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_references.test[references.robot-013-023-a_same_custom_library].out
+++ /dev/null
@@ -1,113 +0,0 @@
-data: !GeneratedTestData
- character: 23
- line: 13
- name: a same custom library
-result:
-- !Location
- range:
- end:
- character: 26
- line: 1
- start:
- character: 18
- line: 1
- uri: resources/firstresource.resource
-- !Location
- range:
- end:
- character: 24
- line: 12
- start:
- character: 16
- line: 12
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 14
- start:
- character: 16
- line: 14
- uri: tests/code_action_show_documentation.robot
-- !Location
- range:
- end:
- character: 24
- line: 9
- start:
- character: 16
- line: 9
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 24
- line: 10
- start:
- character: 16
- line: 10
- uri: tests/document_highlight.robot
-- !Location
- range:
- end:
- character: 21
- line: 6
- start:
- character: 10
- line: 6
- uri: tests/duplicated_resources.robot
-- !Location
- range:
- end:
- character: 22
- line: 1
- start:
- character: 11
- line: 1
- uri: tests/external_libray.robot
-- !Location
- range:
- end:
- character: 43
- line: 14
- start:
- character: 18
- line: 14
- uri: tests/goto.robot
-- !Location
- range:
- end:
- character: 26
- line: 3
- start:
- character: 18
- line: 3
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 26
- line: 5
- start:
- character: 18
- line: 5
- uri: tests/hover.robot
-- !Location
- range:
- end:
- character: 24
- line: 11
- start:
- character: 16
- line: 11
- uri: tests/references.robot
-- !Location
- range:
- end:
- character: 24
- line: 13
- start:
- character: 16
- line: 13
- uri: tests/references.robot
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[sematic_tokenizing.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[sematic_tokenizing.robot].out
index 0c5d7e025..aebcd6380 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[sematic_tokenizing.robot].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[sematic_tokenizing.robot].out
@@ -2,6 +2,21 @@ result: !SemanticTokens
data:
- 0
- 0
+ - 16
+ - 27
+ - 0
+ - 1
+ - 0
+ - 8
+ - 24
+ - 0
+ - 0
+ - 12
+ - 22
+ - 51
+ - 0
+ - 2
+ - 0
- 18
- 29
- 0
@@ -172,6 +187,61 @@ result: !SemanticTokens
- 0
- 2
- 0
+ - 27
+ - 33
+ - 1
+ - 1
+ - 4
+ - 3
+ - 39
+ - 0
+ - 0
+ - 3
+ - 4
+ - 36
+ - 2048
+ - 0
+ - 5
+ - 5
+ - 39
+ - 0
+ - 0
+ - 5
+ - 5
+ - 36
+ - 2048
+ - 1
+ - 4
+ - 13
+ - 51
+ - 0
+ - 0
+ - 13
+ - 1
+ - 21
+ - 0
+ - 0
+ - 1
+ - 3
+ - 39
+ - 0
+ - 0
+ - 3
+ - 4
+ - 36
+ - 2048
+ - 0
+ - 5
+ - 5
+ - 39
+ - 0
+ - 0
+ - 5
+ - 5
+ - 36
+ - 2048
+ - 2
+ - 0
- 16
- 32
- 0
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[symbols.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[symbols.robot].out
index 8dcbcd13a..19a2ce1a9 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[symbols.robot].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[symbols.robot].out
@@ -290,4 +290,44 @@ result: !SemanticTokens
- 11
- 39
- 0
+ - 2
+ - 0
+ - 18
+ - 29
+ - 0
+ - 1
+ - 0
+ - 20
+ - 33
+ - 1
+ - 1
+ - 4
+ - 3
+ - 55
+ - 0
+ - 0
+ - 5
+ - 9
+ - 38
+ - 0
+ - 2
+ - 4
+ - 3
+ - 55
+ - 0
+ - 0
+ - 5
+ - 10
+ - 38
+ - 0
+ - 2
+ - 4
+ - 9
+ - 38
+ - 0
+ - 0
+ - 11
+ - 8
+ - 39
+ - 1024
result_id: null
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[versions--rf61--__init__.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[versions-rf61-__init__.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[versions--rf61--__init__.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[versions-rf61-__init__.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[versions--rf61--embedded_keywords.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[versions-rf61-embedded_keywords.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[versions--rf61--embedded_keywords.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[versions-rf61-embedded_keywords.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[versions--rf61--jsonvariables.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[versions-rf61-jsonvariables.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[versions--rf61--jsonvariables.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[versions-rf61-jsonvariables.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[versions--rf61--sometasks.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[versions-rf61-sometasks.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[versions--rf61--sometasks.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[versions-rf61-sometasks.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[versions--rf61--sub_suite--__init__.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[versions-rf61-sub_suite-__init__.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[versions--rf61--sub_suite--__init__.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[versions-rf61-sub_suite-__init__.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[versions--rf61--sub_suite--first.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[versions-rf61-sub_suite-first.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[versions--rf61--sub_suite--first.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[versions-rf61-sub_suite-first.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[versions--rf61--suite_with_name.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[versions-rf61-suite_with_name.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[versions--rf61--suite_with_name.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[versions-rf61-suite_with_name.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[versions--rf70--vartest.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[versions-rf70-vartest.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[versions--rf70--vartest.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[versions-rf70-vartest.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[versions--rf72--grouptest.robot].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[versions-rf72-grouptest.robot].out
similarity index 100%
rename from tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[versions--rf72--grouptest.robot].out
rename to tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_semantic_tokens.test[versions-rf72-grouptest.robot].out
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_workspace_symbols.test[].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_workspace_symbols.test[].out
index e22235dbb..bab761dd5 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_workspace_symbols.test[].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_workspace_symbols.test[].out
@@ -1379,6 +1379,51 @@ result:
uri: duplicated_resources.robot
name: first
tags: null
+- !WorkspaceSymbol
+ container_name: embedded_args
+ data: null
+ kind: 13
+ location:
+ range:
+ end:
+ character: 10
+ line: 1
+ start:
+ character: 3
+ line: 1
+ uri: embedded_args.resource
+ name: ${task}
+ tags: null
+- !WorkspaceSymbol
+ container_name: embedded_args
+ data: null
+ kind: 13
+ location:
+ range:
+ end:
+ character: 24
+ line: 1
+ start:
+ character: 16
+ line: 1
+ uri: embedded_args.resource
+ name: ${thing}
+ tags: null
+- !WorkspaceSymbol
+ container_name: embedded_args
+ data: null
+ kind: 12
+ location:
+ range:
+ end:
+ character: 24
+ line: 1
+ start:
+ character: 0
+ line: 1
+ uri: embedded_args.resource
+ name: do ${task} with ${thing}
+ tags: null
- !WorkspaceSymbol
container_name: embedded_keywords
data: null
@@ -3802,10 +3847,10 @@ result:
location:
range:
end:
- character: 21
+ character: 20
line: 210
start:
- character: 11
+ character: 13
line: 210
uri: references.robot
name: ${counter}
@@ -3832,10 +3877,10 @@ result:
location:
range:
end:
- character: 13
+ character: 12
line: 260
start:
- character: 9
+ character: 11
line: 260
uri: references.robot
name: ${i}
@@ -3847,10 +3892,10 @@ result:
location:
range:
end:
- character: 24
+ character: 23
line: 247
start:
- character: 15
+ character: 17
line: 247
uri: references.robot
name: ${my var}
@@ -3877,10 +3922,10 @@ result:
location:
range:
end:
- character: 20
+ character: 19
line: 226
start:
- character: 11
+ character: 13
line: 226
uri: references.robot
name: ${output}
@@ -4568,10 +4613,10 @@ result:
range:
end:
character: 23
- line: 24
+ line: 31
start:
character: 19
- line: 24
+ line: 31
uri: sematic_tokenizing.robot
name: ${a}
tags: null
@@ -4583,10 +4628,10 @@ result:
range:
end:
character: 31
- line: 24
+ line: 31
start:
character: 27
- line: 24
+ line: 31
uri: sematic_tokenizing.robot
name: ${b}
tags: null
@@ -4598,10 +4643,10 @@ result:
range:
end:
character: 39
- line: 24
+ line: 31
start:
character: 35
- line: 24
+ line: 31
uri: sematic_tokenizing.robot
name: ${c}
tags: null
@@ -4613,10 +4658,10 @@ result:
range:
end:
character: 26
- line: 19
+ line: 26
start:
character: 19
- line: 19
+ line: 26
uri: sematic_tokenizing.robot
name: ${type}
tags: null
@@ -4628,10 +4673,10 @@ result:
range:
end:
character: 40
- line: 1
+ line: 4
start:
character: 0
- line: 1
+ line: 4
uri: sematic_tokenizing.robot
name: Continue when iteration limit is reached
tags: null
@@ -4643,10 +4688,10 @@ result:
range:
end:
character: 24
- line: 7
+ line: 10
start:
character: 0
- line: 7
+ line: 10
uri: sematic_tokenizing.robot
name: Limit as iteration count
tags: null
@@ -4658,13 +4703,28 @@ result:
range:
end:
character: 12
- line: 18
+ line: 25
start:
character: 0
- line: 18
+ line: 25
uri: sematic_tokenizing.robot
name: do something
tags: null
+- !WorkspaceSymbol
+ container_name: sematic_tokenizing
+ data: null
+ kind: 5
+ location:
+ range:
+ end:
+ character: 27
+ line: 20
+ start:
+ character: 0
+ line: 20
+ uri: sematic_tokenizing.robot
+ name: some embedded args keywords
+ tags: null
- !WorkspaceSymbol
container_name: sematic_tokenizing
data: null
@@ -4673,10 +4733,10 @@ result:
range:
end:
character: 14
- line: 12
+ line: 15
start:
character: 0
- line: 12
+ line: 15
uri: sematic_tokenizing.robot
name: some templated
tags: null
@@ -4688,10 +4748,10 @@ result:
range:
end:
character: 8
- line: 23
+ line: 30
start:
character: 0
- line: 23
+ line: 30
uri: sematic_tokenizing.robot
name: template
tags: null
@@ -5152,10 +5212,10 @@ result:
location:
range:
end:
- character: 21
+ character: 20
line: 19
start:
- character: 9
+ character: 11
line: 19
uri: symbols.robot
name: ${local_var}
@@ -5190,6 +5250,36 @@ result:
uri: symbols.robot
name: ${second}
tags: null
+- !WorkspaceSymbol
+ container_name: symbols
+ data: null
+ kind: 13
+ location:
+ range:
+ end:
+ character: 16
+ line: 64
+ start:
+ character: 11
+ line: 64
+ uri: symbols.robot
+ name: ${var 1}
+ tags: null
+- !WorkspaceSymbol
+ container_name: symbols
+ data: null
+ kind: 13
+ location:
+ range:
+ end:
+ character: 16
+ line: 66
+ start:
+ character: 11
+ line: 66
+ uri: symbols.robot
+ name: ${var 2}
+ tags: null
- !WorkspaceSymbol
container_name: symbols
data: null
@@ -5236,6 +5326,21 @@ result:
uri: symbols.robot
name: first
tags: null
+- !WorkspaceSymbol
+ container_name: symbols
+ data: null
+ kind: 5
+ location:
+ range:
+ end:
+ character: 20
+ line: 63
+ start:
+ character: 0
+ line: 63
+ uri: symbols.robot
+ name: vars with equal sign
+ tags: null
- !WorkspaceSymbol
container_name: templates
data: null
@@ -6878,10 +6983,10 @@ result:
location:
range:
end:
- character: 20
+ character: 19
line: 4
start:
- character: 11
+ character: 13
line: 4
uri: vartest.robot
name: ${RESULT}
@@ -6893,10 +6998,10 @@ result:
location:
range:
end:
- character: 20
+ character: 19
line: 10
start:
- character: 11
+ character: 13
line: 10
uri: vartest.robot
name: ${RESULT}
@@ -6908,10 +7013,10 @@ result:
location:
range:
end:
- character: 20
+ character: 19
line: 17
start:
- character: 11
+ character: 13
line: 17
uri: vartest.robot
name: ${RESULT}
@@ -6983,10 +7088,10 @@ result:
location:
range:
end:
- character: 15
+ character: 14
line: 2
start:
- character: 11
+ character: 13
line: 2
uri: vartest.robot
name: ${a}
@@ -6998,10 +7103,10 @@ result:
location:
range:
end:
- character: 15
+ character: 14
line: 8
start:
- character: 11
+ character: 13
line: 8
uri: vartest.robot
name: ${a}
@@ -7013,10 +7118,10 @@ result:
location:
range:
end:
- character: 15
+ character: 14
line: 15
start:
- character: 11
+ character: 13
line: 15
uri: vartest.robot
name: ${a}
@@ -7028,10 +7133,10 @@ result:
location:
range:
end:
- character: 15
+ character: 14
line: 3
start:
- character: 11
+ character: 13
line: 3
uri: vartest.robot
name: ${b}
@@ -7043,10 +7148,10 @@ result:
location:
range:
end:
- character: 15
+ character: 14
line: 9
start:
- character: 11
+ character: 13
line: 9
uri: vartest.robot
name: ${b}
@@ -7058,10 +7163,10 @@ result:
location:
range:
end:
- character: 15
+ character: 14
line: 16
start:
- character: 11
+ character: 13
line: 16
uri: vartest.robot
name: ${b}
@@ -7073,10 +7178,10 @@ result:
location:
range:
end:
- character: 15
+ character: 14
line: 21
start:
- character: 11
+ character: 13
line: 21
uri: vartest.robot
name: '&{a}'
@@ -7088,10 +7193,10 @@ result:
location:
range:
end:
- character: 15
+ character: 14
line: 25
start:
- character: 11
+ character: 13
line: 25
uri: vartest.robot
name: '@{a}'
diff --git a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_workspace_symbols.test[as].out b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_workspace_symbols.test[as].out
index debc9dced..9266e05d0 100644
--- a/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_workspace_symbols.test[as].out
+++ b/tests/robotcode/language_server/robotframework/parts/_regtest_outputs/rf72/test_workspace_symbols.test[as].out
@@ -359,6 +359,36 @@ result:
uri: duplicated.resource
name: a resource keyword B
tags: null
+- !WorkspaceSymbol
+ container_name: embedded_args
+ data: null
+ kind: 13
+ location:
+ range:
+ end:
+ character: 10
+ line: 1
+ start:
+ character: 3
+ line: 1
+ uri: embedded_args.resource
+ name: ${task}
+ tags: null
+- !WorkspaceSymbol
+ container_name: embedded_args
+ data: null
+ kind: 12
+ location:
+ range:
+ end:
+ character: 24
+ line: 1
+ start:
+ character: 0
+ line: 1
+ uri: embedded_args.resource
+ name: do ${task} with ${thing}
+ tags: null
- !WorkspaceSymbol
container_name: embedded_keywords
data: null
@@ -877,10 +907,10 @@ result:
range:
end:
character: 40
- line: 1
+ line: 4
start:
character: 0
- line: 1
+ line: 4
uri: sematic_tokenizing.robot
name: Continue when iteration limit is reached
tags: null
@@ -892,13 +922,28 @@ result:
range:
end:
character: 24
- line: 7
+ line: 10
start:
character: 0
- line: 7
+ line: 10
uri: sematic_tokenizing.robot
name: Limit as iteration count
tags: null
+- !WorkspaceSymbol
+ container_name: sematic_tokenizing
+ data: null
+ kind: 5
+ location:
+ range:
+ end:
+ character: 27
+ line: 20
+ start:
+ character: 0
+ line: 20
+ uri: sematic_tokenizing.robot
+ name: some embedded args keywords
+ tags: null
- !WorkspaceSymbol
container_name: some_tasks
data: null
@@ -974,6 +1019,21 @@ result:
uri: symbols.robot
name: a keywords
tags: null
+- !WorkspaceSymbol
+ container_name: symbols
+ data: null
+ kind: 5
+ location:
+ range:
+ end:
+ character: 20
+ line: 63
+ start:
+ character: 0
+ line: 63
+ uri: symbols.robot
+ name: vars with equal sign
+ tags: null
- !WorkspaceSymbol
container_name: templates
data: null
diff --git a/tests/robotcode/language_server/robotframework/parts/data/resources/embedded_args.resource b/tests/robotcode/language_server/robotframework/parts/data/resources/embedded_args.resource
new file mode 100644
index 000000000..3673c6d98
--- /dev/null
+++ b/tests/robotcode/language_server/robotframework/parts/data/resources/embedded_args.resource
@@ -0,0 +1,3 @@
+*** Keywords ***
+do ${task} with ${thing}
+ ok ${task} ${thing}
\ No newline at end of file
diff --git a/tests/robotcode/language_server/robotframework/parts/data/robot.toml b/tests/robotcode/language_server/robotframework/parts/data/robot.toml
index 6439955a9..ef8cbc031 100644
--- a/tests/robotcode/language_server/robotframework/parts/data/robot.toml
+++ b/tests/robotcode/language_server/robotframework/parts/data/robot.toml
@@ -71,5 +71,5 @@ API_URL = "https://api.test1.company.com"
APP_URL = "https://app.test1.company.com"
-[tool.robotcode-analyze.modifiers]
-warning = ["KeywordNotFound"]
+#[tool.robotcode-analyze.modifiers]
+#warning = ["KeywordNotFound"]
diff --git a/tests/robotcode/language_server/robotframework/parts/data/tests/references.robot b/tests/robotcode/language_server/robotframework/parts/data/tests/references.robot
index c410ad235..7a1e90969 100644
--- a/tests/robotcode/language_server/robotframework/parts/data/tests/references.robot
+++ b/tests/robotcode/language_server/robotframework/parts/data/tests/references.robot
@@ -10,10 +10,10 @@ Variables ${CURDIR}/../lib/myvariables.py
Resource ${CURDIR}/../resources/firstresource.resource
# ^^^^^^ Variable in resource import path
Library alibrary a_param=from hello WITH NAME lib_hello
-# ^^^^^^^^ a custom library
+## ^^^^^^^^ a custom library # TODO: flaky
Library alibrary a_param=${LIB_ARG} WITH NAME lib_var
# ^^^^^^^ Variable in library params
-# ^^^^^^^^ a same custom library
+## ^^^^^^^^ a same custom library # TODO: flaky
Suite Setup BuiltIn.Log To Console hi from suite setup
# ^^^^^^^^^^^^^^ suite fixture keyword call with namespace
Test Setup Log To Console hi from test setup
diff --git a/tests/robotcode/language_server/robotframework/parts/data/tests/sematic_tokenizing.robot b/tests/robotcode/language_server/robotframework/parts/data/tests/sematic_tokenizing.robot
index 899d18d03..e8b16295e 100644
--- a/tests/robotcode/language_server/robotframework/parts/data/tests/sematic_tokenizing.robot
+++ b/tests/robotcode/language_server/robotframework/parts/data/tests/sematic_tokenizing.robot
@@ -1,3 +1,6 @@
+*** Settings ***
+Resource embedded_args.resource
+
*** Test Cases ***
Continue when iteration limit is reached
WHILE True limit=5 on_limit=pass
@@ -15,6 +18,10 @@ some templated
1 2 3
3 ${{1+2+${1}}} 7
+some embedded args keywords
+ do task with thing
+ embedded_args.do task with thing
+
*** Keywords ***
do something
[Arguments] ${type}
diff --git a/tests/robotcode/language_server/robotframework/parts/data/tests/symbols.robot b/tests/robotcode/language_server/robotframework/parts/data/tests/symbols.robot
index 37b6b8709..d60712209 100644
--- a/tests/robotcode/language_server/robotframework/parts/data/tests/symbols.robot
+++ b/tests/robotcode/language_server/robotframework/parts/data/tests/symbols.robot
@@ -59,3 +59,12 @@ another keyword
#^^^ unreachable keyword
Unreachable
+
+*** Test Cases ***
+vars with equal sign
+ VAR ${var 1}= 1
+# ^^^^^ variable with space and equal sign
+ VAR ${var 2} = 1
+# ^^^^^ variable with space and equal sign
+ ${var 1}= Evaluate 1+2
+# ^^^^^ variable with space and equal sign
diff --git a/tests/robotcode/language_server/robotframework/parts/pytest_regtestex.py b/tests/robotcode/language_server/robotframework/parts/pytest_regtestex.py
index b5a01705c..65a198739 100644
--- a/tests/robotcode/language_server/robotframework/parts/pytest_regtestex.py
+++ b/tests/robotcode/language_server/robotframework/parts/pytest_regtestex.py
@@ -8,15 +8,6 @@
class RegTestFixtureEx(RegTestFixture):
- @property
- def old_result_file(self) -> Path:
- return Path(
- self.test_folder,
- "_regtest_outputs",
- rf_version,
- self.old_output_file_name,
- )
-
@property
def result_file(self) -> Path:
return Path(
diff --git a/tests/robotcode/language_server/robotframework/tools.py b/tests/robotcode/language_server/robotframework/tools.py
index d5a5ff355..dba1d4681 100644
--- a/tests/robotcode/language_server/robotframework/tools.py
+++ b/tests/robotcode/language_server/robotframework/tools.py
@@ -77,7 +77,7 @@ def generate_test_id_with_path(base_path: Path, params: Any) -> Any:
return repr(params)
if isinstance(params, Path):
if base_path:
- return str(params.relative_to(base_path))
+ return str(params.relative_to(base_path).as_posix())
return params.name
return params
diff --git a/tests/robotcode/robot/config/test_profile.py b/tests/robotcode/robot/config/test_profile.py
index e92302df1..18be1fbba 100644
--- a/tests/robotcode/robot/config/test_profile.py
+++ b/tests/robotcode/robot/config/test_profile.py
@@ -372,5 +372,5 @@ def test_type_that_wants_alist_should_throw_an_error() -> None:
[listeners]
listener_with_colon = "dummy:output"
"""
- with pytest.raises(TypeError, match=".*Value must be of type.*"):
+ with pytest.raises(TypeError, match=".*Value '.*' must be of type.*"):
load_robot_config_from_robot_toml_str(data)
diff --git a/vscode-client/extension/debugmanager.ts b/vscode-client/extension/debugmanager.ts
index 4cec53f4b..13f7bacfa 100644
--- a/vscode-client/extension/debugmanager.ts
+++ b/vscode-client/extension/debugmanager.ts
@@ -495,31 +495,31 @@ export class DebugManager {
if (needs_parse_include) {
for (const s of rel_sources) {
- args.push("--parse-include");
+ args.push("-I");
args.push(escapeRobotGlobPatterns(s));
}
}
if (topLevelSuiteName) {
- args.push("--name");
+ args.push("-N");
args.push(topLevelSuiteName);
}
for (const s of suites) {
- args.push("--suite");
+ args.push("-s");
args.push(escapeRobotGlobPatterns(s));
}
if (included.length > 0) {
for (const s of included) {
- args.push("--by-longname");
+ args.push("-bl");
args.push(s);
}
}
if (excluded.length > 0) {
for (const s of excluded) {
- args.push("--exclude-by-longname");
+ args.push("-ebl");
args.push(s);
}
}
@@ -612,10 +612,11 @@ export class DebugManager {
logFile?: string,
reportFile?: string,
): Promise {
- if (session.configuration?.openOutputAfterRun === "report" && reportFile) {
- await this.languageClientsManager.openUriInDocumentationView(vscode.Uri.file(reportFile));
- } else if (session.configuration?.openOutputAfterRun === "log" && logFile) {
- await this.languageClientsManager.openUriInDocumentationView(vscode.Uri.file(logFile));
+ const openMode = session.configuration?.openOutputAfterRun as string;
+ const fileToOpen = openMode === "report" ? reportFile : openMode === "log" ? logFile : undefined;
+
+ if (fileToOpen) {
+ await this.languageClientsManager.openOutputFile(vscode.Uri.file(fileToOpen));
}
}
}
diff --git a/vscode-client/extension/index.ts b/vscode-client/extension/index.ts
index 75ded5f4c..887c45c5b 100644
--- a/vscode-client/extension/index.ts
+++ b/vscode-client/extension/index.ts
@@ -116,7 +116,7 @@ export async function activateAsync(context: vscode.ExtensionContext): Promise {
+ const workspace = vscode.workspace.getWorkspaceFolder(file);
+ const result = vscode.workspace.getConfiguration(CONFIG_SECTION, workspace).get("run.openOutputTarget");
+
+ switch (result) {
+ case "simpleBrowser":
+ await this.openUriInDocumentationView(file);
+ break;
+ case "externalHttp":
+ await vscode.env.openExternal(
+ await vscode.env.asExternalUri((await this.convertToDocumentationUri(file)) ?? file),
+ );
+ break;
+ case "externalFile":
+ await vscode.env.openExternal(file);
+ break;
+ }
+ }
+
public async convertToDocumentationUri(
uri: vscode.Uri,
token?: vscode.CancellationToken | undefined,
diff --git a/vscode-client/extension/testcontrollermanager.ts b/vscode-client/extension/testcontrollermanager.ts
index 263b3c7de..e304fdb68 100644
--- a/vscode-client/extension/testcontrollermanager.ts
+++ b/vscode-client/extension/testcontrollermanager.ts
@@ -428,7 +428,7 @@ export class TestControllerManager {
return (await this.languageClientsManager.pythonManager.executeRobotCode(
folder,
- [...(paths?.length ? paths.flatMap((v) => ["--default-path", v]) : ["--default-path", "."]), "profiles", "list"],
+ [...(paths?.length ? paths.flatMap((v) => ["-dp", v]) : ["-dp", "."]), "profiles", "list"],
profiles,
"json",
true,
@@ -674,7 +674,7 @@ export class TestControllerManager {
const result = (await this.languageClientsManager.pythonManager.executeRobotCode(
folder,
[
- ...(paths?.length ? paths.flatMap((v) => ["--default-path", v]) : ["--default-path", "."]),
+ ...(paths?.length ? paths.flatMap((v) => ["-dp", v]) : ["-dp", "."]),
...discoverArgs,
...mode_args,
...pythonPath.flatMap((v) => ["-P", v]),
@@ -819,7 +819,7 @@ export class TestControllerManager {
["discover", "--read-from-stdin", "tests"],
[
...(robotWorkspaceItem?.needsParseInclude && testItem.relSource
- ? ["--parse-include", escapeRobotGlobPatterns(testItem.relSource)]
+ ? ["-I", escapeRobotGlobPatterns(testItem.relSource)]
: []),
"--suite",
escapeRobotGlobPatterns(testItem.longname),