Repository navigation
Red Editor v0.9.0
Red v0.9.0: TypeScript and ESLint together, plugins in your language
Red v0.9.0 lets multiple language servers work on the same file and adds a JSON-RPC plugin interface for external programs. JSON Workbench demonstrates the new interface with live jq queries and reviewable document transformations.
Highlights
- New: Use TypeScript and ESLint together. Attach multiple configured language servers to the same document. Diagnostics and code actions are combined, while completion, hover, and navigation use a capable server. Install the server executables and configure ESLint in Red's user config; attachment is automatic afterward. External Prettier formatting keeps its precedence.
- New: Write plugins in your language. Run external plugins as supervised JSON-RPC processes over stdio. Plugins can contribute commands, panels, pickers, statusline content, and revision-checked document edits, with owner-scoped configuration and storage. Existing Husk plugins remain supported.
- New: Query and transform JSON with JSON Workbench. Install the example plugin to run jq filters against a pinned document or selection, edit queries with live previews, explore results, and apply or undo checked transformations. Saved query history, result documents, and copying are included. Requires Python 3.9 or newer and jq on PATH; the plugin is installed separately.
- Improved: Update the WebAssembly runtime. Wasmtime is updated to 48.0.6, addressing the security advisories reported against the previously pinned 48.0.5 release.
What's Changed
Features
- lsp: Support multiple servers per document by @fcoury-oai in #383
- plugins: Add rpc message feedback by @fcoury-oai
- plugins: Refine json workbench panels by @fcoury-oai
- plugins: Validate json workbench distribution by @fcoury-oai
- plugins: Explore rpc json results by @fcoury-oai
- plugins: Add rpc panel actions by @fcoury-oai
- plugins: Support inactive rpc document edits by @fcoury-oai
- plugins: Add rpc selection context by @fcoury-oai
- plugins: Add live rpc document previews by @fcoury-oai
- plugins: Add editable RPC documents by @fcoury-oai
- plugins: Add reusable JSON queries by @fcoury-oai
- plugins: Add JSON workbench example by @fcoury-oai
- plugins: Add rpc pickers by @fcoury-oai
- plugins: Install rpc release artifacts by @fcoury-oai
- plugins: Add rpc config and storage by @fcoury-oai
- plugins: Restrict rpc child environments by @fcoury-oai
- plugins: Keep rpc lifecycle work responsive by @fcoury-oai
- plugins: Keep input responsive during rpc commands by @fcoury-oai
- plugins: Add stable rpc document targeting by @fcoury-oai
- plugins: Add RPC statusline contributions by @fcoury-oai
- plugins: Add RPC text panels by @fcoury-oai
- plugins: Deliver RPC editor events by @fcoury-oai
- plugins: Add RPC document transactions by @fcoury-oai
- plugins: Add RPC document snapshots by @fcoury-oai
- plugins: Activate JSON-RPC commands by @fcoury-oai
- plugins: Add JSON-RPC process transport by @fcoury-oai
- plugins: Define JSON-RPC package contract by @fcoury-oai
Bug Fixes
- plugins: Keep oversized rpc responses recoverable by @fcoury-oai
- plugins: Handle interleaved messages in rpc example by @fcoury-oai
- plugins: Enforce edit bounds and Husk command precedence by @fcoury-oai
Documentation
- plugins: Plan json workbench ux by @fcoury-oai
Tests
- plugins: Await complete panel events by @fcoury-oai
- plugins: Accept native jq newlines by @fcoury-oai
- plugins: Stabilize json workbench explorer by @fcoury-oai
- plugins: Stabilize rpc ci by @fcoury-oai
- plugins: Stabilize rpc ci by @fcoury-oai
- plugins: Use a native absolute path in RPC package test by @fcoury-oai
- plugins: Add protocol v1 envelope conformance fixture by @fcoury-oai
Contributors
- @fcoury in #386
- @fcoury-oai in #383
Installation
Homebrew
brew install codersauce/tap/redmacOS
curl --proto '=https' --tlsv1.2 -fsSL https://getred.dev/install.sh | shLinux
curl --proto '=https' --tlsv1.2 -fsSL https://getred.dev/install.sh | shWindows
irm https://getred.dev/install.ps1 | iexInstall Codex separately and run codex login to enable agent support.
Checksums
Download SHA256SUMS.txt from this release to verify archives.