Handoff — 2026-09-09 — the fourth editor, and two things it left for this library
State
turbo-moonbit exists, is green, and depends on v0.4.2 from the module proxy with no active replace. Registering it here cost five documentation edits and one package comment, and no code. Working tree has those edits uncommitted.
In flight
Nothing. The edits are complete.
Next steps
- Commit the four-editor edits.
- Decide on the two items below. Both are real, both help every editor, and neither was touched from turbo-moonbit because a library change belongs to this repository's own
/methodical-devcycle.
Open questions / blockers
- Send
workspace/didChangeWatchedFiles? moon-lsp works a package's file list out once and never revisits it, so a.mbtfile created after the server started is never diagnosed: File ▸ New, save as a.mbt, and the gutter stays blank until the editor restarts. Reproduced against the raw protocol with a hand-written client, independently of this library, so it is not a client bug — it is a notification this client does not send.turbo-moonbit'sTestAFileCreatedAfterTheServerStartedIsNotDiagnosedpins the current behaviour and will fail when it changes, which is the right way round. - Give
syntax.attributeits own colour inturbo-classic? It is{ fg = "yellow" }, and so issyntax.identifier. The other seven themes distinguish them. The consequence is that Turbo MoonBit's labelled arguments (name~) and attributes (#deprecated(…)) are indistinguishable from ordinary names in the default theme, and Turbo Rust's#[derive(Debug)]equally so. The fifth theme rule — "two syntax classes a reader meets side by side must not be drawn identically" — is the one no measurement finds, and this is an instance of it.
Watch out for
- The sweep for hardcoded language names was run over the whole library and came back clean. If it is run again, expect about twenty hits and read all of them: they are verbs (
"Go to line"), doc-comment examples of the seam, import paths, and"written in Go.", which is true of every editor here. A sweep that flags twenty lines and explains none gets skipped the next time.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|