Skip to content

v0.9.0

Choose a tag to compare

@unixsuperhero unixsuperhero released this 26 Oct 21:31
· 441 commits to main since this release

List motions

  • Every list answers Vim's paging motions in normal mode: g g and G go to the first and last row, and with a count to that row (5G, 5gg, list.goto {position, row}); ctrl+d/ctrl+u move half a page (a count is rows) and ctrl+f/ctrl+b a page (a count is pages) (list.scroll {delta, half, steps}). A page is the list's own window, else the page body's height; the window moves with the selection. They clamp at the list's edges, never spill, and are motions (off the footer, under movement in ?). A row noun that binds the same key keeps it. Story lists/page-motions.
  • A table with more columns than fit scrolls them (list.scroll-columns {to, delta, steps}, List.ColumnOffset): $ brings the last column into view, ^ (and 0 without a count) goes back, z l/z h move one column. The first column stays; the unscrolled view still drops columns by Priority. The keys answer only on a table that hides a column or is scrolled. Story tables/column-motions.
  • A key-sequence prefix whose only remaining row is its generated <prefix> esc cancel (every sequence on it guarded off) no longer waits for a second key.