Created types for functions

The function used by BashComplete, Before, After, Action and
CommandNotFound have their won type.

This makes easier to change/update the API
This commit is contained in:
Tarcísio Gruppi 2015-07-28 20:02:18 +02:00
parent bca61c476e
commit 9c0db3f4ac
No known key found for this signature in database
GPG Key ID: 36F5005FCAF5C057
3 changed files with 27 additions and 9 deletions

10
app.go
View File

@ -28,17 +28,17 @@ type App struct {
// Boolean to hide built-in version flag // Boolean to hide built-in version flag
HideVersion bool HideVersion bool
// An action to execute when the bash-completion flag is set // An action to execute when the bash-completion flag is set
BashComplete func(context *Context) BashComplete BashCompleteFn
// An action to execute before any subcommands are run, but after the context is ready // An action to execute before any subcommands are run, but after the context is ready
// If a non-nil error is returned, no subcommands are run // If a non-nil error is returned, no subcommands are run
Before func(context *Context) error Before BeforeFn
// An action to execute after any subcommands are run, but after the subcommand has finished // An action to execute after any subcommands are run, but after the subcommand has finished
// It is run even if Action() panics // It is run even if Action() panics
After func(context *Context) error After AfterFn
// The action to execute when no subcommands are specified // The action to execute when no subcommands are specified
Action func(context *Context) Action ActionFn
// Execute this function if the proper command cannot be found // Execute this function if the proper command cannot be found
CommandNotFound func(context *Context, command string) CommandNotFound CommandNotFoundFn
// Compilation date // Compilation date
Compiled time.Time Compiled time.Time
// List of all authors who contributed // List of all authors who contributed

View File

@ -19,15 +19,15 @@ type Command struct {
// A longer explanation of how the command works // A longer explanation of how the command works
Description string Description string
// The function to call when checking for bash command completions // The function to call when checking for bash command completions
BashComplete func(context *Context) BashComplete BashCompleteFn
// An action to execute before any sub-subcommands are run, but after the context is ready // An action to execute before any sub-subcommands are run, but after the context is ready
// If a non-nil error is returned, no sub-subcommands are run // If a non-nil error is returned, no sub-subcommands are run
Before func(context *Context) error Before BeforeFn
// An action to execute after any subcommands are run, but after the subcommand has finished // An action to execute after any subcommands are run, but after the subcommand has finished
// It is run even if Action() panics // It is run even if Action() panics
After func(context *Context) error After AfterFn
// The function to call when this command is invoked // The function to call when this command is invoked
Action func(context *Context) Action ActionFn
// List of child commands // List of child commands
Subcommands []Command Subcommands []Command
// List of flags to parse // List of flags to parse

18
funcs.go Normal file
View File

@ -0,0 +1,18 @@
package cli
// An action to execute when the bash-completion flag is set
type BashCompleteFn func(*Context)
// An action to execute before any subcommands are run, but after the context is ready
// If a non-nil error is returned, no subcommands are run
type BeforeFn func(*Context) error
// An action to execute after any subcommands are run, but after the subcommand has finished
// It is run even if Action() panics
type AfterFn func(*Context) error
// The action to execute when no subcommands are specified
type ActionFn func(*Context)
// Execute this function if the proper command cannot be found
type CommandNotFoundFn func(*Context, string)