package plugins
import "github.com/gobuffalo/buffalo/plugins"
Index ¶
- Constants
- Variables
- func Decorate(c Command) *cobra.Command
- func LookPath(s string) (string, error)
- type Command
- type Commands
- type List
Constants ¶
const ( EvtSetupStarted = "buffalo-plugins:setup:started" EvtSetupErr = "buffalo-plugins:setup:err" EvtSetupFinished = "buffalo-plugins:setup:finished" )
Variables ¶
var CachePath = func() string { home := "." if usr, err := user.Current(); err == nil { home = usr.HomeDir } return filepath.Join(home, ".buffalo", "plugin.cache") }()
CachePath returns the path to the plugins cache
ErrPlugMissing error for when a plugin is missing
Functions ¶
func Decorate ¶
Decorate setup cobra Commands for plugins
func LookPath ¶
LookPath for plugin
Types ¶
type Command ¶
type Command struct { // Name "foo" Name string `json:"name"` // UseCommand "bar" UseCommand string `json:"use_command"` // BuffaloCommand "generate" BuffaloCommand string `json:"buffalo_command"` // Description "generates a foo" Description string `json:"description,omitempty"` Aliases []string `json:"aliases,omitempty"` Binary string `json:"-"` Flags []string `json:"flags,omitempty"` // Filters events to listen to ("" or "*") is all events ListenFor string `json:"listen_for,omitempty"` }
Command that the plugin supplies
type Commands ¶
type Commands []Command
Commands is a slice of Command
type List ¶
List maps a Buffalo command to a slice of Command
func Available ¶
Available plugins for the `buffalo` command. It will look in $GOPATH/bin and the `./plugins` directory. This can be changed by setting the $BUFFALO_PLUGIN_PATH environment variable.
Requirements:
- file/command must be executable
- file/command must start with `buffalo-`
- file/command must respond to `available` and return JSON of plugins.Commands{}
Limit full path scan with direct plugin path
If a file/command doesn't respond to being invoked with `available` within one second, buffalo will assume that it is unable to load. This can be changed by setting the $BUFFALO_PLUGIN_TIMEOUT environment variable. It must be set to a duration that `time.ParseDuration` can process.
Source Files ¶
cache.go command.go decorate.go events.go log.go plugins.go
Directories ¶
Path | Synopsis |
---|---|
plugins/plugcmds | |
plugins/plugdeps |
- Version
- v1.1.2 (latest)
- Published
- May 17, 2025
- Platform
- linux/amd64
- Imports
- 21 packages
- Last checked
- 1 week ago –
Tools for package owners.