plugins

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Nov 12, 2025 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type GitClient added in v0.1.2

type GitClient interface {
	PlainClone(path string, url string) error
	Pull(path string) error
	HasUpdates(path string) (bool, error)
}

type Manager

type Manager struct {
	// contains filtered or unexported fields
}

func NewManager

func NewManager() (*Manager, error)

func NewManagerWithFs

func NewManagerWithFs(fs afero.Fs) (*Manager, error)

func (*Manager) GetPluginsDir

func (m *Manager) GetPluginsDir() string

func (*Manager) HasUpdates added in v0.2.0

func (m *Manager) HasUpdates(pluginID string, plugin Plugin) (bool, error)

func (*Manager) Install

func (m *Manager) Install(plugin Plugin) error

func (*Manager) IsInstalled

func (m *Manager) IsInstalled(plugin Plugin) (bool, error)

func (*Manager) ListInstalled

func (m *Manager) ListInstalled() ([]string, error)

func (*Manager) Uninstall

func (m *Manager) Uninstall(plugin Plugin) error

func (*Manager) Update

func (m *Manager) Update(plugin Plugin) error

type Plugin

type Plugin struct {
	ID           string   `json:"id"`
	Name         string   `json:"name"`
	Capabilities []string `json:"capabilities"`
	Category     string   `json:"category"`
	Repo         string   `json:"repo"`
	Path         string   `json:"path,omitempty"`
	Author       string   `json:"author"`
	Description  string   `json:"description"`
	Dependencies []string `json:"dependencies,omitempty"`
	Compositors  []string `json:"compositors"`
	Distro       []string `json:"distro"`
	Screenshot   string   `json:"screenshot,omitempty"`
}

func FilterByCapability

func FilterByCapability(capability string, plugins []Plugin) []Plugin

func FilterByCategory

func FilterByCategory(category string, plugins []Plugin) []Plugin

func FilterByCompositor

func FilterByCompositor(compositor string, plugins []Plugin) []Plugin

func FuzzySearch

func FuzzySearch(query string, plugins []Plugin) []Plugin

func SortByFirstParty

func SortByFirstParty(plugins []Plugin) []Plugin

type Registry

type Registry struct {
	// contains filtered or unexported fields
}

func NewRegistry

func NewRegistry() (*Registry, error)

func NewRegistryWithFs

func NewRegistryWithFs(fs afero.Fs) (*Registry, error)

func (*Registry) Get

func (r *Registry) Get(idOrName string) (*Plugin, error)

func (*Registry) List

func (r *Registry) List() ([]Plugin, error)

func (*Registry) Search

func (r *Registry) Search(query string) ([]Plugin, error)

func (*Registry) Update

func (r *Registry) Update() error

Jump to

Keyboard shortcuts

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