Syntax highlighting, diagnostics, and editing support for the Sigil programming language.
  • TypeScript 56%
  • JavaScript 44%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-22 14:48:31 +00:00
.forgejo/workflows ci: downgrade upload-artifact to v3 for GHES-compatible backends 2026-09-12 17:59:28 -03:00
scripts fix: sync extension with current Sigil lexer 2026-09-22 10:30:47 -03:00
snippets fix: sync extension with current Sigil lexer 2026-09-22 10:30:47 -03:00
src fix: retain cross-platform diagnostics defaults 2026-09-22 11:09:30 -03:00
static docs: Fix link on README; Adding LICENCE 2025-09-20 00:29:54 -03:00
syntaxes fix: sync extension with current Sigil lexer 2026-09-22 10:30:47 -03:00
.gitignore fix: sync extension with current Sigil lexer 2026-09-22 10:30:47 -03:00
.vscodeignore feat: VS Code extension v0.1.0 - grammar rewrite, editor config, diagnostics 2026-09-06 17:31:29 -03:00
language-configuration.json fix: sync extension with current Sigil lexer 2026-09-22 10:30:47 -03:00
LICENSE docs: Fix link on README; Adding LICENCE 2025-09-20 00:29:54 -03:00
package-lock.json fix: retain cross-platform diagnostics defaults 2026-09-22 11:09:30 -03:00
package.json fix: retain cross-platform diagnostics defaults 2026-09-22 11:09:30 -03:00
README.md fix: retain cross-platform diagnostics defaults 2026-09-22 11:09:30 -03:00
tsconfig.json feat: VS Code extension v0.1.0 - grammar rewrite, editor config, diagnostics 2026-09-06 17:31:29 -03:00

Sigil Language Support for Visual Studio Code

Syntax highlighting, diagnostics, and editing support for the Sigil programming language (.sl files) in Visual Studio Code.

vscode plugin image

Features

  • Syntax Highlighting for keywords, types, strings, numbers, operators, decorators, and string interpolation.
  • Diagnostics via the Sigil compiler (sigil --check --format=json) on save.
  • Offside Folding based on the language's indentation-significant syntax.
  • Smart Indentation after :-terminated lines and else if continuations.
  • Bracket Matching for (), [], {}.
  • Comment Toggling with # (Ctrl/Cmd + /).
  • Auto-Closing Pairs for brackets, quotes, and backticks.
  • Snippets for fn, class, if/else, for, loop, lambda, pipe, and more.

Requirements

The diagnostics feature needs the Sigil compiler installed locally. By default the extension invokes:

uv run python -m src.main --check --format=json <file>

from a clone of the compiler repo. Override the command, arguments, and working directory under Settings > Sigil.

Installation

  1. Open Visual Studio Code.
  2. Launch the Command Palette (Ctrl/Cmd + Shift + P).
  3. Run Extensions: Install Extensions.
  4. Search for Sigil Language Support and install it.
  5. Reload VS Code if prompted.

Usage

The extension activates automatically when a .sl file is opened. Diagnostics refresh on save; you can also run Sigil: Check File from the palette.

Example

# Single-line comment
const PI = 3.14159
let message: string = 'Hello, World!'
let interpolated: string = `Your value is {PI}`

fn greet(name: string) -> string:
    return `Hello, {name}!`

class Calculator:
    pub fn add(a: int32, b: int32) -> int32:
        return a + b

let result = Calculator.add(10, 20)

if result > 25:
    loop:
        print('Result is greater than 25')
        break
else:
    print('Result is not greater than 25')

Settings

Key Default Description
sigil.diagnostics.enable true Run the compiler on save and surface diagnostics inline.
sigil.compiler.command uv Command used to run the Sigil compiler.
sigil.compiler.args ["run", "python", "-m", "src.main"] Arguments preceding the file path. The extension appends --check --format=json <file>.
sigil.compiler.cwd "" Working directory of the compiler. Empty triggers auto-discovery.
sigil.compiler.timeoutMs 15000 Cancel a check run that takes longer than this.

Contributing

Issues and pull requests: rdenadai/sigil-vscode-language-support.

License

MIT.