Skip to content

Cherry pick Helix style config - #67

Merged
maaslalani merged 6 commits into
maaslalani:mainfrom
adriangalilea:main
Jul 16, 2026
Merged

maaslalani merged 6 commits into
maaslalani:mainfrom
adriangalilea:main

Conversation

@maaslalani

Copy link
Copy Markdown
Owner

No description provided.

Refactor hardcoded switch statements into action-based dispatch with
per-mode keymaps. Users can override bindings via
$XDG_CONFIG_HOME/sheets/config.toml using [keys.normal], [keys.insert],
and [keys.select] tables. Set a key to "nop" to disable it.
Clear selected cells without affecting clipboard/registers.
Default bound to D in select mode. Complements cut_selection (x)
which yanks before clearing.
When g is pressed, all visible cells show their coordinates (column
letters in blue, row numbers in yellow) centered over dimmed cell
content. Typing filters matches live — matched chars dim, unmatched
stay bright. Auto-selects when one visible cell remains.

Fully matched cells show ⏎ symbol to indicate enter confirmation.
Visual indicators: GOTO mode label in status bar, dimmed grid borders,
colored row/column headers for matching axes, input prompt at bottom.
# Conflicts:
#	internal/sheets/normal_mode.go
autoSelectGoto finalized on a unique visible match, killing the
overlay before it ever rendered — the integration test encoded the
intended UX (persistent gA5 label, next non-ref key exits and acts).
Jump still happens live; escape/enter/other keys end the pending
state. Unskips the April integration test.
@maaslalani
maaslalani merged commit 8879249 into maaslalani:main Jul 16, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants