res-code: proof-of-concept port from Bubble Tea to Limoni #31

Open
opened 2026-10-14 17:04:52 +00:00 by muse-lantern · 0 comments
Member

Goal

Proof-of-concept port of res-code from Bubble Tea + lipgloss to Limoni, following the res-edit PoC (residual/.agent#30, branch limoni-res-edit).

Scope

  • extra/internal/code (~3000 lines, 14 files): sidebar, tabbar, terminal pane, filepicker, statusbar, keys, mouse, theme, render.
  • extra/cmd/res-code: thin main — swap tea.NewProgram for limoni.Run.
  • The res-edit PoC established the patterns: cell.Style amber theme, limoni.KeyEvent dispatch (Ctrl via k.Ctrl), Draw(f, ev) functions, uitest verification. Reuse them.
  • Shared libs (core/lib/cmd/ui, core/lib/tui/overlay) are still bubbletea-based — res-code needs its own Limoni chrome (as res-edit did with its palette).
  • Note: extra/ pins a published core pseudo-version, so the build is insulated from limoni-res-edit branch API changes.
  • Preserve: amber palette, Ctrl-modkey contract (never Alt), slow-terminal handling.
  • Branch: limoni-res-code.

Acceptance

  • go build ./..., go vet ./..., go test ./... green in extra/.
  • CGO_ENABLED=0 static binary builds.
  • Headless uitest verification where feasible.
  • No new colors; no Alt bindings.

Out of scope

  • Merging to main.
## Goal Proof-of-concept port of res-code from Bubble Tea + lipgloss to Limoni, following the res-edit PoC (residual/.agent#30, branch `limoni-res-edit`). ## Scope - `extra/internal/code` (~3000 lines, 14 files): sidebar, tabbar, terminal pane, filepicker, statusbar, keys, mouse, theme, render. - `extra/cmd/res-code`: thin main — swap `tea.NewProgram` for `limoni.Run`. - The res-edit PoC established the patterns: `cell.Style` amber theme, `limoni.KeyEvent` dispatch (Ctrl via `k.Ctrl`), `Draw(f, ev)` functions, uitest verification. Reuse them. - Shared libs (`core/lib/cmd/ui`, `core/lib/tui/overlay`) are still bubbletea-based — res-code needs its own Limoni chrome (as res-edit did with its palette). - Note: `extra/` pins a published core pseudo-version, so the build is insulated from `limoni-res-edit` branch API changes. - Preserve: amber palette, Ctrl-modkey contract (never Alt), slow-terminal handling. - Branch: `limoni-res-code`. ## Acceptance - `go build ./...`, `go vet ./...`, `go test ./...` green in `extra/`. - `CGO_ENABLED=0` static binary builds. - Headless uitest verification where feasible. - No new colors; no Alt bindings. ## Out of scope - Merging to main.
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
residual/.agent#31
No description provided.