Skip to content

Editors

Editor matrix

Editor Best for Agent support Status
VS Code full truST workflow strongest primary
Neovim LSP-heavy editing external agents and shell flows supported
Zed lighter GUI editing external agents and shell flows supported
Browser IDE runtime-hosted editing and demos product/web flows available
Browser HMI operator-facing browser use not an authoring surface available

VS Code

Use VS Code when you want the full integrated loop in one place:

  • diagnostics
  • formatting
  • code actions
  • runtime panel
  • debugger
  • ST tests
  • HMI preview
  • PLCopen import/export commands

The commands most users start with are:

  • Structured Text: New Project
  • Structured Text: Open Runtime Panel
  • Structured Text: Start Debugging
  • Structured Text: Run All Tests
  • Structured Text: Open HMI Preview
  • Structured Text: Import PLCopen XML

Read these next:

Neovim

Use Neovim when you want a lighter client around the same trust-lsp surface.

Supported baseline:

  • diagnostics
  • hover
  • completion
  • formatting
  • go to definition

Reference files in the repo:

  • editors/neovim/lspconfig.lua
  • editors/neovim/README.md

Zed

Use Zed when you want a lighter GUI editor with the same baseline LSP feature set as Neovim.

Reference files in the repo:

  • editors/zed/settings.json
  • editors/zed/README.md

Non-VS-Code setup guide

The Neovim/Zed setup guide is rendered below:

Editor Expansion v1: Neovim + Zed

This guide documents the official non-VS-Code editor setup for trust-lsp. It covers the Deliverable 6 baseline:

  • Neovim reference configuration
  • Zed reference configuration
  • Core LSP workflow validation scope

Scope

Supported in this guide:

  • Diagnostics (textDocument/publishDiagnostics)
  • Hover (textDocument/hover)
  • Completion (textDocument/completion)
  • Formatting (textDocument/formatting)
  • Go to definition (textDocument/definition)

Out of scope for this editor expansion phase:

  • VS Code runtime panel
  • VS Code debugger command UX

Prerequisites

  • trust-lsp installed and available on PATH.
  • Workspace with Structured Text files (.st and/or .pou).

Neovim Setup

Reference files:

  • editors/neovim/lspconfig.lua
  • editors/neovim/README.md

Copy the reference config to ~/.config/nvim/lua/trust_lsp.lua and then load it.

Minimal integration pattern:

local trust_lsp = require("trust_lsp")
trust_lsp.setup()

The reference config registers a trust_lsp server, enables omnifunc completion, and installs keymaps for hover, definition, references, and formatting.

Zed Setup

Reference files:

  • editors/zed/settings.json
  • editors/zed/README.md

Install by copying the settings file to .zed/settings.json in your workspace. The profile binds the Structured Text language to trust-lsp, enables language server formatting, and enables format-on-save.

Validation Contract

The editor-expansion smoke gate is:

scripts/check_editor_integration_smoke.sh

The gate validates:

  1. Neovim and Zed reference configs exist and contain required keys.
  2. Core LSP workflow test coverage remains green for:
  3. diagnostics
  4. hover
  5. completion
  6. formatting
  7. definition

This smoke gate runs in CI as the Editor Expansion Smoke job.

Browser IDE

Use the browser IDE when you want runtime-hosted editing or a web-delivered experience.

Start it with:

trust-runtime ide serve --project ./my-plc

Use it for:

  • quick onboarding without editor setup
  • demos and shared walkthroughs
  • browser-hosted config/ST editing

Detailed guide:

Web IDE Browser Guide

This guide covers the product Web IDE hosted by trust-runtime at /ide. It is separate from the static docs/demo/ showcase.

Scope

The /ide surface is the runtime-hosted browser IDE for real project work: - project selection/open flow (including no-bundle startup) - workspace tree navigation - file create/rename/move/delete - multi-tab editing with save/format/build/test/validate workflows - language intelligence (diagnostics, hover, completion, definition, references, rename)

Start the Web IDE

  1. Standalone IDE mode (no runtime cycle): trust-runtime ide serve --project /path/to/project --listen 127.0.0.1:18080
  2. Runtime-hosted mode: trust-runtime run --web --project /path/to/project
  3. Open: http://127.0.0.1:18080/ide

Notes: - trust-runtime config-ui serve ... is still accepted as a deprecated alias for ide serve. - If startup has no active project, use the IDE "Open Folder" flow to select a workspace root.

Core API Surface

Session/capability: - GET /api/ide/capabilities - POST /api/ide/session - GET /api/ide/project - POST /api/ide/project/open

Workspace/filesystem: - GET /api/ide/tree - POST /api/ide/fs/create - POST /api/ide/fs/rename - POST /api/ide/fs/move - POST /api/ide/fs/delete - GET /api/ide/fs/audit

Documents/language: - GET /api/ide/files - GET /api/ide/file - POST /api/ide/file - POST /api/ide/diagnostics - POST /api/ide/hover - POST /api/ide/completion - POST /api/ide/definition - POST /api/ide/references - POST /api/ide/rename - POST /api/ide/format - GET /api/ide/symbols

Build/test/validation: - POST /api/ide/build - POST /api/ide/test - POST /api/ide/validate - GET /api/ide/task

Health/telemetry: - GET /api/ide/health - POST /api/ide/frontend-telemetry

Validation and Evidence

Implementation contract/spec: - docs/internal/runtime/trust-runtime-web-ide-full-specification.md

Checklist and evidence: - docs/internal/testing/checklists/web-ide-full-implementation-checklist.md - docs/internal/testing/evidence/web-ide-full-checklist-evidence-2026-02-15.md

Accessibility/collaboration references: - docs/guides/WEB_IDE_ACCESSIBILITY_BASELINE.md - docs/guides/WEB_IDE_COLLABORATION_MODEL.md

Browser HMI

Use Browser HMI when you were given a runtime URL and only need the operator surface.

Start here:

Next