Documentation
¶
Index ¶
- func GetDefaultConfigFile() string
- func GetDefaultPluginDir() string
- type PluginConfig
- type PluginInfo
- type PluginRegistry
- func (pr *PluginRegistry) Configure(ctx context.Context, name, key, value string) error
- func (pr *PluginRegistry) Disable(ctx context.Context, name string) error
- func (pr *PluginRegistry) Enable(ctx context.Context, name string) error
- func (pr *PluginRegistry) GetEnabledPlugins(ctx context.Context) ([]*PluginInfo, error)
- func (pr *PluginRegistry) Install(ctx context.Context, source, name string) error
- func (pr *PluginRegistry) List(ctx context.Context) ([]*PluginInfo, error)
- func (pr *PluginRegistry) LoadPlugins(ctx context.Context, pluginManager *plugin.PluginManager) error
- func (pr *PluginRegistry) Remove(ctx context.Context, name string) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetDefaultConfigFile ¶
func GetDefaultConfigFile() string
GetDefaultConfigFile returns the default plugin config file
func GetDefaultPluginDir ¶
func GetDefaultPluginDir() string
GetDefaultPluginDir returns the default plugin directory
Types ¶
type PluginConfig ¶
type PluginConfig struct {
Plugins map[string]*PluginInfo `json:"plugins"`
}
PluginConfig represents the plugin configuration file
type PluginInfo ¶
type PluginInfo struct {
Name string `json:"name"`
Version string `json:"version"`
Type string `json:"type"`
Path string `json:"path"`
Enabled bool `json:"enabled"`
Config map[string]string `json:"config,omitempty"`
InstallTime time.Time `json:"install_time"`
Source string `json:"source,omitempty"`
}
PluginInfo represents installed plugin information
type PluginRegistry ¶
type PluginRegistry struct {
// contains filtered or unexported fields
}
PluginRegistry manages CLI plugin operations
func NewPluginRegistry ¶
func NewPluginRegistry(pluginDir, configFile string) *PluginRegistry
NewPluginRegistry creates a new CLI plugin registry
func (*PluginRegistry) Configure ¶
func (pr *PluginRegistry) Configure(ctx context.Context, name, key, value string) error
Configure sets configuration values for a plugin
func (*PluginRegistry) Disable ¶
func (pr *PluginRegistry) Disable(ctx context.Context, name string) error
Disable disables a plugin
func (*PluginRegistry) Enable ¶
func (pr *PluginRegistry) Enable(ctx context.Context, name string) error
Enable enables a plugin
func (*PluginRegistry) GetEnabledPlugins ¶
func (pr *PluginRegistry) GetEnabledPlugins(ctx context.Context) ([]*PluginInfo, error)
GetEnabledPlugins returns all enabled plugins
func (*PluginRegistry) Install ¶
func (pr *PluginRegistry) Install(ctx context.Context, source, name string) error
Install installs a plugin from a source (URL, local path, or package name)
func (*PluginRegistry) List ¶
func (pr *PluginRegistry) List(ctx context.Context) ([]*PluginInfo, error)
List returns all installed plugins
func (*PluginRegistry) LoadPlugins ¶
func (pr *PluginRegistry) LoadPlugins(ctx context.Context, pluginManager *plugin.PluginManager) error
LoadPlugins loads all enabled plugins into the plugin manager
Click to show internal directories.
Click to hide internal directories.