detached 3153d5c

deps: add charmbracelet TUI libraries

commit
3153d5c24864461ce2e6b238b3f2c6eb9fbccd06
author
bnema · · 2026-01-16 20:48 UTC
parent
aefe19e
signature
GPG VerifiedCD88F9E564E0102646FB6077A1A07C7C7C3E349D · arch-gpg Verified for the committer email
2 files · +62 -0
M go.mod +18 -0
@@ -4,6 +4,9 @@ go 1.25.5
44
55 require (
66 github.com/bnema/zerowrap v1.3.0
7+ github.com/charmbracelet/bubbles v0.21.0
8+ github.com/charmbracelet/bubbletea v1.3.10
9+ github.com/charmbracelet/lipgloss v1.1.0
710 github.com/docker/docker v28.5.2+incompatible
811 github.com/docker/go-connections v0.5.0
912 github.com/golang-jwt/jwt/v5 v5.3.0
@@ -17,8 +20,23 @@ require (
1720 )
1821
1922 require (
23+ github.com/atotto/clipboard v0.1.4 // indirect
24+ github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
2025 github.com/cespare/xxhash/v2 v2.3.0 // indirect
26+ github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc // indirect
27+ github.com/charmbracelet/x/ansi v0.10.1 // indirect
28+ github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd // indirect
29+ github.com/charmbracelet/x/term v0.2.1 // indirect
30+ github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect
31+ github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
32+ github.com/mattn/go-localereader v0.0.1 // indirect
33+ github.com/mattn/go-runewidth v0.0.16 // indirect
34+ github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect
35+ github.com/muesli/cancelreader v0.2.2 // indirect
36+ github.com/muesli/termenv v0.16.0 // indirect
37+ github.com/rivo/uniseg v0.4.7 // indirect
2138 github.com/rs/zerolog v1.34.0 // indirect
39+ github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
2240 go.yaml.in/yaml/v3 v3.0.4 // indirect
2341 )
2442
@@ -4,6 +4,9 @@ go 1.25.5
4 4
5 require (5 require (
6 github.com/bnema/zerowrap v1.3.06 github.com/bnema/zerowrap v1.3.0
7+ github.com/charmbracelet/bubbles v0.21.0
8+ github.com/charmbracelet/bubbletea v1.3.10
9+ github.com/charmbracelet/lipgloss v1.1.0
7 github.com/docker/docker v28.5.2+incompatible10 github.com/docker/docker v28.5.2+incompatible
8 github.com/docker/go-connections v0.5.011 github.com/docker/go-connections v0.5.0
9 github.com/golang-jwt/jwt/v5 v5.3.012 github.com/golang-jwt/jwt/v5 v5.3.0
@@ -17,8 +20,23 @@ require (
17 )20 )
18 21
19 require (22 require (
23+ github.com/atotto/clipboard v0.1.4 // indirect
24+ github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
20 github.com/cespare/xxhash/v2 v2.3.0 // indirect25 github.com/cespare/xxhash/v2 v2.3.0 // indirect
26+ github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc // indirect
27+ github.com/charmbracelet/x/ansi v0.10.1 // indirect
28+ github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd // indirect
29+ github.com/charmbracelet/x/term v0.2.1 // indirect
30+ github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect
31+ github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
32+ github.com/mattn/go-localereader v0.0.1 // indirect
33+ github.com/mattn/go-runewidth v0.0.16 // indirect
34+ github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect
35+ github.com/muesli/cancelreader v0.2.2 // indirect
36+ github.com/muesli/termenv v0.16.0 // indirect
37+ github.com/rivo/uniseg v0.4.7 // indirect
21 github.com/rs/zerolog v1.34.0 // indirect38 github.com/rs/zerolog v1.34.0 // indirect
39+ github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
22 go.yaml.in/yaml/v3 v3.0.4 // indirect40 go.yaml.in/yaml/v3 v3.0.4 // indirect
23 )41 )
24 42
M go.sum +44 -0 generated file: collapsed

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 7

Tags 106

↑↓ moveenter openesc close