Nook is the proto-IDE under cmd/nook in the Glyph repo. The brief:
the lightest, fastest open-source terminal editor that ships with the
wedges a working programmer needs out of the box. Picker, project search,
git gutter, LSP, syntax, multi-cursor, format on save, code actions,
rename, file tree, multibuffer. No Anthropic key needed; Nook subprocesses
the user's claude CLI when AI features are invoked.
Eight features across two waves, one autonomous cron, eleven tags.
v0.4.0 — Tabs and multiple open buffers
Alt+] / Alt+[ to switch, Ctrl+W to close. Picker reuses an open buffer
rather than reopening it. Status bar carries an N/M counter; the tab bar
deduplicates basenames with overflow that keeps the active tab visible.
v0.5.0 — Syntax highlighting via chroma
250+ languages out of the box. Seven SyntaxX theme tokens
(keyword/string/comment/number/function/type/punctuation). Per-buffer
cache keyed on bufVer keeps the hot render path from retokenizing per
frame. Tree-sitter pivot deferred because the Go bindings require CGO,
which would break go install @latest.
v0.6.0 — LSP completions, hover, go-to-def
Alt+i hovers, Ctrl+] jumps to definition, Ctrl+Space opens completions.
Typed async Cmd factories with a 2s timeout and a nil-client guard. The
editor never imports the LSP protocol package directly.
v0.7.0 — Find / replace
Ctrl+F opens find, Ctrl+H flips into replace, Alt+X toggles regex, Alt+C
toggles case. Capture groups via regexp.ExpandString. .go buffers fire
didChange after each replacement so gopls diagnostics track live.
v0.8.0 — Format on save
Ctrl+S runs textDocument/formatting before writing. Alt+S saves
without formatting (escape hatch). Alt+Shift+S toggles the behavior for
the session. Pure-function edit applicator with tests for descending
multi-edits, multiline ranges, and out-of-range clamping.
v0.9.0 — File tree pane
Ctrl+B toggles a left-side tree using Glyph's file-tree component.
Picker, project search, go-to-def, and Alt+] / Alt+[ all call Reveal so
the tree cursor mirrors the active file. Layout collapses tree-first
when the editor would drop below 20 columns.
v0.10.0 — Code actions and rename
Alt+Enter opens a centered popup of quickfix / refactor / source-action
items. F2 renames workspace-wide. prepareRename first, with a
zero-range source-walk fallback for gopls's defaultBehavior placeholder.
v0.11.0 — Per-line git gutter
Added / modified / deleted-above markers per line, driven by
git diff --no-color --unified=0. Two-character marker column
composes the git sigil with the LSP diagnostic sigil so both stay
visible at once.
v0.12.0 — Multi-cursor and column selection
Ctrl+D adds a cursor at the next whole-word match. Ctrl+↑ / Ctrl+↓
stack cursors vertically at the primary's column. Edit primitives fan
out in (row, col) order with five shift functions keeping later
positions consistent after each in-place buffer mutation.