feat(ui): Yazi-style Files tab in the Repo box #106

Closed
opened 2026-10-09 11:49:58 -05:00 by deadstyle · 1 comment
Owner

Part 3 of 3 of #98. Depends on part 1 (box [6]).

Problem

There's no way to browse a repo's code in the terminal.

Acceptance criteria

  • [6] Repo → Files tab browses the default branch Yazi-style: the left column is the current directory, the right column previews the selected entry.
  • j/k move, l or enter goes into a directory, h goes up a directory (at the root, h leaves the tab as it does elsewhere), gg/G jump.
  • Selecting a directory previews its entries; selecting a text file previews its contents, scrollable with ctrl-d/ctrl-u once focused.
  • Binary and oversized files show "binary file" or "too large to preview" instead of contents.
  • The breadcrumb shows the path: host › repo › [6] Repo › src/ui.
  • Browsing another branch is out of scope.
  • o opens the entry in the browser.
  • Works on Forgejo/Gitea and GitHub.
  • docs/design.md and docs/mockup.html updated.
Part 3 of 3 of #98. Depends on part 1 (box `[6]`). ## Problem There's no way to browse a repo's code in the terminal. ## Acceptance criteria - `[6]` Repo → Files tab browses the default branch Yazi-style: the left column is the current directory, the right column previews the selected entry. - `j`/`k` move, `l` or enter goes into a directory, `h` goes up a directory (at the root, `h` leaves the tab as it does elsewhere), `gg`/`G` jump. - Selecting a directory previews its entries; selecting a text file previews its contents, scrollable with `ctrl-d`/`ctrl-u` once focused. - Binary and oversized files show "binary file" or "too large to preview" instead of contents. - The breadcrumb shows the path: `host › repo › [6] Repo › src/ui`. - Browsing another branch is out of scope. - `o` opens the entry in the browser. - Works on Forgejo/Gitea and GitHub. - `docs/design.md` and `docs/mockup.html` updated.
Author
Owner

🤖 merged: #111

🤖 merged: https://git.bobparsons.dev/deadstyle/lazyforge/pulls/111
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
deadstyle/lazyforge#106
No description provided.