Skip to content

Releases: mhensberg2003/ALzed

v0.1.0 — first release

21 May 18:59

Choose a tag to compare

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/loadManifestal/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 .app file
  • AL: Publish — build and push to the BC server in launch.json
  • AL: Run object — open the configured startupObject in 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:

  1. Download the bridge binary for your OS from the assets below.
  2. Download alzed-zed-extension.tar.gz and extract it.
  3. In Zed: Ctrl+Shift+P → "zed: install dev extension" → pick the extracted folder.
  4. Wire it together in your settings.json:
{
  "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
      }
    }
  }
}

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.