robotcode 1.0.3__tar.gz → 1.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,6 +2,95 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [conventional commits](https://www.conventionalcommits.org/) for commit guidelines.
4
4
 
5
+ ## [1.1.0](https://github.com/robotcodedev/robotcode/compare/v1.0.3..v1.1.0) - 2025-04-29
6
+
7
+ ### Bug Fixes
8
+
9
+ - **analyze:** Allow `all` also in `robot.toml` configuration for `exit-code-mask` ([a496714](https://github.com/robotcodedev/robotcode/commit/a496714b88d397b46f4b4192c82336711fccac5a))
10
+ - **langserver:** Corrected highlightning of embedded arguments if there is a namespace given before the keyword ([0ce5446](https://github.com/robotcodedev/robotcode/commit/0ce5446154b34655bd5db4c6cba91a9a82266440))
11
+
12
+
13
+ ### Documentation
14
+
15
+ - Draft article about variables ([161006e](https://github.com/robotcodedev/robotcode/commit/161006e6a730f52501bdff7dcd1cba9e85300fcd))
16
+ - Added pycharm link on the robotcode.io homepage ([7686a21](https://github.com/robotcodedev/robotcode/commit/7686a21c76681d2a7321a67c1c872b6c77687000))
17
+
18
+
19
+ ### Features
20
+
21
+ - **analyze:** Exit code mask configuration for code analysis ([4b677ad](https://github.com/robotcodedev/robotcode/commit/4b677add254f88519d950e54ac5ef1f4e499d0e6))
22
+
23
+ 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.
24
+
25
+ **Configuration File (`robot.toml`)**
26
+
27
+ ```toml
28
+ [tool.robotcode-analyze.code]
29
+ exit-code-mask = ["error", "warn"]
30
+ ```
31
+
32
+ **Command Line Options**
33
+
34
+ ```
35
+ robotcode analyze code --exit-code-mask error,warn # or -xm
36
+ robotcode analyze code --extend-exit-code-mask info # or -xe
37
+ ```
38
+
39
+ - `-xm` (or `--exit-code-mask`) overwrites the configuration in `robot.toml`
40
+ - `-xe` (or `--extend-exit-code-mask`) extends the configuration in `robot.toml`
41
+ - Both options can be specified multiple times or with comma-separated values:
42
+
43
+ ```
44
+ robotcode analyze code -xm error -xm warn # multiple options
45
+ robotcode analyze code -xm error,warn # comma-separated
46
+ ```
47
+
48
+ **Behavior**
49
+
50
+ - Message types in the mask are ignored when determining exit code
51
+ - Available types: `error`, `warn`/`warning`, `info`/`information`, `hint`
52
+ - Special value `all` ignores all message types (always exit code 0)
53
+ - Without configuration, all message types affect the exit code
54
+
55
+ **Example**
56
+
57
+ ```toml
58
+ # In robot.toml - Ignore warnings but let errors affect exit code
59
+ [tool.robotcode-analyze.code]
60
+ exit-code-mask = ["warn"]
61
+ ```
62
+
63
+ ```bash
64
+ # Using short options
65
+ robotcode analyze code -xm error,hint # Overwrites robot.toml config
66
+ robotcode analyze code -xe info -xe hint # Extends robot.toml config with multiple types
67
+ robotcode analyze code -xm all # Always exit with code 0
68
+ ```
69
+
70
+ - **vscode:** Add configuration for output file display options ([738d7a6](https://github.com/robotcodedev/robotcode/commit/738d7a6129f8e459c0af1961ebedfe320d2a4b9d))
71
+
72
+ Add "robotcode.run.openOutputTarget" setting to control how Robot Framework output files are displayed:
73
+ - simpleBrowser: in VSCode's built-in browser
74
+ - externalHttp: in default browser via HTTP protocol
75
+ - externalFile: in default browser via file system
76
+
77
+ The externalFile options may not run in remote development environments.
78
+
79
+ - **vscode:** Use short CLI argument versions when calling robotcode ([0987f55](https://github.com/robotcodedev/robotcode/commit/0987f551803f23e2c8342638d2b3bb1e23cc99da))
80
+
81
+
82
+ ### Refactor
83
+
84
+ - **analyze:** Move code analysing to it's own module ([0123a50](https://github.com/robotcodedev/robotcode/commit/0123a507a3b23265676aa8d0c68af322e01f513c))
85
+
86
+
87
+ ### Testing
88
+
89
+ - Fix some unittest ([98e4d5c](https://github.com/robotcodedev/robotcode/commit/98e4d5c2e69e1d2a3a1518456f85ff04b15be920))
90
+ - Disable some flaky tests ([f9a1a82](https://github.com/robotcodedev/robotcode/commit/f9a1a823c6cb9d885231c81830d6e438cf60b680))
91
+ - Disable some flaky tests and correct regression test output file to be platform independent ([4387984](https://github.com/robotcodedev/robotcode/commit/43879844c9fdc845ae2b9fa373f076eb13a9feb9))
92
+
93
+
5
94
  ## [1.0.3](https://github.com/robotcodedev/robotcode/compare/v1.0.2..v1.0.3) - 2025-03-14
6
95
 
7
96
  ### Bug Fixes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: robotcode
3
- Version: 1.0.3
3
+ Version: 1.1.0
4
4
  Summary: Command line interface for RobotCode
5
5
  Project-URL: Homepage, https://robotcode.io
6
6
  Project-URL: Donate, https://opencollective.com/robotcode
@@ -34,39 +34,39 @@ Classifier: Topic :: Text Editors :: Integrated Development Environments (IDE)
34
34
  Classifier: Topic :: Utilities
35
35
  Classifier: Typing :: Typed
36
36
  Requires-Python: >=3.8
37
- Requires-Dist: robotcode-core==1.0.3
38
- Requires-Dist: robotcode-plugin==1.0.3
39
- Requires-Dist: robotcode-robot==1.0.3
37
+ Requires-Dist: robotcode-core==1.1.0
38
+ Requires-Dist: robotcode-plugin==1.1.0
39
+ Requires-Dist: robotcode-robot==1.1.0
40
40
  Provides-Extra: all
41
41
  Requires-Dist: docutils; extra == 'all'
42
42
  Requires-Dist: pyyaml>=5.4; extra == 'all'
43
43
  Requires-Dist: rich; extra == 'all'
44
- Requires-Dist: robotcode-analyze==1.0.3; extra == 'all'
45
- Requires-Dist: robotcode-debugger==1.0.3; extra == 'all'
46
- Requires-Dist: robotcode-language-server==1.0.3; extra == 'all'
47
- Requires-Dist: robotcode-repl-server==1.0.3; extra == 'all'
48
- Requires-Dist: robotcode-repl==1.0.3; extra == 'all'
49
- Requires-Dist: robotcode-runner==1.0.3; extra == 'all'
44
+ Requires-Dist: robotcode-analyze==1.1.0; extra == 'all'
45
+ Requires-Dist: robotcode-debugger==1.1.0; extra == 'all'
46
+ Requires-Dist: robotcode-language-server==1.1.0; extra == 'all'
47
+ Requires-Dist: robotcode-repl-server==1.1.0; extra == 'all'
48
+ Requires-Dist: robotcode-repl==1.1.0; extra == 'all'
49
+ Requires-Dist: robotcode-runner==1.1.0; extra == 'all'
50
50
  Requires-Dist: robotframework-robocop>=2.0.0; extra == 'all'
51
51
  Requires-Dist: robotframework-tidy>=2.0.0; extra == 'all'
52
52
  Provides-Extra: analyze
53
- Requires-Dist: robotcode-analyze==1.0.3; extra == 'analyze'
53
+ Requires-Dist: robotcode-analyze==1.1.0; extra == 'analyze'
54
54
  Provides-Extra: colored
55
55
  Requires-Dist: rich; extra == 'colored'
56
56
  Provides-Extra: debugger
57
- Requires-Dist: robotcode-debugger==1.0.3; extra == 'debugger'
57
+ Requires-Dist: robotcode-debugger==1.1.0; extra == 'debugger'
58
58
  Provides-Extra: languageserver
59
- Requires-Dist: robotcode-language-server==1.0.3; extra == 'languageserver'
59
+ Requires-Dist: robotcode-language-server==1.1.0; extra == 'languageserver'
60
60
  Provides-Extra: lint
61
61
  Requires-Dist: robotframework-robocop>=2.0.0; extra == 'lint'
62
62
  Provides-Extra: repl
63
- Requires-Dist: robotcode-repl==1.0.3; extra == 'repl'
63
+ Requires-Dist: robotcode-repl==1.1.0; extra == 'repl'
64
64
  Provides-Extra: replserver
65
- Requires-Dist: robotcode-repl-server==1.0.3; extra == 'replserver'
65
+ Requires-Dist: robotcode-repl-server==1.1.0; extra == 'replserver'
66
66
  Provides-Extra: rest
67
67
  Requires-Dist: docutils; extra == 'rest'
68
68
  Provides-Extra: runner
69
- Requires-Dist: robotcode-runner==1.0.3; extra == 'runner'
69
+ Requires-Dist: robotcode-runner==1.1.0; extra == 'runner'
70
70
  Provides-Extra: tidy
71
71
  Requires-Dist: robotframework-tidy>=2.0.0; extra == 'tidy'
72
72
  Provides-Extra: yaml
@@ -22,7 +22,6 @@ dependencies = [
22
22
  "pytest-cov",
23
23
  "mypy",
24
24
  "ruff",
25
- "black",
26
25
  "debugpy",
27
26
  "GitPython",
28
27
  "semantic-version",
@@ -98,7 +97,7 @@ matrix.rf.dependencies = [
98
97
  { value = "robotframework>=7.1, <7.2", if = [
99
98
  "rf71",
100
99
  ] },
101
- { value = "robotframework>=7.2, <7.3", if = [
100
+ { value = "robotframework>=7.2, <7.3", if = [
102
101
  "rf72",
103
102
  ] },
104
103
  ]
@@ -150,10 +149,8 @@ features = ["all"]
150
149
 
151
150
 
152
151
  [envs.lint.scripts]
153
- typing-py = "mypy --no-incremental --cache-dir /dev/null {args:.}"
154
- typing = ["typing-py", "npm run compile"]
155
- style = ["ruff check .", "black --check --diff .", "npx eslint ."]
156
- fmt = ["black .", "ruff check --fix .", "style", "npx eslint --fix ."]
152
+ typing = "mypy --no-incremental --cache-dir /dev/null {args:.}"
153
+ style = ["ruff check .", "ruff format --diff ."]
157
154
  all = ["style", "typing"]
158
155
 
159
156
  [envs.lint.overrides]
@@ -178,3 +175,14 @@ extract-release-notes = ["python scripts/extract_release_notes.py"]
178
175
  is-prerelease = ["python scripts/is_prerelease.py"]
179
176
  bump = ["cz bump {args}"]
180
177
  install-bundled-editable = "python ./scripts/install_bundled_editable.py"
178
+
179
+
180
+ [envs.hatch-static-analysis]
181
+ installer="uv"
182
+ dependencies = ["ruff"]
183
+
184
+ [envs.hatch-static-analysis.scripts]
185
+ format-check = ["ruff format --check --diff {args:.}"]
186
+ format-fix = ["ruff format {args:.}"]
187
+ lint-check = ["ruff check {args:.}"]
188
+ lint-fix = "ruff check --fix {args:.}"
@@ -51,9 +51,9 @@ classifiers = [
51
51
  ]
52
52
  requires-python = ">=3.8"
53
53
  dependencies = [
54
- "robotcode-core==1.0.3",
55
- "robotcode-plugin==1.0.3",
56
- "robotcode-robot==1.0.3",
54
+ "robotcode-core==1.1.0",
55
+ "robotcode-plugin==1.1.0",
56
+ "robotcode-robot==1.1.0",
57
57
  ]
58
58
  dynamic = ["version"]
59
59
 
@@ -71,24 +71,24 @@ robotcode = "robotcode.cli.__main__:main"
71
71
 
72
72
 
73
73
  [project.optional-dependencies]
74
- debugger = ["robotcode-debugger==1.0.3"]
75
- languageserver = ["robotcode-language-server==1.0.3"]
76
- runner = ["robotcode-runner==1.0.3"]
77
- analyze = ["robotcode-analyze==1.0.3"]
74
+ debugger = ["robotcode-debugger==1.1.0"]
75
+ languageserver = ["robotcode-language-server==1.1.0"]
76
+ runner = ["robotcode-runner==1.1.0"]
77
+ analyze = ["robotcode-analyze==1.1.0"]
78
78
  yaml = ["PyYAML>=5.4"]
79
79
  lint = ["robotframework-robocop>=2.0.0"]
80
80
  tidy = ["robotframework-tidy>=2.0.0"]
81
81
  rest = ["docutils"]
82
- repl = ["robotcode-repl==1.0.3"]
83
- replserver = ["robotcode-repl-server==1.0.3"]
82
+ repl = ["robotcode-repl==1.1.0"]
83
+ replserver = ["robotcode-repl-server==1.1.0"]
84
84
  colored = ["rich"]
85
85
  all = [
86
- "robotcode-debugger==1.0.3",
87
- "robotcode-language-server==1.0.3",
88
- "robotcode-runner==1.0.3",
89
- "robotcode-analyze==1.0.3",
90
- "robotcode-repl==1.0.3",
91
- "robotcode-repl-server==1.0.3",
86
+ "robotcode-debugger==1.1.0",
87
+ "robotcode-language-server==1.1.0",
88
+ "robotcode-runner==1.1.0",
89
+ "robotcode-analyze==1.1.0",
90
+ "robotcode-repl==1.1.0",
91
+ "robotcode-repl-server==1.1.0",
92
92
  "PyYAML>=5.4",
93
93
  "robotframework-robocop>=2.0.0",
94
94
  "robotframework-tidy>=2.0.0",
@@ -128,18 +128,6 @@ upload_to_release = false
128
128
  upload_to_repository = false
129
129
  build_command = "pip install hatch && hatch build"
130
130
 
131
- [tool.black]
132
- line-length = 120
133
- target-version = ['py38']
134
- extend-exclude = '''
135
- (
136
- /(
137
- | bundled/libs
138
- )/
139
- )
140
- '''
141
-
142
-
143
131
  [tool.pytest.ini_options]
144
132
  minversion = "6.0"
145
133
  addopts = "-ra -vv -rf --ignore=bundled --ignore=.hatch"
@@ -0,0 +1 @@
1
+ __version__ = "1.1.0"
@@ -149,7 +149,7 @@ def files(app: Application, paths: List[Path], user: bool = False) -> None:
149
149
 
150
150
  if app.config.output_format is None or app.config.output_format == OutputFormat.TEXT:
151
151
  for entry in result["files"]:
152
- app.echo(f'{entry["path"]} ({entry["type"].value})')
152
+ app.echo(f"{entry['path']} ({entry['type'].value})")
153
153
  else:
154
154
  app.print_data(result)
155
155
 
@@ -242,7 +242,7 @@ def _get_config_fields_for_type(
242
242
  }
243
243
  args = get_args(field.type)
244
244
 
245
- p = f"{prefix}{'' if prefix[-1]=='.' else '.'}" if prefix else ""
245
+ p = f"{prefix}{'' if prefix[-1] == '.' else '.'}" if prefix else ""
246
246
  for a in args:
247
247
  origin = get_origin(a)
248
248
  if origin is None and issubclass(a, BaseOptions):
@@ -141,8 +141,8 @@ def list(app: Application, paths: List[Path], show_hidden: bool = False, sort_by
141
141
  *(len(profile["description"]) for profile in result["profiles"]),
142
142
  )
143
143
  output += (
144
- f'| Active | Selected | Enabled | Precedence | Name{(max_name - len("Name")) * " "} '
145
- f'| Description{(max_description - len("Description")) * " "} |\n'
144
+ f"| Active | Selected | Enabled | Precedence | Name{(max_name - len('Name')) * ' '} "
145
+ f"| Description{(max_description - len('Description')) * ' '} |\n"
146
146
  )
147
147
  output += f"|:------:|:------:|:--------:|:-------:|:{max_name * '-'}-|:{max_description * '-'}-|\n"
148
148
  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
150
150
  for v in result["profiles"]
151
151
  ):
152
152
  output += (
153
- f'| {"*" if selected_profiles and enabled else " "} '
154
- f'| {"*" if selected_profiles else " "} '
155
- f'| {"*" if enabled else " "} '
156
- f'| {precedence if precedence else " "} '
157
- f'| {name}{(max_name - len(name)) * " "} '
158
- f'| {description if description else ""}{(max_description - len(description)) * " "} |\n'
153
+ f"| {'*' if selected_profiles and enabled else ' '} "
154
+ f"| {'*' if selected_profiles else ' '} "
155
+ f"| {'*' if enabled else ' '} "
156
+ f"| {precedence if precedence else ' '} "
157
+ f"| {name}{(max_name - len(name)) * ' '} "
158
+ f"| {description if description else ''}{(max_description - len(description)) * ' '} |\n"
159
159
  )
160
160
  else:
161
161
  output += "No profiles defined.\n"
@@ -1 +0,0 @@
1
- __version__ = "1.0.3"
File without changes
File without changes
File without changes