add support for shell completion

This commit is contained in:
2026-01-23 17:09:11 +00:00
parent 88d41fd700
commit 2f0f9bd904
4 changed files with 51 additions and 8 deletions

View File

@@ -15,6 +15,7 @@ import (
"github.com/alecthomas/kong"
mangokong "github.com/alecthomas/mango-kong"
"github.com/andreykaipov/goobs"
kongcompletion "github.com/jotaen/kong-completion"
kongdotenv "github.com/titusjaka/kong-dotenv-go"
)
@@ -54,6 +55,8 @@ type CLI struct {
Man mangokong.ManFlag `help:"Print man page."`
Version VersionFlag `help:"Print gobs-cli version information and quit" name:"version" short:"v"`
Completion kongcompletion.Completion `help:"Generate shell completion scripts." cmd:"" aliases:"c"`
ObsVersion ObsVersionCmd `help:"Print OBS client and websocket version." cmd:"" aliases:"v"`
Scene SceneCmd `help:"Manage scenes." cmd:"" aliases:"sc" group:"Scene"`
Sceneitem SceneItemCmd `help:"Manage scene items." cmd:"" aliases:"si" group:"Scene Item"`
@@ -97,6 +100,7 @@ func main() {
}
var cli CLI
kongcompletion.Register(kong.Must(&cli))
ctx := kong.Parse(
&cli,
kong.Name("gobs-cli"),