Aero Language for VS Code

This extension is published on the VS Code Marketplace. Install it
online, straight from inside VS Code — no download required. A .vsix file
is also provided for offline machines. Both routes are described under
Install.
Syntax highlighting and language server client for the
Aero programming language.
Syntax highlighting works out of the box. Point the extension at an Aero
compiler binary and it also runs aero --lsp as a subprocess, which brings
compiler diagnostics — real error and warning squiggles in the editor — plus
hover, go-to-definition and completion.
Features
Syntax highlighting (always on)
The bundled TextMate grammar covers the Aero 1.2.1 language:
- All keywords (
let, fn, match, struct, union, enum, trait,
impl, arena, tensor, gpu, ...), primitive and standard types, and the
Some / None / Ok / Err constructors.
- String, char, integer, float and boolean literals, including escape sequences
and
%-placeholders inside format strings.
- Line, block and doc comments (
//, /* */, ///, /** */).
- Function definitions and calls, type declaration names,
impl targets, enum
variant paths (Maybe::Just), member access and lifetime parameters ('a).
- The full operator set:
->, =>, ::, comparison, shifts, logical, bitwise
and assignment operators.
Language configuration adds bracket matching, quote auto-pairing, comment
toggling and indentation rules for every block construct.
Language server (opt-in)
Set aero.lsp.executablePath to the Aero compiler and the extension:
- Launches the compiler with
--lsp and speaks JSON-RPC 2.0 over stdin/stdout
(Content-Length framing), using the official vscode-languageclient.
- Performs the LSP handshake (
initialize → initialized), syncs the full
document text on open, change, save and close.
- Renders
textDocument/publishDiagnostics results from the compiler as
error/warning squiggles in the editor, the Problems panel and the scrollbar.
- Forwards hover, go-to-definition and completion requests to the compiler.
- Restarts the server automatically whenever
aero.lsp.executablePath changes.
Compiler 1.2.1 is the first release where the diagnostics payload is
well-formed JSON, so diagnostics actually reach the editor. Paths containing
spaces are handled directly — no quoting workaround is required.
Requirements
- VS Code 1.85 or newer.
- For the language server: an Aero compiler binary (
aero.exe) built from
1.2.1 or newer. The compiler is not bundled with this extension; download it
from the Aero release page.
Install
Option 1 — from the VS Code Marketplace (online)
This extension is published on the VS Code Marketplace as
serein.aero-lang.
Open the Extensions view (Ctrl+Shift+X), search for Aero Language and
click Install — or run:
code --install-extension serein.aero-lang
Installing from the Marketplace also gives you automatic updates.
Option 2 — from a .vsix file (offline)
Use this route when the target machine has no internet access. The package
ships in the
aero-lang-vscode repository
under VS Code Extension 1.2.x/.
From the command line:
code --install-extension aero-lang-1.2.2.vsix
From the VS Code UI:
- Press
Ctrl+Shift+P and run Extensions: Install from VSIX....
- Select
aero-lang-1.2.2.vsix.
- Reload the window if VS Code asks you to.
To install by hand instead, unpack the .vsix into your extensions directory:
%USERPROFILE%\.vscode\extensions\serein.aero-lang-1.2.2
Usage
- Install the extension.
- Open Settings (
Ctrl+,) and search for aero.lsp.executablePath.
- Set it to the absolute path of your compiler, for example
C:\Aero\bin\aero.exe.
- Open any
.aero file. Highlighting is immediate; diagnostics appear once
the compiler process has finished starting.
Leave the setting empty for syntax highlighting only.
Settings
| Setting |
Default |
Description |
aero.lsp.executablePath |
"" |
Absolute path to the Aero compiler binary. When set, the extension launches it with --lsp for diagnostics, hover, go-to-definition and completion. When empty, only syntax highlighting is active. |
Troubleshooting
No diagnostics appear. Check that aero.lsp.executablePath points at an
existing file and that the compiler is 1.2.1 or newer. Open the
Aero Language Server output channel (Ctrl+Shift+U, then pick it from the
dropdown) to see what the client and server exchanged. If the path is missing,
the extension reports it with an Open Settings action instead of failing
silently.
Highlighting looks wrong. The grammar tracks the compiler version; make
sure the extension version matches your compiler.
Package a VSIX
npm install
npm run compile
npx vsce package
Use the official vsce tool. Archiving the folder by hand produces a .vsix
whose manifest cannot be parsed by VS Code.
License
MIT