Compare commits
2 Commits
b5274b6e68
...
f77f6697d1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f77f6697d1 | ||
|
|
de14b8418f |
@@ -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. |
|
||||
|
||||
@@ -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 — [ ]
|
||||
|
||||
|
||||
@@ -7,7 +7,10 @@
|
||||
//! on the logical (`\n`-delimited) buffer; word-wrapping and scrolling are a
|
||||
//! render-time concern handled by [`Editor::draw`].
|
||||
|
||||
use embedded_graphics::mono_font::ascii::{FONT_6X10, FONT_10X20};
|
||||
// ISO-8859-15 (Latin-9) rather than the ascii subset: same glyph cells, but it
|
||||
// carries the accented Latin glyphs (à é ê ç … plus œ €) that international
|
||||
// input will emit. ASCII rendering is byte-for-byte unchanged.
|
||||
use embedded_graphics::mono_font::iso_8859_15::{FONT_6X10, FONT_10X20};
|
||||
use embedded_graphics::mono_font::MonoTextStyle;
|
||||
use embedded_graphics::pixelcolor::BinaryColor;
|
||||
use embedded_graphics::prelude::*;
|
||||
|
||||
Reference in New Issue
Block a user