- lsp: Explicitly enable custom LSP features #282
- Dependency updates:
- @types/vscode 1.93.0 to 1.94.0 #281
- vscode 1.93.0 to 1.94.0 #281
- vsce 2.15.0 to 3.1.1 #281
- cspell 8.14.2 to 8.14.4 #271
- eslint 9.10.0 to 9.12.0 #273, #274, #280
- typescript-eslint 8.5.0 to 8.8.0 #270, #276, #277
- typescript 5.5.4 to 5.6.2 #272
- @types/node 22.5.5 to 22.7.4 #275
- @stylistic/eslint-plugin 2.8.0 to 2.9.0 #279
- Debugger Adapter Protocol Support, see documentation here - #218, #263, #262
- Added PR checks (eslint, dprint, markdownlint, cspell, vsce package) - #246, #268
- Dependency updates
- typescript-eslint: From 8.1.0 to 8.5.0
- stylelint/eslint-plugin: From 2.6.2 to 2.8.0
- cspell: From 8.14.1 to 8.14.2
- types/node: From 22.0.0 to 22.5.5
- types/mocha: From 10.0.7 to 10.0.8
- types/vscode: From 1.92.0 to 1.93.0
- Improvements to support code lens evaluation of Rego - #231 #232 #233 #234 #235 #240 #241
- Allow setting alternative formatters - #226
- Check for OS architecture when installing OPA CLI - #216 thanks @tjons!
- Add support for syntax highlighting for Rego embedded in Markdown code blocks using the
rego
language identifier.
Additionally, the latest release of the Regal language server (v0.22.0) brings a number of features relevant to this extension:
- Basic support for code completion in Rego policies
- Warning message displayed when CRLF line endings are detected in a Rego file
- Parser errors now displayed more prominently, making them easier to spot
- Errors reported by OPA will now link directly to corresponding docs, making it easier to understand and resolve issues
Make sure to update Regal to get the latest features!
This update is focused on exposing the latest features of the Regal language server in the extension.
Building on the current diagnostics supported, Code actions now offer a means to quickly remediate common issues. Currently Code Actions are available for the following linter violations:
More fixes to come in future releases now that the fundamentals are in place. It's also now possible to go to the linter diagnostic documentation as a Code Action.
Rego symbols — such as packages, rules and functions, are now provided by the Regal Language server upon requests from an editor. This allows for a quick overview of the structure of a Rego project, and provides "breadcrumbs" to navigate the symbols of the currently open Rego document.
Similar to Document Symbols, the language server is able to provide symbols for top-level packages, rule or function definitions in the workspace.
We are standardizing the functions of the Rego developer environment on the Regal Language Server implementation. This allows us to offer a standardized experience to all Rego developers, regardless of their preferred editor. OPA format and Goto Definition are now available as part of the language server and so users are encouraged to use the language server to access the currently supported option for these editor functions. See PRs #156& #148 where the VS Code OPA extension is updated to use this language server.
Code folding ranges are also now supported in the Regal language server and can be used to collapse comments, rules and others ranges within Rego files.
- Enable connection message logging in debug mode #147
- Name Regal's output panel "Regal" instead of "regal-ls" #145
- When restarting Regal, reuse output panel #157
- Linter configuration can be loaded from a workspace's parent directory (Regal #650)
- Bump typescript from 5.4.3 to 5.4.4 #134
- Bump @types/vscode from 1.87.0 to 1.88.0 #135
- Bump @types/node from 20.12.4 to 20.12.5 #137
- Bump @typescript-eslint/eslint-plugin from 7.5.0 to 7.6.0 #140
- Bump @typescript-eslint/parser from 7.5.0 to 7.6.0 #141
- Bump typescript-eslint from 7.5.0 to 7.6.0 #142
- Bump @types/node from 20.12.5 to 20.12.6 #143
- Bump @types/node from 20.12.6 to 20.12.7 #146
- Bump typescript from 5.4.4 to 5.4.5 #149
- Bump @Microsoft/eslint-formatter-sarif from 3.0.0 to 3.1.0 #150
- Bump @typescript-eslint/parser from 7.6.0 to 7.7.0 #152
- Bump typescript-eslint from 7.6.0 to 7.7.0 #153
- Bump @stylistic/eslint-plugin from 1.7.0 to 1.7.2 #154
- Bump @types/node from 20.12.3 to 20.12.4 #131
- Add workflow for extension release automation #112
- Fix eslint warnings #116
- fix(docs): fix docs links #117
- Add keywords to package.JSON #118
- Add dependabot config, linters, metadata #119
- Fix edge case in OPA.test.workspace activation #120
- Dependabot updates #121, #122, #123, #126, #127
- Update vscode engine #128
- Add grammar definition for raw strings #130
- Add configuration to set environment variables for OPA subprocess #103
- Use .jsonc extension for output.JSON #104
- Address issue in Regal LS startups #105
- Fix for OPA: Evaluate Package fails on some systems #108
- Allow ${workspaceFolder} to be used in env var values #110
- Support for Regal Language server.
- Keyword highlighting for
if
andcontains
- Adding support for compiler strict-mode (
--strict
) for OPAcheck
command - Adding support for Running OPA commands on single files outside of a workspace
- Syntax highlighting of the
every
keyword
- Resolve
${workspaceFolder}
variable inopa.path
setting - Fixing issue where 'Check File Syntax' command produces no output
- Fixing error thrown when
opa.path
setting not set - Adding
opa.schema
setting