ui

package
v0.9.3 Latest Latest
Warning

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

Go to latest
Published: Jan 22, 2024 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ContinueAccelLabel     = "_Continue"
	SelectGroupsAccelLabel = "Select _Groups <F2>"
	SkipGroupAccelLabel    = "_Skip Group <F3>"
	KeepGroupAccelLabel    = "_Keep Group <F4>"
	SkipFileAccelLabel     = "_Skip File <F8>"
	SaveFileAccelLabel     = "Save _File <F9>"
	QuitAccelLabel         = "_Quit <F10>"
)

Accelerator Button Labels

View Source
const (
	ContinueAccelTooltip     = "begin selecting and saving file changes"
	SelectGroupsAccelTooltip = "select which groups of changes to keep"
	SkipGroupAccelTooltip    = "skip this group of changes"
	KeepGroupAccelTooltip    = "keep this group of changes"
	SkipFileAccelTooltip     = "skip this file and proceed"
	SaveFileAccelTooltip     = "save this file and proceed"
	QuitAccelTooltip         = ""
)

Accelerator Button Tooltips

View Source
const (
	SelectGroupsAccelKey = cdk.KeyF2
	SkipGroupAccelKey    = cdk.KeyF3
	KeepGroupAccelKey    = cdk.KeyF4
	SkipFileAccelKey     = cdk.KeyF8
	SaveFileAccelKey     = cdk.KeyF9
)

Accelerator Keys

View Source
const (
	SelectGroupsAccelPath = "<rpl-window>/File/SelectGroups"
	SkipGroupAccelPath    = "<rpl-window>/File/SkipGroup"
	KeepGroupAccelPath    = "<rpl-window>/File/KeepGroup"
	SkipFileAccelPath     = "<rpl-window>/File/SkipFile"
	SaveFileAccelPath     = "<rpl-window>/File/SaveFile"
	QuitAccelPath         = "<rpl-window>/File/Quit"
	ExitAccelPath         = "<rpl-window>/File/Exit"
)

Accelerator Paths

View Source
const (
	ContinueAccelHandle     = "continue-accel"
	SelectGroupsAccelHandle = "select-groups-accel"
	SkipGroupAccelHandle    = "skip-group-accel"
	KeepGroupAccelHandle    = "keep-group-accel"
	SkipFileAccelHandle     = "skip-file-accel"
	SaveFileAccelHandle     = "save-file-accel"
	QuitAccelHandle         = "quit-accel"
	ExitAccelHandle         = "ctrl-c-accel"
)

Accelerator Handles

View Source
const (
	CaseSensitivityCategory    = "1. Case Sensitivity"
	RegularExpressionsCategory = "2. Regular Expressions"
	UserInterfaceCategory      = "3. User Interface"
	BackupsCategory            = "4. Backups"
	TargetSelectionCategory    = "5. Target Selection"
	GeneralCategory            = "6. General"
	GoCursesCategory           = "7. Go-Curses"
)

Variables

View Source
var (
	BackupFlag = &cli.BoolFlag{Category: BackupsCategory,
		Name: "backup", Aliases: []string{"b"},
		Usage: "make backups before replacing content",
	}
	BackupExtensionFlag = &cli.StringFlag{Category: BackupsCategory,
		Name: "backup-extension", Aliases: []string{"B"},
		Usage: "specify the backup file suffix to use (implies -b)",
	}

	IgnoreCaseFlag = &cli.BoolFlag{Category: CaseSensitivityCategory,
		Name: "ignore-case", Aliases: []string{"i"},
		Usage: "perform a case-insensitive search (plain or regex)",
	}
	PreserveCaseFlag = &cli.BoolFlag{Category: CaseSensitivityCategory,
		Name: "preserve-case", Aliases: []string{"P"},
		Usage: "try to preserve replacement string cases",
	}

	NoLimitsFlag = &cli.BoolFlag{Category: GeneralCategory,
		Name: "no-limits", Aliases: []string{"U"},
		Usage: "ignore max file count and size limits",
	}
	NopFlag = &cli.BoolFlag{Category: GeneralCategory,
		Name: "nope", Aliases: []string{"nop", "n"},
		Usage: "report what would otherwise have been done",
	}

	ShowDiffFlag = &cli.BoolFlag{Category: UserInterfaceCategory,
		Name: "show-diff", Aliases: []string{"d"},
		Usage: "output unified diffs for all changes",
	}
	InteractiveFlag = &cli.BoolFlag{Category: UserInterfaceCategory,
		Name: "interactive", Aliases: []string{"e"},
		Usage: "selectively apply changes per-file",
	}
	PauseFlag = &cli.BoolFlag{Category: UserInterfaceCategory,
		Name: "pause", Aliases: []string{"E"},
		Usage: "pause on file search results screen (implies -e)",
	}

	RecurseFlag = &cli.BoolFlag{Category: TargetSelectionCategory,
		Name: "recurse", Aliases: []string{"R"},
		Usage: "travel directory paths",
	}
	AllFlag = &cli.BoolFlag{Category: TargetSelectionCategory,
		Name: "all", Aliases: []string{"a"},
		Usage: "include backups and files that start with a dot",
	}
	NullFlag = &cli.BoolFlag{Category: TargetSelectionCategory,
		Name: "null", Aliases: []string{"0"},
		Usage: "read null-terminated paths from os.Stdin",
	}
	FileFlag = &cli.StringSliceFlag{Category: TargetSelectionCategory,
		Name: "file", Aliases: []string{"f"},
		Usage: "read paths listed in files",
	}
	ExcludeFlag = &cli.StringSliceFlag{Category: TargetSelectionCategory,
		Name: "exclude", Aliases: []string{"X"},
		Usage: "exclude files matching glob pattern",
	}
	IncludeFlag = &cli.StringSliceFlag{Category: TargetSelectionCategory,
		Name: "include", Aliases: []string{"I"},
		Usage: "include on files matching glob pattern",
	}

	RegexFlag = &cli.BoolFlag{Category: RegularExpressionsCategory,
		Name: "regex", Aliases: []string{"r"},
		Usage: "search and replace arguments are regular expressions",
	}
	MultiLineFlag = &cli.BoolFlag{Category: RegularExpressionsCategory,
		Name: "multi-line", Aliases: []string{"m"},
		Usage: "set the multiline (?m) global flag (implies -r)",
	}
	DotMatchNlFlag = &cli.BoolFlag{Category: RegularExpressionsCategory,
		Name: "dot-match-nl", Aliases: []string{"s"},
		Usage: "set the dot-match-nl (?s) global flag (implies -r)",
	}

	QuietFlag = &cli.BoolFlag{Category: GeneralCategory,
		Name: "quiet", Aliases: []string{"q"},
		Usage: "silence notices",
	}
	VerboseFlag = &cli.BoolFlag{Category: GeneralCategory,
		Name: "verbose", Aliases: []string{"v"},
		Usage: "verbose notices",
	}

	UsageFlag = &cli.BoolFlag{Category: GeneralCategory,
		Name: "usage", Aliases: []string{"h"},
		Usage: "display command-line usage information",
	}
	HelpFlag = &cli.BoolFlag{Category: GeneralCategory,
		Name:  "help",
		Usage: "display complete command-line help text",
	}
	VersionFlag = &cli.BoolFlag{Category: GeneralCategory,
		Name: "version", Aliases: []string{"V"},
		Usage: "display the version",
	}
)

Functions

func MakeWorker added in v0.9.0

func MakeWorker(ctx *cli.Context, notifier notify.Notifier) (w *replace.Worker, eventFlag enums.EventFlag, err error)

Types

type CUI

type CUI struct {
	App  ctk.Application
	Args []string

	Display            cdk.Display
	Window             ctk.Window
	HeaderLabel        ctk.Label
	FooterLabel        ctk.Label
	DiffView           ctk.ScrolledViewport
	DiffLabel          ctk.Label
	WorkAccel          ctk.AccelGroup
	ContinueButton     ctk.Button
	SelectGroupsButton ctk.Button
	KeepGroupButton    ctk.Button
	SkipGroupButton    ctk.Button
	SkipFileButton     ctk.Button
	SaveFileButton     ctk.Button
	QuitButton         ctk.Button

	ActionArea ctk.HButtonBox

	StateSpinner ctk.Spinner
	StatusLabel  ctk.Label

	LastError error

	sync.RWMutex
	// contains filtered or unexported fields
}

func NewUI

func NewUI(name, usage, description, manual, version, release, tag, title, ttyPath string, notifier notify.Notifier) (u *CUI)

func (*CUI) Run

func (u *CUI) Run(argv []string) (err error)

type ViewType

type ViewType uint8
const (
	NopeView ViewType = iota
	FileView
	SelectGroupsView
)

Jump to

Keyboard shortcuts

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