mirror of
https://github.com/tiennm99/serena.git
synced 2026-10-19 02:14:42 +00:00
feat: add BSL (1C:Enterprise) language server support (#1430)
Required bumping of java to 21 in CI
This commit is contained in:
1 parent
737ef76723
commit
fb9c822178
24 files changed
+930
-4
No files matched your search
@@ -47,6 +47,8 @@ Some languages require additional installations or setup steps, as noted.
|
||||
semantic tokens, and validation; document symbols, workspace symbols, references, and rename
|
||||
are not supported by this version)
|
||||
* **Bash**
|
||||
* **BSL** (1C:Enterprise / OneScript)
|
||||
(requires Java 21+ on PATH; uses [bsl-language-server](https://github.com/1c-syntax/bsl-language-server) by 1c-syntax; the JAR is auto-downloaded and SHA-256-verified for the bundled default version; supports `.bsl` and `.os` files; configure optional `ls_path` or `bsl_ls_version` under `ls_specific_settings.bsl`)
|
||||
* **C#**
|
||||
(by default, uses the Roslyn language server (language `csharp`), requiring [.NET v10+](https://dotnet.microsoft.com/en-us/download/dotnet) and, on Windows, `pwsh` ([PowerShell 7+](https://learn.microsoft.com/en-us/powershell/scripting/install/install-powershell-on-windows?view=powershell-7.5));
|
||||
set language to `csharp_omnisharp` to use OmiSharp instead)
|
||||
|
||||
@@ -227,7 +227,7 @@ ls_specific_settings:
|
||||
|
||||
This is supported by all language servers deriving their dependency provider from `LanguageServerDependencyProviderSinglePath`,
|
||||
and by some additional wrappers that explicitly expose `ls_path`.
|
||||
Common examples include: `ansible`, `bash`, `clojure`, `cpp`, `cpp_ccls`, `hlsl`, `html`, `kotlin`, `lean4`, `luau`, `markdown`, `php`,
|
||||
Common examples include: `ansible`, `bash`, `bsl`, `clojure`, `cpp`, `cpp_ccls`, `hlsl`, `html`, `kotlin`, `lean4`, `luau`, `markdown`, `php`,
|
||||
`php_phpactor`, `python`, `rust`, `scss`, `solidity`, `systemverilog`, `toml`, `typescript`, and `yaml`.
|
||||
|
||||
Note: `angular` does **not** support `ls_path` — the Angular language server is part of a multi-process orchestration
|
||||
@@ -308,6 +308,29 @@ Supported settings:
|
||||
| `bash_language_server_version` | `5.6.0` | Override the npm package version Serena installs when `ls_path` is not set. |
|
||||
| `npm_registry` | `null` | Override the npm registry Serena uses for the managed install. |
|
||||
|
||||
#### BSL (1C:Enterprise / OneScript)
|
||||
|
||||
Serena uses [bsl-language-server](https://github.com/1c-syntax/bsl-language-server) by 1c-syntax
|
||||
for BSL support. The JAR is downloaded automatically on first use and SHA-256-verified for the
|
||||
bundled default version. **Requires Java 21+ on `PATH`** — bsl-language-server v0.29.0 is built
|
||||
with `targetCompatibility = JavaVersion.VERSION_21` and fails to launch under older JDKs.
|
||||
|
||||
Supported settings:
|
||||
|
||||
| Setting | Default | Description |
|
||||
|---|---|---|
|
||||
| `ls_path` | managed download | Override the path to an existing `bsl-language-server-*-exec.jar`. When set, Serena does not download anything; the JAR is launched directly via `java -jar`. |
|
||||
| `bsl_ls_version` | `0.29.0` | Override the bsl-language-server release version Serena downloads when `ls_path` is not set. SHA-256 verification is performed only for the default version; user-overridden versions install without SHA verification. |
|
||||
|
||||
Example:
|
||||
|
||||
```yaml
|
||||
ls_specific_settings:
|
||||
bsl:
|
||||
bsl_ls_version: "0.29.0"
|
||||
# ls_path: "/opt/bsl/bsl-language-server-0.29.0-exec.jar" # optional
|
||||
```
|
||||
|
||||
#### Clojure
|
||||
|
||||
Serena uses `clojure-lsp` for Clojure support.
|
||||
|
||||
Reference in new issue
Block a user