Code maintenance: CLI interface abstraction

This commit is contained in:
Quentin McGaw
2020-12-29 18:24:03 +00:00
parent 95ba3261fd
commit a921f9848c
6 changed files with 185 additions and 132 deletions

View File

@@ -56,12 +56,14 @@ func main() {
os := os.New()
osUser := user.New()
unix := unix.New()
nativeos.Exit(_main(ctx, buildInfo, args, os, osUser, unix))
cli := cli.New()
nativeos.Exit(_main(ctx, buildInfo, args, os, osUser, unix, cli))
}
//nolint:gocognit,gocyclo
func _main(background context.Context, buildInfo models.BuildInformation,
args []string, os os.OS, osUser user.OSUser, unix unix.Unix) int {
args []string, os os.OS, osUser user.OSUser, unix unix.Unix,
cli cli.CLI) int {
if len(args) > 1 { // cli operation
var err error
switch args[1] {