Hero Edit Mode #4

Open
opened 2026-05-18 08:27:18 -04:00 by n8k99 · 0 comments
n8k99 commented 2026-05-18 08:27:18 -04:00
Owner

Description

Create HERO (Hyper-Efficient Read/Optimize) text edit mode within Bastion panes. Modal editing inspired by vi.

Development Tasks (☿ Nova)

  • Create hero/ module with text buffer (Rope based)
  • Implement insert/normal modal states
  • Add syntax highlighting hook (tree-sitter integration point)
  • Handle Unicode input (emoji, CJK, RTL) correctly
  • Undo/redo stack (min 100 operations, unlimited preferred)

Testing Criteria (☿ Nova)

  • Unicode insertion test: emoji, CJK characters render correctly
  • Modal state test: key maps correctly in insert vs normal mode
  • Undo chain: 100-step undo preserves all operations
  • Large file test: 10MB file opens in <500ms, scrolls smoothly
  • Memory test: no leaks during 1hr edit session

Completion Criteria (🜔 Claudian Review)

  • Mode toggle: Ctrl+E enters/exits edit mode from any widget
  • Status bar: shows current mode (INSERT/NORMAL) + cursor position
  • Undo persists until file close or explicit save
  • Documented: docs/hero.md with all keybindings

Blockers

  • #1 (Calendar Widget)
  • #2 (Clock Widget) - edit mode applies to all widgets

Assignees: @Nova
Labels: hero, edit, text-buffer

## Description Create HERO (Hyper-Efficient Read/Optimize) text edit mode within Bastion panes. Modal editing inspired by vi. ## Development Tasks (☿ Nova) - [ ] Create `hero/` module with text buffer (`Rope` based) - [ ] Implement insert/normal modal states - [ ] Add syntax highlighting hook (tree-sitter integration point) - [ ] Handle Unicode input (emoji, CJK, RTL) correctly - [ ] Undo/redo stack (min 100 operations, unlimited preferred) ## Testing Criteria (☿ Nova) - [ ] Unicode insertion test: emoji, CJK characters render correctly - [ ] Modal state test: key maps correctly in insert vs normal mode - [ ] Undo chain: 100-step undo preserves all operations - [ ] Large file test: 10MB file opens in <500ms, scrolls smoothly - [ ] Memory test: no leaks during 1hr edit session ## Completion Criteria (🜔 Claudian Review) - [ ] Mode toggle: `Ctrl+E` enters/exits edit mode from any widget - [ ] Status bar: shows current mode (INSERT/NORMAL) + cursor position - [ ] Undo persists until file close or explicit save - [ ] Documented: `docs/hero.md` with all keybindings ## Blockers - [ ] #1 (Calendar Widget) - [ ] #2 (Clock Widget) - edit mode applies to all widgets Assignees: @Nova Labels: hero, edit, text-buffer
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
n8k99/bastion#4
No description provided.