Any LSP editor
Run the AWL language server over stdio for editor integration
aion awl lsp [OPTIONS] Use the language id and extension listed below. Let the editor launch the stdio process for the workspace. Use a main build for the current language additions described in these pages.
-
Transport - aion awl lsp uses stdio and language id awl. Keep stdout available for LSP messages.
-
Documents - Open/close and full-text changes, UTF-16 positions, diagnostics and document formatting.
-
Navigation - Document symbols, definition, hover, references and document highlights.
-
Editing - Prepared rename and completion. Completion triggers include > and :.
-
Implementation - crates/aion-awl-lsp/src/server.rs:88–126 publishes these capabilities. editors/zed-awl and editors/nvim-awl carry the supplied editor integrations.
Zed
Install Rust through rustup, then open Zed’s Extensions page. Choose Install Dev Extension and select the checkout’s editors/zed-awl directory. Open an AWL file and select the AWL language.
The extension finds Aion on the editor’s path. Override the binary path with these settings when the desired build lives elsewhere.
{
"lsp": {
"awl": {
"binary": {
"path": "/absolute/path/to/aion",
"arguments": [
"awl",
"lsp"
]
}
}
}
}
The extension fetches its pinned Tree-sitter grammar from the public mirror named in its manifest. Read Zed’s log for extension compilation or language-server launch failures.
Neovim
Neovim 0.11 or later can use this built-in LSP configuration directly. It registers the filetype and starts the server for AWL files, including files outside a Git workspace.
vim.filetype.add({ extension = { awl = "awl" } })
vim.lsp.config("awl", {
cmd = { "aion", "awl", "lsp" },
filetypes = { "awl" },
root_markers = { ".git" },
workspace_required = false,
})
vim.lsp.enable("awl")
The checkout’s editors/nvim-awl package also supplies filetype detection, an LSP config and optional format-on-save setup. Tree-sitter highlighting needs a separately installed AWL parser; LSP checking and formatting work through the Aion command.
Use the editor’s LSP log to diagnose launch failures. Confirm that its process environment can find the same executable used in the terminal.
On main, editors/zed-awl/src/lib.rs:9–46 selects the language-server command; editors/zed-awl/extension.toml:9–24 selects the grammar. The Neovim plugin’s setup is editors/nvim-awl/lua/awl/init.lua:96–120.