Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type InstallAllPluginsCmd ¶
type InstallAllPluginsCmd struct {
Results []*plugins.InstallResult
}
InstallAllPluginsCmd starts installation of all plugins.
type InstallAppOptions ¶
type InstallAppOptions struct {
PluginIDs []*plugins.PluginID
UserRequestedIDs []*plugins.PluginID
Styles *stylespkg.Styles
Headless bool
HeadlessWriter io.Writer
Manager *plugins.Manager
}
InstallAppOptions contains options for creating a new install app.
type InstallCompleteMsg ¶
InstallCompleteMsg is sent when all plugins have been processed in embedded mode. The parent model should handle this to proceed.
type MainModel ¶
type MainModel struct {
Error error
// contains filtered or unexported fields
}
MainModel is the main model for the plugin install TUI.
func NewInstallApp ¶
func NewInstallApp(ctx context.Context, opts InstallAppOptions) (*MainModel, error)
NewInstallApp creates a new plugin install TUI application.
func (*MainModel) SetEmbeddedMode ¶
SetEmbeddedMode configures the install model to run as a sub-model. When embedded: does not auto-quit, sends InstallCompleteMsg instead.
type PluginCompleteMsg ¶
type PluginCompleteMsg struct {
Index int
Result *plugins.InstallResult
}
PluginCompleteMsg signals completion of a plugin installation.
type PluginErrorMsg ¶
PluginErrorMsg signals an error during plugin installation.
type PluginInstallState ¶
type PluginInstallState struct {
PluginID *plugins.PluginID
Status PluginStatus
StatusText string
DownloadedBytes int64
TotalBytes int64
Error error
IsDependency bool
}
PluginInstallState tracks the state of a single plugin installation.
type PluginProgressMsg ¶
type PluginProgressMsg struct {
Index int
Status PluginStatus
StatusText string
Downloaded int64
Total int64
}
PluginProgressMsg reports progress during plugin installation.
type PluginStatus ¶
type PluginStatus int
PluginStatus represents the current status of a plugin installation.
const ( PluginPending PluginStatus = iota PluginResolving PluginDownloading PluginVerifying PluginExtracting PluginComplete PluginSkipped PluginFailed )