Syntax highlighting and snippets for HCL Domino / Lotus Notes LotusScript (.lss).
- Syntax highlighting covering the LotusScript language surface:
%REM/%END REMblock comments (and the non-standard%ENDREM)- Preprocessor directives (
%INCLUDE,%IF,%DEFINE, ...) - All three string literal forms:
"...",|...|,{...} ForAll ... End ForAll,Use,UseLSX,Declare Lib,Option- Sub / Function / Property Get|Set|Let definitions
- Class and Type blocks
- Numeric literals with hex, octal, binary, type suffix, and date literal support
- Statement continuation (
_at end of line) Dim ... As New NotesXxxwith ~60+ Notes classes recognized as a distinct scope
- Snippets for common LotusScript idioms (If, Sub, Function, Class, ForAll, Select Case, On Error, agent Initialize skeleton, etc.)
- Language configuration with bracket matching, auto-close for
",|,(),[], and indentation rules
The grammar is authored in YAML (syntaxes/lotusscript.yaml-tmlanguage) and compiled to JSON at build time.
Requires Bun 1.3+.
bun install
bun run validate # validate YAML against schemas
bun run convert # YAML -> dist/*.json
bun run test # convert + run grammar tests against syntaxes/tests/*.lss
bun run package:dev # produce a .vsix
bun run install:dev # build and install locally
Build scaffolding (YAML-to-JSON pipeline, validation script, CI layout) was seeded from serkonda7/vscode-vba and remains under MPL-2.0. The LotusScript grammar itself is original work.