Versions in this module Expand all Collapse all v0 v0.1.1 Jul 27, 2026 Changes in this version + func CtrlKey(key rune) tea.KeyMsg + func KeyPress(key rune) tea.KeyMsg + func SpecialKey(keyType tea.KeyType) tea.KeyMsg + func TestChanges() []diff.FileChange + type DestinationSpec struct + ChangeID string + Description string + Type DestinationType + type DestinationType int + const DestExistingRevision + const DestNewCommit + type FileSelection struct + Hunks map[int]*HunkSelection + type FocusedPanel int + const PanelDiffView + const PanelFileList + type HunkSelection struct + SelectedLines map[int]bool + WholeHunk bool + type Model struct + func NewModel(client *jj.Client, source, destination string, mode OperatingMode, ...) (Model, error) + func NewModelWithSource(source diff.DiffSource, client *jj.Client, destination string, ...) (Model, error) + func NewTestModel(t *testing.T, mode OperatingMode) Model + func Update(t *testing.T, m Model, msg tea.Msg) Model + func UpdateWithCmd(t *testing.T, m Model, msg tea.Msg) Model + func (m Model) Init() tea.Cmd + func (m Model) Update(msg tea.Msg) (tea.Model, tea.Cmd) + func (m Model) View() string + func (m Model) WithChanges(changes []diff.FileChange) Model + func (m Model) WithDestination(dest string) Model + type ModelAssertion struct + func Assert(t *testing.T, m Model) *ModelAssertion + func (a *ModelAssertion) DestPickerIsNotVisible() *ModelAssertion + func (a *ModelAssertion) DestPickerIsVisible() *ModelAssertion + func (a *ModelAssertion) FileFinderIsNotVisible() *ModelAssertion + func (a *ModelAssertion) FileFinderIsVisible() *ModelAssertion + func (a *ModelAssertion) FileListFilterModeDisabled() *ModelAssertion + func (a *ModelAssertion) FileListFilterModeEnabled() *ModelAssertion + func (a *ModelAssertion) FocusedPanelIs(panel FocusedPanel) *ModelAssertion + func (a *ModelAssertion) HasChanges(count int) *ModelAssertion + func (a *ModelAssertion) HasDestination(dest string) *ModelAssertion + func (a *ModelAssertion) HasError() *ModelAssertion + func (a *ModelAssertion) HasHunkNotSelected(filePath string, hunkIdx int) *ModelAssertion + func (a *ModelAssertion) HasHunkSelected(filePath string, hunkIdx int) *ModelAssertion + func (a *ModelAssertion) HasLineCursor(position int) *ModelAssertion + func (a *ModelAssertion) HasNoError() *ModelAssertion + func (a *ModelAssertion) HasSelectedFile(idx int) *ModelAssertion + func (a *ModelAssertion) HasSelectedHunk(idx int) *ModelAssertion + func (a *ModelAssertion) HelpIsNotVisible() *ModelAssertion + func (a *ModelAssertion) HelpIsVisible() *ModelAssertion + func (a *ModelAssertion) IsInVisualMode() *ModelAssertion + func (a *ModelAssertion) IsNotInVisualMode() *ModelAssertion + func (a *ModelAssertion) ModeIs(mode OperatingMode) *ModelAssertion + func (a *ModelAssertion) NoModalsVisible() *ModelAssertion + func (a *ModelAssertion) SearchIsNotVisible() *ModelAssertion + func (a *ModelAssertion) SearchIsVisible() *ModelAssertion + type MultiSplitState struct + Active bool + CurrentTag SplitTag + Destinations map[SplitTag]*DestinationSpec + Selections map[SplitTag]*SelectionState + func NewMultiSplitState() *MultiSplitState + type OperatingMode int + const ModeBrowse + const ModeDiffEditor + const ModeInteractive + type SelectionState struct + Files map[string]*FileSelection + func NewSelectionState() *SelectionState + func (s *SelectionState) HasPartialSelection(filePath string, hunkIdx int) bool + func (s *SelectionState) IsHunkSelected(filePath string, hunkIdx int) bool + func (s *SelectionState) IsLineSelected(filePath string, hunkIdx, lineIdx int) bool + func (s *SelectionState) SelectLineRange(filePath string, hunkIdx, startLine, endLine int) + func (s *SelectionState) ToggleHunk(filePath string, hunkIdx int) + func (s *SelectionState) ToggleLine(filePath string, hunkIdx, lineIdx int) + type SplitTag rune