From f77f6697d158150eb402cdca7262336343109cbc Mon Sep 17 00:00:00 2001 From: Julien Calixte Date: Sun, 5 Jul 2026 17:57:35 +0200 Subject: [PATCH] docs(roadmap): add v0.2.5 international input release US-International dead-key accents, slotted after navigation without renumbering later versions so ADR/qfd/README anchors stay valid. Also adds a UTF-8-correct buffer groundwork bullet to v0.2. --- README.md | 4 +++- docs/roadmap.md | 22 ++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 0bfe1b5..44a1ae6 100644 --- a/README.md +++ b/README.md @@ -130,7 +130,8 @@ gantt v0.1 it writes, it pushes :v01, 2026-06-01, 4w section Vim v0.2 navigation :v02, after v01, 3w - v0.3 editing :v03, after v02, 3w + v0.2.5 international input :v025, after v02, 2w + v0.3 editing :v03, after v025, 3w v0.4 visual + ex :v04, after v03, 2w section Files v0.5 palette + multi-file :v05, after v04, 3w @@ -146,6 +147,7 @@ gantt | ------------------------------------------------------- | ------------ | ------------------------------------------ | | [v0.1](docs/roadmap.md#v01--mvp-it-writes-it-pushes--) | MVP | Boots, edits one file, `Ctrl-G` pushes. | | [v0.2](docs/roadmap.md#v02--vim-navigation--) | Vim nav | Normal/Insert, motions, line numbers. | +| [v0.2.5](docs/roadmap.md#v025--international-input--) | Intl input | US-Intl dead keys: à é ê ç, `'`+space = `'`. | | [v0.3](docs/roadmap.md#v03--vim-editing--) | Vim edit | `dd yy p`, undo/redo, counts. | | [v0.4](docs/roadmap.md#v04--visual-mode--ex-commands--) | Visual + ex | `v V`, `:w :q :e` command line. | | [v0.5](docs/roadmap.md#v05--file-palette--multi-file--) | Files | `Ctrl-P` over `/repo` + `/local`, buffers. | diff --git a/docs/roadmap.md b/docs/roadmap.md index 2a4d914..ba7c8b3 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -35,6 +35,28 @@ Out of scope: Vim, palette, multiple files, branches, conflict handling. - [ ] `Esc` returns to Normal - [ ] Line numbers in the left gutter: relative in Normal mode (current line shown as its absolute number), absolute in Insert mode +- [ ] Groundwork — UTF-8-correct buffer: caret motions and edits step by + character, not byte (drop the ASCII == byte-offset assumption in + `editor.rs`), so every motion added here and later stays correct once + accented input lands. Done early so it isn't retrofitted across the whole + motion/text-object surface. Render font is already ISO-8859-15 (Latin-9), + so accented glyphs display. + +## v0.2.5 — International input — [ ] + +A small focused release between navigation and editing. US-International +dead-key accent composition, resolved in the keyboard layer (`usb_kbd.rs`) so +the editor still receives a single `Key::Char`. Builds on the v0.2 +UTF-8-correct buffer and the ISO-8859-15 render font. + +- [ ] Dead keys — grave, acute, circumflex, diaeresis, tilde — compose with + the next letter: à é ê ë ñ, ç (via `'`+c), both cases +- [ ] `'`+space emits a literal apostrophe (the everyday apostrophe path); a + dead key followed by a non-composing letter emits the accent then the + letter +- [ ] A non-character event (Enter, Backspace, arrows) flushes any pending + accent as its literal first +- [ ] Pending-accent indicator in the side-panel status strip ## v0.3 — Vim editing — [ ]