• Sign In



  • Categories

    Extension Details



    Readme

    Parinfer for Nova

    Parinfer for Panic Nova:
    keep parentheses and indentation in agreement as you edit Lisp code, so you can
    manage structure by indentation (or by parens) without fighting the brackets.

    Works with Clojure/ClojureScript (and other Lisps if their syntaxes are
    installed): .clj, .cljs, .cljc, .edn, .bb, .scm, .lisp, .fnl, …

    Modes

    • Indent Mode (default) — infers close-parens from your indentation (it may
      add or remove parens). The classic "never touch parens" experience.
    • Paren Mode — preserves the parens you type and adjusts indentation to
      match. Safe and predictable; great for existing files.

    Smart Mode is intentionally not included: it needs precise change deltas that
    Nova's editor API doesn't expose, which makes it unreliable.

    Usage

    Parinfer is off by default. Enable it via:

    • Editor → Parinfer: Toggle, or Use Paren Mode / Use Indent Mode
      (also in the Command Palette), or
    • Settings → enable Parinfer and pick a mode (global or per-workspace).

    A brief notification confirms the active mode when you toggle or switch. (Nova
    has no extension API for a status-bar indicator yet, so the notification stands
    in for one.)

    Notes / limitations

    • It needs a Lisp syntax to be active for the file (e.g. the Clojure
      extension provides the clojure syntax).
    • Parinfer runs on the whole buffer per change; very large files are skipped.
    • Programmatic edits may not coalesce into Nova's native undo as cleanly as
      ordinary typing.

    License

    MIT. Bundles parinfer.js
    (MIT, © Shaun Lebron).

    The extension icon is the official Parinfer logo,
    licensed CC BY-NC-SA.

    Release Notes

    Changelog

    1.0.0

    Initial release.

    • Parinfer integration for Lisp buffers via the bundled parinfer.js.
    • Indent Mode (default) and Paren Mode, selectable globally or per-workspace.
    • Off by default; "Parinfer: Toggle / Use Paren Mode / Use Indent Mode"
      commands, with a notification confirming the active mode.
    • Minimal-diff edits and cursor preservation; large buffers are skipped.

    License

    MIT License

    Copyright (c) 2026 Time Travel Toaster

    Permission is hereby granted, free of charge, to any person obtaining a copy
    of this software and associated documentation files (the "Software"), to deal
    in the Software without restriction, including without limitation the rights
    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    copies of the Software, and to permit persons to whom the Software is
    furnished to do so, subject to the following conditions:

    The above copyright notice and this permission notice shall be included in all
    copies or substantial portions of the Software.

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    SOFTWARE.

    This extension bundles parinfer.js (https://github.com/parinfer/parinfer.js),
    copyright (c) Shaun Lebron, used under its own license (see Scripts/parinfer.js).