Skip to content

Editor integration ​

Install the current stable planq executable before configuring an editor:

bash
planq version
planq lsp

The language server runs over standard input/output. Keep stdout reserved for LSP JSON-RPC. Editor integrations do not download the CLI or reimplement Plan parsing, validation, references, or formatting.

VS Code ​

Install PlanQ by publisher planq-cli from the Visual Studio Marketplace:

bash
code --install-extension planq-cli.planq

Open a .plan file and confirm that the language mode is Plan. Diagnostics, completion, hover, definitions, references, rename, and Format Document come from planq lsp.

If VS Code cannot find the executable, first run planq version in the environment used to launch VS Code. Then set the machine-scoped plan.server.path setting to the absolute executable path:

json
{
  "plan.server.path": "/absolute/path/to/planq"
}

Do not commit a developer-specific path to workspace settings. The extension always appends the lsp command itself.

Run Plan: Open Preview to Side from a saved local file to open the read-only Gantt workbench. Desktop localhost preview is supported and requires access to the official PlanQ site. Automatic preview port mapping for Remote SSH, Dev Containers, and Codespaces is not supported.

For offline installation, obtain the official versioned VSIX through PlanQ support, then run:

bash
code --install-extension planq-0.1.2.vsix
code --list-extensions --show-versions | grep '^planq-cli\.planq@'

The VSIX does not contain the planq executable.

Emacs ​

plan-ts-mode supports Emacs 29.1 or later. Install the mode from the official public repository:

elisp
(require 'package)
(package-vc-install "https://github.com/planq-cli/plan-ts-mode")
(require 'plan-ts-mode)

Install the Plan tree-sitter grammar from the same versioned repository:

bash
git clone --depth 1 --branch v1.0.0 \
  https://github.com/planq-cli/plan-ts-mode.git
cd plan-ts-mode/grammar/tree-sitter-plan
scripts/build-dylib.sh
scripts/install-grammar.sh

Restart Emacs, open a .plan file, and verify:

elisp
(derived-mode-p 'plan-ts-mode) ; => t
(treesit-ready-p 'plan t)      ; => t

The mode and grammar provide highlighting, comments, structural indentation, navigation, and imenu without an LSP client. Missing grammar support does not block the major mode; Emacs shows the public installation link and skips tree-sitter setup.

Format on save uses the separately installed planq executable. Set plan-ts-mode-plan-command when it is not on Emacs' exec-path.

The repository also includes an optional lsp-bridge configuration for planq lsp. Installing the mode does not enable lsp-bridge or modify global LSP settings.

Neovim ​

PlanQ does not publish a Neovim plugin. You may configure a standard LSP client to launch planq lsp for files ending in .plan. Syntax highlighting, installation packaging, and an embedded Gantt preview are not provided as a supported Neovim integration.

Formatting behavior ​

Formatting is deterministic and validates the result. It can materialize derived IDs and normalize layout, but it does not repair business constraints or silently migrate old reference syntax. Review changes before committing.

For a browser-only view while editing, run planq dev in a terminal. See Local Preview.

PlanQ documentation