Skip to content

v1.7.0

Choose a tag to compare

@github-actions github-actions released this 16 May 16:30

Interactive-viewer focus on top of 1.6.0. Major additions to the
ncurses TUI: mouse clicks, an in-place theme picker with XDG-spec
persistence, a vim-style : command line, and multi-file tabs.

Added

  • TUI multi-file tabsvv a.vcf b.bed c.parquet opens each
    file as a tab. Tab / Shift+Tab cycle. Each tab keeps its own
    scroll position, sort, filter, column-visibility set, search
    anchor, and chunk cache; switching back is instant. Status bar
    shows tab N/M: basename when more than one file is open.
    Non-interactive output modes (--tsv, --parquet, …) still
    process only the first positional — multi-file is TUI-only.
  • TUI command line (: key) — vim/less-style typed-command
    prompt at the bottom of the screen. First verbs:
    • :<N> — jump to row N (matches the row-index column;
      out-of-range clamps to the last page). Closes the "scroll
      through millions of rows by hand" pain point.
    • :q / :quit — quit (vim muscle memory).
    • :theme NAME — text-driven theme switch (alt to the T
      overlay), with the same name set as --theme. Persisted to
      ~/.config/vv/config via the standard XDG path.
      Errors stay in the input bar so the line can be edited; Esc
      cancels. Extensible — future verbs (:reload, :w FILE, …)
      slot in without new key bindings.
  • TUI theme picker (T key) — overlay listing every built-in
    theme; [*] marks the currently-active one, j/k move the
    cursor, Enter applies the choice. The new theme takes effect
    immediately (ncurses color pairs re-initialised in place) and
    the choice is persisted to ~/.config/vv/config
    ($XDG_CONFIG_HOME/vv/config if set) so future runs start with
    the same theme. Esc closes the overlay without changing.
  • XDG-spec user configvv now reads
    $XDG_CONFIG_HOME/vv/config (default ~/.config/vv/config)
    at startup. Format is plain INI-style key = value; lines
    starting with # are comments. Today only theme is read;
    the format is extensible — future preferences (default
    --threads, --decode-threads, etc.) slot in without breaking
    existing files. Writes are atomic (.tmp + rename) and preserve
    any comments / other keys in place. CLI flags always win over
    the config file.
  • TUI mouse clicks — three additive bindings on top of the
    existing wheel-scroll: click a column header to sort by that
    column (toggle asc/desc on repeat; updates the active column
    for S / y); click a data row to scroll it to the top;
    double-click a data row to open the detail pane (same as
    Enter). Shift+drag continues to work as the universal escape
    hatch for native terminal text selection.