Skip to content

feat: config option to use the fzf-style list layout (prototype variant C) for the Picker #44

Description

@hammadmajid

What problem are you trying to solve?

The Picker ships one layout: prototype variant D, rows grouped under Kind headers with a preview pane. Some users, and some terminal sizes, suit a flat fzf-style list better: no Kind headers taking vertical space, the prompt at the bottom where fzf users expect it, and a background-highlighted selected row.

Proposed solution

Add a config key that selects the Picker layout, defaulting to the current one:

[picker]
layout = "grouped"   # default, prototype variant D
# layout = "list"    # prototype variant C: flat list + preview

list renders prototype variant C · List + preview from the prototype/picker-look branch (prototype/picker/variant_c.go): a flat list ordered by History with never-visited Projects last, kind/ shown muted before each Project name, one status glyph per row, relative time right-aligned, the filter prompt below the list, a bar and background highlight on the selected row, and the same boxed preview pane on the right. Fuzzy matching, key maps (default and vim), status glyphs, colours, and the narrow-terminal rules stay shared with the grouped layout.

Alternatives considered

  • A runtime toggle key instead of a config key. A config key is the decided pattern ([keys] vim), and a layout is a standing preference rather than a per-session choice.
  • Making list the default. The grouped layout was the one accepted in the prototype review, so it stays the default.

Additional context

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestneeds-triageMaintainer needs to evaluate this issue

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions