Add Haxe language support via vshaxe/haxe-language-server

Includes full setup with ls provider, tests, docs, etc.
This commit is contained in:
Tobias Jansing committed 2026-04-10 15:07:23 +02:00
1 parent ded6f9a93c
commit e9b6c0ff85
18 files changed
+772 -3

No files matched your search

+4 -1
View File
@@ -63,7 +63,10 @@ Some languages require additional installations or setup steps, as noted.
(requires local groovy-language-server.jar setup via `GROOVY_LS_JAR_PATH` or configuration)
* **Haskell**
(automatically locates HLS via ghcup, stack, or system PATH; supports Stack and Cabal projects)
* **HLSL / GLSL / WGSL**
* **Haxe**
(requires Haxe compiler 3.4.0+ and Node.js; uses the [vshaxe language server](https://github.com/vshaxe/haxe-language-server);
automatically downloaded from Open VSX, or discovered from the vshaxe VSCode extension)
* **HLSL / GLSL / WGSL**
(uses [shader-language-server](https://github.com/antaalt/shader-sense) (language `hlsl`); automatically downloaded;
on macOS, requires Rust toolchain for building from source;
note: reference search is not supported by this language server)
+24
View File
@@ -484,6 +484,30 @@ Supported settings:
| `version` | `1.3.0` | Override the bundled version Serena downloads, or builds from source on macOS, when `ls_path` is not set. |
#### Haxe
Serena uses the [vshaxe/haxe-language-server](https://github.com/vshaxe/haxe-language-server) for Haxe support.
Requires Haxe compiler (3.4.0+) and Node.js.
The server is discovered in order: user-configured `ls_path`, system PATH, vshaxe VSCode extension, auto-download from Open VSX.
Supported settings:
| Setting | Default | Description |
|---|---|---|
| `ls_path` | auto-discovered | Path to the Haxe language server binary (e.g., `/path/to/server.js`). |
| `buildFile` | auto-discovered `.hxml` | Relative path to the `.hxml` build file used for compilation (e.g., `build/debug.hxml`). If not set, Serena searches the project for `.hxml` files (max depth 5, skipping dependency directories). |
| `renameSourceFolders` | not set (LS default) | List of source directories for scoping rename operations (e.g., `["src", "lib"]`). If not set, the Haxe LS uses its own defaults. |
Example (typically in `project.yml`, since these are project-specific):
```yaml
ls_specific_settings:
haxe:
buildFile: "build/debug.hxml"
renameSourceFolders: ["src", "lib"]
```
#### Java (`eclipse.jdt.ls`)
The following settings are supported for the Java language server: