LSP for Rebol & Recoil
  • Rebol 93.3%
  • JavaScript 6.5%
  • Shell 0.2%
Find a file
2026-04-29 23:20:39 +02:00
.gitea/workflows CI: make Marketplace/OpenVSX publish steps secret-gated in bash 2026-04-29 23:18:46 +02:00
docs Docs: Forgejo Actions publishing checklist 2026-04-29 23:20:39 +02:00
extension-rebol VS Marketplace: unique display name for Rebol extension (0.4.4) 2026-04-29 23:07:42 +02:00
extension-recoil Package bundled LSP scripts in VSIX (0.4.2) 2026-04-29 22:07:27 +02:00
lsp LSP: fix JSON parse errors; bump extensions to 0.4.1 2026-04-29 21:43:37 +02:00
.gitignore Initial commit: Rebol/Recoil extensions and recoil-lsp 2026-04-05 07:24:35 +02:00
README.md Initial commit: Rebol/Recoil extensions and recoil-lsp 2026-04-05 07:24:35 +02:00
TASKS.md Initial commit: Rebol/Recoil extensions and recoil-lsp 2026-04-05 07:24:35 +02:00

rebol-editor-support

VS Code extensions and a small Rebol language server (lsp/recoil-lsp.r3) that runs Recoil and Rebol linters over stdio and publishes LSP diagnostics.

Layout

  • extension-rebol/ — Syntax highlighting (.r3, .reb, .r, …) + LSP client.
  • extension-recoil/ — .rcl + LSP client.
  • lsp/ — recoil-lsp.r3, transport.r3, linter.r3, rebol-syntax-linter.r3.

Requirements

  • r3 on PATH (Ren-C / Rebol 3 with load/as … 'json and encode 'json).
  • Recoil checkout for .rcl linting: set RECOIL_ROOT to the repo root, or place Recoil as a sibling of this repo (default resolved from lsp/ is ../../Recoil).

Behaviour

  • Any .rcl path can be linted (not only files under the Recoil tree), as long as a Recoil home directory exists as above.
  • Unsaved buffers: diagnostics use a temporary file with the same suffix as the document; didSave lints from disk.
  • Full sync (textDocumentSync.change = 2): each didChange updates in-memory text and runs diagnostics. On piped stdio, Ren-C’s wait [stdin …] does not reliably wake, so the server does not use a separate idle debounce timer; the client may coalesce didChange traffic.

Developing extensions

cd extension-rebol && npm install
# “Run Extension” from VS Code on this folder

Point rebol.lspScript / recoil.scriptPath at lsp/recoil-lsp.r3 if the default path search does not find it.

Versions

Extensions and LSP are aligned at 0.4.x; see each package.json and recoil-lsp.r3 header.