worktrees

package
v0.0.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 23, 2026 License: MIT Imports: 13 Imported by: 0

Documentation

Overview

Package worktrees implements the worktree management panel for grut. It displays all git worktrees with path, branch, and hash information, supports create, remove, and switch operations, and detects external deletion of worktree directories.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type GitOps

type GitOps interface {
	WorktreeList(ctx context.Context) ([]git.Worktree, error)
	WorktreeAdd(ctx context.Context, path, branch string) error
	WorktreeRemove(ctx context.Context, path string, force bool) error
}

GitOps defines the git operations required by the worktree panel. This narrow interface is satisfied by *git.Client and makes the panel easy to mock in tests.

type Panel

type Panel struct {
	panels.BasePanel
	// contains filtered or unexported fields
}

--------------------------------------------------------------------------- Panel --------------------------------------------------------------------------- Panel is the worktree management panel. It implements panels.Panel.

func New

func New(gitOps GitOps, cfg config.GitConfig, repoRoot string) *Panel

New creates a new worktree panel.

func (*Panel) Init

func (p *Panel) Init(ctx context.Context) tea.Cmd

--------------------------------------------------------------------------- panels.Panel interface --------------------------------------------------------------------------- Init implements panels.Panel.

func (*Panel) KeyBindings

func (p *Panel) KeyBindings() []panels.KeyBinding

KeyBindings implements panels.Panel.

func (*Panel) SetActionsCfg

func (p *Panel) SetActionsCfg(cfg config.ActionsConfig)

SetActionsCfg injects the actions configuration for right-click menus.

func (*Panel) Update

func (p *Panel) Update(msg tea.Msg) (panels.Panel, tea.Cmd)

Update implements panels.Panel.

func (*Panel) View

func (p *Panel) View(width, height int) string

View implements panels.Panel.

type PathChecker

type PathChecker func(path string) bool

PathChecker abstracts filesystem existence checks for testability. The default implementation uses os.Stat.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL