Skip to content

extnd/vscode-lotusscript

Repository files navigation

LotusScript for VS Code

Syntax highlighting and snippets for HCL Domino / Lotus Notes LotusScript (.lss).

Features

  • Syntax highlighting covering the LotusScript language surface:
    • %REM / %END REM block 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 NotesXxx with ~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

Development

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

Credits

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.

License

MPL-2.0

About

LotusScript language extension for VSCode

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors