Documentation ¶
Index ¶
Constants ¶
View Source
const ( EvtSetupStarted = "buffalo-plugins:setup:started" EvtSetupErr = "buffalo-plugins:setup:err" EvtSetupFinished = "buffalo-plugins:setup:finished" )
View Source
const BUFFALO_PLUGIN_PATH = "BUFFALO_PLUGIN_PATH"
View Source
const BUFFALO_PLUGIN_TIMEOUT = "BUFFALO_PLUGIN_TIMEOUT"
Variables ¶
View Source
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
View Source
var ErrPlugMissing = fmt.Errorf("plugin missing")
ErrPlugMissing error for when a plugin is missing
Functions ¶
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 List ¶
List maps a Buffalo command to a slice of Command
func Available ¶
Available plugins for the `buffalo` command. It will look in $PATH 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.
Click to show internal directories.
Click to hide internal directories.