ADL VS Code Extension
A Visual Studio Code extension that provides syntax highlighting and code snippets for the openEHR Archetype Definition Language (ADL 1.4 and ADL 2, file extensions .adl and .adls).
Features
- Syntax highlighting for ADL section keywords, archetype identifiers,
[idN] / [atN] / [acN] codes, terminology codes ([ISO_639-1::en], [local::at0001], …), paths, strings, comments, and operators.
- Code snippets for common ADL constructs: archetype headers (1.4 and 2), language/description/definition sections,
ELEMENT / CLUSTER blocks, DV_QUANTITY / DV_CODED_TEXT / DV_TEXT / DV_COUNT / DV_DATE_TIME value constraints, term-definition entries.
- Completion for version-aware section keywords, RM type names, and constraint keywords (
matches, occurrences, cardinality, existence, is_in), suppressed inside strings and comments.
- Hover documentation for section keywords and RM / constraint types, including the cross-version equivalent of a keyword (e.g.
ontology ↔ terminology).
- Version-aware diagnostics that flag ADL 2 keywords in a
.adl file and vice versa, debounced during editing.
- Language configuration: line comments (
--), bracket matching, auto-closing pairs, indentation rules.
Planned features (grammar refinements, a real ADL parser behind a language server, RM validation) are tracked in ROADMAP.md.
Installation
Once published, install via the Visual Studio Marketplace or Open VSX:
code --install-extension openehr-no.adl-vscode-extension
From source
git clone https://codeberg.org/openEHR-no/adl-vscode-extension.git
cd adl-vscode-extension
code .
Then press F5 to launch an Extension Development Host with the bundled sample archetypes (test/archetypes/) preloaded.
Usage
Open any .adl or .adls file. Highlighting and snippets activate automatically. Type a snippet prefix (adl14, adl2, element, cluster, dvq, dvct, …) and press Tab to expand.
Contributing
Contributions are welcome on Codeberg. Please open an issue before submitting larger changes, and read ROADMAP.md to see what is already planned.
License
Apache License 2.0. See LICENSE for the full text.