Releases: mhensberg2003/ALzed
v0.1.0 — first release
First release of ALzed 🎉
ALzed brings Microsoft Dynamics 365 Business Central AL language support to Zed — feature parity with the daily inner loop of the official VS Code AL extension, minus debugging (planned).
It works by shipping a small native Rust binary (alzed-bridge) that sits between Zed and Microsoft's AL Language Server, translating between vanilla LSP (what Zed speaks) and the proprietary al/* protocol (what the AL server requires). The bridge does the activation handshake (al/loadManifest → al/setActiveWorkspace) that the AL server needs before it'll respond to anything, normalizes its quirks, and adds AL-specific UX on top.
What works
| Feature | Status |
|---|---|
Syntax highlighting (.al, .dal) |
✅ |
| Hover, completion, go-to-definition | ✅ |
| Diagnostics (errors, warnings, code analyzers) | ✅ |
Symbol package download (al/downloadSymbols) |
✅ |
Symbol package check (al/checkSymbols) |
✅ |
Build (al/createPackage) |
✅ |
Publish (al/fullDependencyPublish) |
✅ |
| Run object → BC web client | ✅ |
28 hand-authored snippets (ttable, tpage, tcodeunit, ...) |
✅ |
| Toast notifications on command results | ✅ |
$/progress status-bar spinners for long ops |
✅ |
| Debug (F5 via DAP) | ⛔ planned |
| Test runner | ⛔ planned |
Code actions on .al files
Press Ctrl+. on any .al file to surface five new commands:
- AL: Download symbols — pull symbol packages for dependencies into
.alpackages/ - AL: Check symbols — verify symbol packages are present and up to date
- AL: Build package — compile the project into a
.appfile - AL: Publish — build and push to the BC server in
launch.json - AL: Run object — open the configured
startupObjectin the BC web client
Each command emits a toast on completion and a $/progress spinner while running.
Snippets
Type any of these prefixes for tab-stop scaffolding:
ttable tpage tpagecard tpageext tcodeunit
treport tquery txmlport tenum tenumext
tinterface tprocedure tlocalproc tinternalproc
ttrigger tif tcase tfor tforeach
twhile trepeat terror ttest teventsub
tfield tpageaction tpagefield ttableext
Install
You'll need the official VS Code AL extension installed for the underlying Microsoft AL Language Server — ALzed does not redistribute it. See the README for the full setup, but in short:
- Download the bridge binary for your OS from the assets below.
- Download
alzed-zed-extension.tar.gzand extract it. - In Zed:
Ctrl+Shift+P→ "zed: install dev extension" → pick the extracted folder. - Wire it together in your
settings.json:
Downloads
| Asset | Platform |
|---|---|
alzed-bridge-windows-x86_64.exe |
Windows |
alzed-bridge-linux-x86_64 |
Linux x86_64 |
alzed-bridge-macos-arm64 |
macOS Apple Silicon |
alzed-bridge-macos-x86_64 |
macOS Intel |
alzed-zed-extension.tar.gz |
Zed extension source (any OS) |
Disclaimer
ALzed is an independent, community-built project. It is not affiliated with, endorsed by, or sponsored by Microsoft Corporation or Zed Industries. "Microsoft", "Dynamics 365", "Business Central", "Visual Studio Code", and "AL" are trademarks of Microsoft Corporation. "Zed" is a trademark of Zed Industries. No proprietary Microsoft binaries or source files are bundled, modified, or redistributed by this project.
{ "lsp": { "al": { "binary": { "path": "C:\\Users\\you\\bin\\alzed-bridge.exe", "arguments": [ "--al-server", "C:\\Users\\you\\.vscode\\extensions\\ms-dynamics-smb.al-17.0.2273547\\bin\\win32\\Microsoft.Dynamics.Nav.EditorServices.Host.exe" ] }, "settings": { "packageCachePath": "./.alpackages", "enableCodeAnalysis": false } } } }