plugins

package
v2.0.0-alpha.2 Latest Latest
Warning

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

Go to latest
Published: Oct 3, 2025 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Discover = sync.OnceValues(func() ([]Plugin, error) {
	var plugins []Plugin
	seen := make(map[string]bool)

	for _, dir := range getPluginDirectories() {
		for _, plugin := range scanDirectory(dir) {
			if !seen[plugin.Name] {
				plugins = append(plugins, plugin)
				seen[plugin.Name] = true
			}
		}
	}

	slices.SortFunc(plugins,
		func(i, j Plugin) int {
			return cmp.Compare(i.Name, j.Name)
		})

	return plugins, nil
})

Functions

func UpdatePath

func UpdatePath() error

Types

type Plugin

type Plugin struct {
	Name        string `json:"name"`
	Path        string `json:"path"`
	Description string `json:"description,omitempty"`
}

func Find

func Find(name string) (*Plugin, error)

Find locates a plugin by name and returns a pointer to a copy.

func (*Plugin) Run

func (plugin *Plugin) Run(ctx context.Context, args []string)

Jump to

Keyboard shortcuts

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