v0.5.0 31affde

doc.go RawHistoryFolder

1// Package vt implements the frontend-neutral terminal emulator core.
2//
3// It tracks the visible cell grid, damage rectangles, scroll regions,
4// alternate-screen state, cursor/reporting modes, and common xterm/VT control
5// sequences. Wide runes that fit are stored as a head cell plus a continuation
6// cell, and resize or edit operations repair row-boundary splits instead of
7// leaving orphaned halves.
8//
9// Stateful values are single-owner and are not internally synchronized. The
10// owner must serialize Write, Resize, Snapshot, and History mutations. Write
11// parses synchronously: every callback runs before Write returns and callbacks
12// are delivered in the order their control sequences are encountered. A line
13// eviction callback receives a stable row copy; response bytes should be
14// consumed or copied during the callback. Other callback arguments are values
15// or strings owned by the callback.
16//
17// Snapshot and HistorySnapshotView capture owned state without sealing or
18// mutating the live owner. Screen, ScreenSnapshot, and core.Frame expose
19// storage-independent CellSource reads, and Row methods return owned copies.
20// HistoryView.Row and HistoryView.Range decode owned semantic rows from compact
21// slabs. A HistoryChunk pointer has stable identity for the lifetime of the
22// view, so consumers can reuse unchanged sealed chunks.
23package vt

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 2

Tags 13

↑↓ moveenter openesc close