cli

package
v0.5.2 Latest Latest
Warning

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

Go to latest
Published: Jul 11, 2026 License: GPL-3.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AppDescription

func AppDescription() string

AppDescription возвращает описание приложения для корневой команды.

func ApplyCommandSettings

func ApplyCommandSettings(cmd *cli.Command, hooks CommandHooks)

ApplyCommandSettings обходит дерево команд рекурсивно и применяет общие настройки.

func CheckRoot

func CheckRoot(mode RootCheckMode) error

CheckRoot проверяет, что текущие права совместимы с заданным режимом.

func HelpCommand

func HelpCommand() *cli.Command

HelpCommand возвращает стандартную команду help.

func InstallSignalHandler

func InstallSignalHandler(parent context.Context) (context.Context, context.CancelFunc)

InstallSignalHandler возвращает производный ctx, который отменяется при получении SIGINT/SIGTERM/SIGQUIT - это инициирует graceful shutdown через ctx.Done().

func NewDBusCommand

func NewDBusCommand(name, usage string, action cli.ActionFunc) *cli.Command

NewDBusCommand строит CLI команду для запуска D-Bus сервиса.

func NewHTTPCommand

func NewHTTPCommand(name, usage, defaultListen string, action cli.ActionFunc) *cli.Command

NewHTTPCommand строит CLI команду для запуска HTTP сервиса.

func RootFlags

func RootFlags() []cli.Flag

RootFlags возвращает набор глобальных флагов корневой команды.

func SetupHelpTemplates

func SetupHelpTemplates()

SetupHelpTemplates задаёт общие шаблоны для help и переопределяет встроенные флаги.

func TranslateUsageError

func TranslateUsageError(err error) error

TranslateUsageError переводит ошибки парсинга CLI (required flags, invalid value и т.д.).

func VersionCommand

func VersionCommand(action cli.ActionFunc) *cli.Command

VersionCommand возвращает команду version с заданным action.

func WithOptions

func WithOptions[T any](
	appConfig *app.Config,
	reporter *reply.Reporter,
	rootCheck RootCheckMode,
	newActions func(*app.Config, *reply.Reporter) *T,
	errorResponse func(error) reply.APIResponse,
) func(func(context.Context, *urfave.Command, *T) error) urfave.ActionFunc

WithOptions создаёт универсальный wrapper для CLI команд с поддержкой generics. T — тип Actions для конкретного модуля.

Types

type CommandHooks

type CommandHooks struct {
	OnNotFound   func(ctx context.Context, cmd *cli.Command, name string)
	OnUsageError func(err error) error
}

type RootCheckMode

type RootCheckMode int

RootCheckMode определяет режим проверки root-прав.

const (
	NoRootCheck RootCheckMode = iota
	RequireRoot
	ForbidRoot
)

Jump to

Keyboard shortcuts

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