JetBrains (LSP4IJ)
There is no native OxL plugin; JetBrains editors work with oxl lsp and oxl dap through the free plugin
LSP4IJ (Red Hat), which also suits the Community editions.
1. Highlighting: a TextMate bundle#
The VS Code extension from the archive (share/oxl/vscode/oxl-lang-*.vsix) is a zip with a TextMate grammar. Unpack it and
attach it:
mkdir -p ~/oxl-textmate && cd ~/oxl-textmate && unzip /opt/oxl-1.0.0-beta/share/oxl/vscode/oxl-lang-*.vsixSettings → Editor → TextMate Bundles → + and choose ~/oxl-textmate/extension. Files *.oxl get highlighting.
2. The language server#
Settings → Languages & Frameworks → Language Servers → + (New Language Server):
| Field | Value |
|---|---|
| Name | OxL |
| Command | oxl lsp (the full path if oxl is not in the PATH of the IDE) |
| Mappings → File name patterns | *.oxl, language id oxl |
| Configuration → Initialization options (optional) | { "debounceMs": 150 } |
The working directory is the project root; a project with oxl.toml is analysed as a package. The Language Servers window shows
the state and the log; the trace level is switched there too.
Available: diagnostics, hover, go to definition, references, rename, file structure, completion, signature help, formatting
(Ctrl+Alt+L calls oxl lsp), quick fixes and inlay hints (Editor → Inlay Hints → Language Servers).
3. Debugging#
LSP4IJ supports DAP: Run → Edit Configurations → + → Debug Adapter Protocol:
| Field | Value |
|---|---|
| Server → Command | oxl dap |
| Configuration → Launch | { "program": "$ProjectFileDir$", "cwd": "$ProjectFileDir$", "oxlProfile": "dev", "stopOnEntry": false } |
| Mappings | files *.oxl, for breakpoints |
lldb-18 is needed (installation). See debugging.
4. External tools#
Settings → Tools → External Tools: oxl test and oxl run with $ProjectFileDir$ as the working directory; the output in the IDE
console contains file:line:col references that the IDE makes clickable.