feat: autocomplete recipe names for more abra commands
continuous-integration/drone/pr Build is passing Details

This commit is contained in:
knoflook 2021-09-08 13:59:55 +02:00
parent cf2653fef8
commit 511619722f
Signed by: knoflook
GPG Key ID: D6A1D0E8FC4FEF1C
8 changed files with 107 additions and 1 deletions

View File

@ -75,4 +75,16 @@ var appBackupCommand = &cli.Command{
return nil return nil
}, },
BashComplete: func(c *cli.Context) {
appNames, err := config.GetAppNames()
if err != nil {
return
}
if c.NArg() > 0 {
return
}
for _, a := range appNames {
fmt.Println(a)
}
},
} }

View File

@ -1,6 +1,7 @@
package app package app
import ( import (
"fmt"
"os" "os"
"path" "path"
"strings" "strings"
@ -48,4 +49,16 @@ var appCheckCommand = &cli.Command{
return nil return nil
}, },
BashComplete: func(c *cli.Context) {
appNames, err := config.GetAppNames()
if err != nil {
return
}
if c.NArg() > 0 {
return
}
for _, a := range appNames {
fmt.Println(a)
}
},
} }

View File

@ -1,10 +1,12 @@
package app package app
import ( import (
"fmt"
"os" "os"
"os/exec" "os/exec"
"coopcloud.tech/abra/cli/internal" "coopcloud.tech/abra/cli/internal"
"coopcloud.tech/abra/pkg/config"
"github.com/AlecAivazis/survey/v2" "github.com/AlecAivazis/survey/v2"
"github.com/sirupsen/logrus" "github.com/sirupsen/logrus"
"github.com/urfave/cli/v2" "github.com/urfave/cli/v2"
@ -38,4 +40,16 @@ var appConfigCommand = &cli.Command{
return nil return nil
}, },
BashComplete: func(c *cli.Context) {
appNames, err := config.GetAppNames()
if err != nil {
return
}
if c.NArg() > 0 {
return
}
for _, a := range appNames {
fmt.Println(a)
}
},
} }

View File

@ -54,4 +54,16 @@ var appDeployCommand = &cli.Command{
return nil return nil
}, },
BashComplete: func(c *cli.Context) {
appNames, err := config.GetAppNames()
if err != nil {
return
}
if c.NArg() > 0 {
return
}
for _, a := range appNames {
fmt.Println(a)
}
},
} }

View File

@ -1,10 +1,27 @@
package app package app
import "github.com/urfave/cli/v2" import (
"fmt"
"coopcloud.tech/abra/pkg/config"
"github.com/urfave/cli/v2"
)
var appRollbackCommand = &cli.Command{ var appRollbackCommand = &cli.Command{
Name: "rollback", Name: "rollback",
Usage: "Roll an app back to a previous version", Usage: "Roll an app back to a previous version",
Aliases: []string{"b"}, Aliases: []string{"b"},
ArgsUsage: "[<version>]", ArgsUsage: "[<version>]",
BashComplete: func(c *cli.Context) {
appNames, err := config.GetAppNames()
if err != nil {
return
}
if c.NArg() > 0 {
return
}
for _, a := range appNames {
fmt.Println(a)
}
},
} }

View File

@ -10,6 +10,7 @@ import (
abraFormatter "coopcloud.tech/abra/cli/formatter" abraFormatter "coopcloud.tech/abra/cli/formatter"
"coopcloud.tech/abra/cli/internal" "coopcloud.tech/abra/cli/internal"
"coopcloud.tech/abra/pkg/client" "coopcloud.tech/abra/pkg/client"
"coopcloud.tech/abra/pkg/config"
"coopcloud.tech/abra/pkg/secret" "coopcloud.tech/abra/pkg/secret"
"github.com/docker/docker/api/types" "github.com/docker/docker/api/types"
"github.com/docker/docker/api/types/filters" "github.com/docker/docker/api/types/filters"
@ -234,6 +235,18 @@ var appSecretLsCommand = &cli.Command{
table.Render() table.Render()
return nil return nil
}, },
BashComplete: func(c *cli.Context) {
appNames, err := config.GetAppNames()
if err != nil {
return
}
if c.NArg() > 0 {
return
}
for _, a := range appNames {
fmt.Println(a)
}
},
} }
var appSecretCommand = &cli.Command{ var appSecretCommand = &cli.Command{

View File

@ -104,4 +104,16 @@ var appVersionCommand = &cli.Command{
table.Render() table.Render()
return nil return nil
}, },
BashComplete: func(c *cli.Context) {
appNames, err := config.GetAppNames()
if err != nil {
return
}
if c.NArg() > 0 {
return
}
for _, a := range appNames {
fmt.Println(a)
}
},
} }

View File

@ -7,6 +7,7 @@ import (
"coopcloud.tech/abra/cli/formatter" "coopcloud.tech/abra/cli/formatter"
"coopcloud.tech/abra/cli/internal" "coopcloud.tech/abra/cli/internal"
"coopcloud.tech/abra/pkg/catalogue"
"coopcloud.tech/abra/pkg/config" "coopcloud.tech/abra/pkg/config"
"coopcloud.tech/tagcmp" "coopcloud.tech/tagcmp"
"github.com/docker/distribution/reference" "github.com/docker/distribution/reference"
@ -90,4 +91,16 @@ var recipeLintCommand = &cli.Command{
return nil return nil
}, },
BashComplete: func(c *cli.Context) {
catl, err := catalogue.ReadRecipeCatalogue()
if err != nil {
return
}
if c.NArg() > 0 {
return
}
for name, _ := range catl {
fmt.Println(name)
}
},
} }