Skip to content

Make the server backend-free: the packaging supplies the render program - #2

Merged
thomasjm merged 5 commits into
masterfrom
command-backend
Nov 11, 2026
Merged

thomasjm merged 5 commits into
masterfrom
command-backend

Conversation

@thomasjm

@thomasjm thomasjm commented Nov 11, 2026 •

Copy link
Copy Markdown
Contributor

The server no longer knows any document format. --render EXE (and optionally --settle EXE) name the programs that render; they run in the document's directory with the task's layout and options in RENDER_* variables, write RENDER_OUTPUT, and may list what they read in RENDER_DEPS. The latex and pandoc backends and --backend are gone; that logic moves to codedown-languages, where a tweak needs no release here.

Without a --settle program there is no settle pass, so writers that have nothing to settle no longer run twice.

Debounce, quick/settle passes, cancellation, dependency hashing and rebuild, pause, resync, and the xdelta diffs are unchanged.

Tests drive the built server through lsp-test with shell scripts as render programs: start, diff against the last render, debounce coalescing, settle, no-settle, rebuild only on a changed dependency, overlay buffers shadowing disk, options, failure reporting, pause, resync. They are laid out as sandwich discovery over test/Spec/, with the session and event helpers in a test-lib internal library; CI puts the built server on PATH before running the test binary. nix develop -c stack test: 16 pass.

The version is back to 0.1.0.0 and the earlier releases and tags are deleted; the first release gets cut from this branch.

@thomasjm
thomasjm merged commit c36682d into master Nov 11, 2026
0 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant