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 ProjectStructured Text: Open Runtime PanelStructured Text: Start DebuggingStructured Text: Run All TestsStructured Text: Open HMI PreviewStructured 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.luaeditors/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.jsoneditors/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-lspinstalled and available onPATH.- Workspace with Structured Text files (
.stand/or.pou).
Neovim Setup¶
Reference files:
editors/neovim/lspconfig.luaeditors/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.jsoneditors/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:
- Neovim and Zed reference configs exist and contain required keys.
- Core LSP workflow test coverage remains green for:
- diagnostics
- hover
- completion
- formatting
- 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¶
- Standalone IDE mode (no runtime cycle):
trust-runtime ide serve --project /path/to/project --listen 127.0.0.1:18080 - Runtime-hosted mode:
trust-runtime run --web --project /path/to/project - 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: