Skip to main content

Commands & Keymaps

Commands

All commands are available globally once the plugin loads.

Script Management

CommandDescription
:IgnitionDecodeDecode embedded scripts in current buffer. Prompts for selection if multiple scripts are found.
:IgnitionDecodeAllDecode all scripts in current buffer into separate virtual buffers.
:IgnitionEncodeEncode the current virtual buffer back into the source JSON. Called automatically on :w.
:IgnitionListScriptsShow all detected scripts in a floating window with previews.

Perspective Tools

CommandDescription
:IgnitionComponentTreeOpen an interactive tree view of Perspective components in the current view.json file.
:IgnitionFormatFormat the current buffer's JSON using Neovim's built-in formatter.
:IgnitionTabifyConvert spaces to tabs in JSON files (Ignition Designer uses tabs).

Integration

CommandDescription
:IgnitionOpenKindling [file]Open a .gwbk gateway backup file with Kindling. If no file is given, uses the current buffer.
:IgnitionInfoShow plugin version, configuration, and LSP status.

Default Keymaps

These keymaps are set for buffers with the ignition filetype.

Script Management

KeymapCommandDescription
<localleader>id:IgnitionDecodeDecode scripts
<localleader>ia:IgnitionDecodeAllDecode all scripts
<localleader>il:IgnitionListScriptsList scripts
<localleader>ie:IgnitionEncodeEncode back to JSON

Perspective Tools

KeymapCommandDescription
<localleader>it:IgnitionComponentTreeOpen component tree
<localleader>if:IgnitionFormatFormat JSON

Integration

KeymapCommandDescription
<localleader>ii:IgnitionInfoPlugin info
<localleader>ik:IgnitionOpenKindlingOpen in Kindling
tip

The default <localleader> is \ (backslash). So <localleader>id means pressing \ then i then d.

Component Tree Keymaps

When the component tree is open (:IgnitionComponentTree), these keymaps are available:

KeymapDescription
<CR>Navigate into selected component or toggle fold
dDelete/remove component from view
qClose the component tree
RRefresh the tree from the source file

Virtual Buffer Behavior

When you decode a script, the plugin creates a virtual buffer with special properties:

  • Buffer type: acwrite — saves are intercepted by the plugin
  • Filetype: python — enables syntax highlighting and LSP
  • On save (:w): The script is encoded and written back to the source JSON buffer
  • On close: The virtual buffer is cleaned up and its tracking metadata is removed

The source JSON buffer is marked as modified after encoding but is not auto-saved to disk. You must explicitly save it.