AL
Sublime Text syntax highlighting for AL (Business Central)
Labels language syntax
Details
Installs
- Total 9
- Win 5
- Mac 2
- Linux 2
| Jun 10 | Jun 9 | Jun 8 | Jun 7 | Jun 6 | Jun 5 | Jun 4 | Jun 3 | Jun 2 | Jun 1 | May 31 | May 30 | May 29 | May 28 | May 27 | May 26 | May 25 | May 24 | May 23 | May 22 | May 21 | May 20 | May 19 | May 18 | May 17 | May 16 | May 15 | May 14 | May 13 | May 12 | May 11 | May 10 | May 9 | May 8 | May 7 | May 6 | May 5 | May 4 | May 3 | May 2 | May 1 | Apr 30 | Apr 29 | Apr 28 | Apr 27 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Windows | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
| Mac | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| Linux | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
Readme
- Source
- raw.githubusercontent.com
AL for Sublime Text
Syntax highlighting, completions, and symbol indexing for the AL programming language used in Microsoft Dynamics 365 Business Central.
Overview
| Metric | Value |
|---|---|
| Syntax rules | 409 lines, 90 scopes |
| Completions | 228 keyword/type completions |
| File types | .al, .dal |
| Sublime version | 4 (syntax v2) |
| Tests | syntax_test_al.al |
Features
| Feature | Details |
|---|---|
| Syntax highlighting | Full context-aware scoping for all AL constructs |
| Object declarations | codeunit, table, page, report, enum, etc. with ID and name |
| Procedures and triggers | Parameter types, return types, access modifiers |
| Attributes | [Scope('OnPrem')], [NonDebuggable], [EventSubscriber] |
| Preprocessor | #if, #else, #endif, #pragma with condition highlighting |
| Strings | Single-quoted 'text' and verbatim @'multiline' |
| AL-specific literals | Date (0D), time (0T), datetime (0DT), biginteger (1000L) |
| Keyword completions | All AL keywords and built-in types |
| Symbol indexing | Jump to procedures/triggers with Ctrl+R |
| Comment toggling | Line (Ctrl+/) and block (Ctrl+Shift+/) |
| Indentation | Automatic begin/end block indentation |
Installation
Package Control (recommended)
- Open Command Palette (
Ctrl+Shift+P) - Select
Package Control: Install Package - Search for
ALand install
Manual
cd "%APPDATA%/Sublime Text/Packages"
git clone https://github.com/SShadowS/sublime-al.git AL
LSP Support
For full language intelligence (go-to-definition, hover, diagnostics, call hierarchy, code lens), install LSP-AL:
- Install
LSP-ALvia Package Control - The AL Language Server is downloaded automatically — no VS Code required
Key Files
| File | Purpose |
|---|---|
AL.sublime-syntax |
Syntax definition (context-aware, v2 format) |
AL.sublime-completions |
228 keyword and type completions |
AL.tmPreferences |
Comment toggling and indentation rules |
AL.sublime-settings |
Default editor settings for AL files |
tests/syntax_test_al.al |
Syntax highlighting test suite |
Regenerating Completions
If the AL language adds new keywords, regenerate completions from the tree-sitter-al grammar:
node scripts/generate-completions.js /path/to/tree-sitter-al/grammar.js
Author: Torben Leth (sshadows@sshadows.dk) License: MIT (see LICENSE)