23 lines
326 B
Go
23 lines
326 B
Go
|
|
package cli
|
||
|
|
|
||
|
|
import (
|
||
|
|
"fmt"
|
||
|
|
"io"
|
||
|
|
)
|
||
|
|
|
||
|
|
func Execute(app *App, args []string, stderr io.Writer) int {
|
||
|
|
if stderr == nil {
|
||
|
|
stderr = io.Discard
|
||
|
|
}
|
||
|
|
if app == nil {
|
||
|
|
fmt.Fprintln(stderr, "application is not configured")
|
||
|
|
return 1
|
||
|
|
}
|
||
|
|
|
||
|
|
if err := app.Run(args); err != nil {
|
||
|
|
fmt.Fprintln(stderr, err)
|
||
|
|
return 1
|
||
|
|
}
|
||
|
|
return 0
|
||
|
|
}
|