turbo-editors/turbo-corepublic Fork 0
v1.0.1
Commits
Clone
git clone https://git.rickub.com/turbo-editors/turbo-core.git
git clone ssh://git@rickub.com/turbo-editors/turbo-core.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

2026-09-09-fourth-editor.md · 23 lines · 2.2 KBmarkdown Blame HistoryRaw
🛟 Updated. 28d5985 k33g 13h ago1# Handoff — 2026-09-09 — the fourth editor, and two things it left for this library
2
3## State
4
5turbo-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.
6
7## In flight
8
9Nothing. The edits are complete.
10
11## Next steps
12
131. Commit the four-editor edits.
142. 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-dev` cycle.
15
16## Open questions / blockers
17
18- **Send `workspace/didChangeWatchedFiles`?** moon-lsp works a package's file list out once and never revisits it, so a `.mbt` file 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`'s `TestAFileCreatedAfterTheServerStartedIsNotDiagnosed` pins the current behaviour and will fail when it changes, which is the right way round.
19- **Give `syntax.attribute` its own colour in `turbo-classic`?** It is `{ fg = "yellow" }`, and so is `syntax.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.
20
21## Watch out for
22
23- 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.