• Sign In



  • Categories

    Extension Details



    Readme

    Liquidsoap for Nova

    Liquidsoap language support for Panic's Nova editor, ported from the official vscode-liquidsoap extension maintained by Savonet.

    This extension is not maintained by Savonet.

    Features

    • Syntax highlighting
    • Autocomplete (functions, keywords, types, encoders, preprocessor directives)
    • Syntax validation (unclosed blocks, mismatched brackets, unclosed strings)
    • Code formatting via prettier + liquidsoap-prettier (Opt+Shift+F or on save)
    • Automatic indentation
    • Code folding

    Installation

    The Nova way

    Install this from the Extension library.

    The easy way

    Double-click the extension.

    The hard way

    Symlink the extension bundle into Nova's extensions directory:

    ln -s /path/to/Liquidsoap.novaextension \
      ~/Library/Application\ Support/Nova/Extensions/Liquidsoap.novaextension
    

    Restart Nova. Any .liq file will activate the extension.

    Formatting requires a working npx (Node.js). The extension will fetch the latest prettier and liquidsoap-prettier automatically the first time you format — no manual npm install is required. Subsequent formats use npx's local cache.

    If you'd rather use your own prettier install (e.g. to pin a specific version, or to work offline), set Settings → Extensions → Liquidsoap → Path to prettier executable to your prettier binary and make sure liquidsoap-prettier is resolvable from your workspace.

    Issues

    You're welcome to submit any issues you may find in this product.

    License

    MIT

    Release Notes

    25 MAY 2026

    Find variables inside def ... end and suggest those, if outside of opened ( or [.

    02 MAY 2026

    Index top-level name = … assignments as variable symbols, so they show up in the dictionary / completion suggestions alongside def and let bindings.
    Also index top-level name := … ref assignments, both in the syntax symbol provider and the cross-file extractor.
    Fix %-prefixed completions (e.g. %wav, %mp3) doubling the sigil to %%wav when accepted — the completion provider now matches the leading % so the inserted text overwrites it instead of stacking on top.

    NOTE: 0.1.4 skipped due to Nova being helpful with the version numbers.

    30 APRIL 2026

    Port grammar coverage from the upstream VSCode extension: time predicates (1h30m), doc tags inside comments (@param, @category, @argsof, @flag, @docof), string interpolation #{...}, dereference operator !ident, dotted arithmetic +. -. *. /., let pattern bindings, let json.parse / yaml.parse, and for-loop variable capture.
    Add cross-file completions: scan sibling .liq files in the same directory and suggest their top-level def/let/assignment names. Cached per-file by mtime. Toggle via the new "liquidsoap.crossFileCompletions" setting (default enabled, with a per-workspace override).

    08 APRIL 2026

    Fix a bug that led to some expressions being interpreted as other types.

    04 APRIL 2026

    Initial commit.