From 024cc263d44d85063eebe9310c1d4efbc11cef91 Mon Sep 17 00:00:00 2001 From: onyx-and-iris Date: Sat, 11 Apr 2026 01:21:22 +0100 Subject: [PATCH] update completion tags bump kong-completion version --- filter.go | 10 +++++----- go.mod | 2 +- go.sum | 4 ++-- group.go | 10 +++++----- hotkey.go | 6 +++--- input.go | 22 ++++++++++---------- main.go | 50 +++++++++++++++++++++++----------------------- media.go | 10 +++++----- profile.go | 10 +++++----- projector.go | 4 ++-- record.go | 18 ++++++++--------- replaybuffer.go | 10 +++++----- scene.go | 6 +++--- scenecollection.go | 8 ++++---- sceneitem.go | 12 +++++------ settings.go | 8 ++++---- stream.go | 8 ++++---- studiomode.go | 8 ++++---- 18 files changed, 103 insertions(+), 103 deletions(-) diff --git a/filter.go b/filter.go index 5dcc978..d501123 100644 --- a/filter.go +++ b/filter.go @@ -13,11 +13,11 @@ import ( // FilterCmd provides commands to manage filters in OBS Studio. type FilterCmd struct { - List FilterListCmd `cmd:"" help:"List all filters." aliases:"ls" completion-command-alias-enabled:"false"` - Enable FilterEnableCmd `cmd:"" help:"Enable filter." aliases:"on" completion-command-alias-enabled:"false"` - Disable FilterDisableCmd `cmd:"" help:"Disable filter." aliases:"off" completion-command-alias-enabled:"false"` - Toggle FilterToggleCmd `cmd:"" help:"Toggle filter." aliases:"tg" completion-command-alias-enabled:"false"` - Status FilterStatusCmd `cmd:"" help:"Get filter status." aliases:"ss" completion-command-alias-enabled:"false"` + List FilterListCmd `cmd:"" help:"List all filters." aliases:"ls" completion-enabled-command-alias:"false"` + Enable FilterEnableCmd `cmd:"" help:"Enable filter." aliases:"on" completion-enabled-command-alias:"false"` + Disable FilterDisableCmd `cmd:"" help:"Disable filter." aliases:"off" completion-enabled-command-alias:"false"` + Toggle FilterToggleCmd `cmd:"" help:"Toggle filter." aliases:"tg" completion-enabled-command-alias:"false"` + Status FilterStatusCmd `cmd:"" help:"Get filter status." aliases:"ss" completion-enabled-command-alias:"false"` } // FilterListCmd provides a command to list all filters in a scene. diff --git a/go.mod b/go.mod index 40eb261..08f4f0c 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ require ( github.com/alecthomas/mango-kong v0.1.0 github.com/andreykaipov/goobs v1.8.2 github.com/charmbracelet/lipgloss v1.1.0 - github.com/jotaen/kong-completion v0.0.12 + github.com/jotaen/kong-completion v0.0.13 github.com/titusjaka/kong-dotenv-go v0.1.0 ) diff --git a/go.sum b/go.sum index eedb42a..56eb4f4 100644 --- a/go.sum +++ b/go.sum @@ -47,8 +47,8 @@ github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUq github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0= github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4= -github.com/jotaen/kong-completion v0.0.12 h1:a9jmSaWgkdAUMQT583UxLIJrO9tfdSmYqcIxrBByjPc= -github.com/jotaen/kong-completion v0.0.12/go.mod h1:dyIG20e3qq128SUBtF8jzI7YtkfzjWMlgbqkAJd6xHQ= +github.com/jotaen/kong-completion v0.0.13 h1:fbbqijMmrCgx8sz6bZz+B5p5yJSEAdwJZALsUZ+Ql3s= +github.com/jotaen/kong-completion v0.0.13/go.mod h1:dyIG20e3qq128SUBtF8jzI7YtkfzjWMlgbqkAJd6xHQ= github.com/lucasb-eyer/go-colorful v1.3.0 h1:2/yBRLdWBZKrf7gB40FoiKfAWYQ0lqNcbuQwVHXptag= github.com/lucasb-eyer/go-colorful v1.3.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= diff --git a/group.go b/group.go index a4c182d..b1a9251 100644 --- a/group.go +++ b/group.go @@ -10,11 +10,11 @@ import ( // GroupCmd provides commands to manage groups in OBS Studio. type GroupCmd struct { - List GroupListCmd `cmd:"" help:"List all groups." aliases:"ls" completion-command-alias-enabled:"false"` - Show GroupShowCmd `cmd:"" help:"Show group details." aliases:"sh" completion-command-alias-enabled:"false"` - Hide GroupHideCmd `cmd:"" help:"Hide group." aliases:"h" completion-command-alias-enabled:"false"` - Toggle GroupToggleCmd `cmd:"" help:"Toggle group." aliases:"tg" completion-command-alias-enabled:"false"` - Status GroupStatusCmd `cmd:"" help:"Get group status." aliases:"ss" completion-command-alias-enabled:"false"` + List GroupListCmd `cmd:"" help:"List all groups." aliases:"ls" completion-enabled-command-alias:"false"` + Show GroupShowCmd `cmd:"" help:"Show group details." aliases:"sh" completion-enabled-command-alias:"false"` + Hide GroupHideCmd `cmd:"" help:"Hide group." aliases:"h" completion-enabled-command-alias:"false"` + Toggle GroupToggleCmd `cmd:"" help:"Toggle group." aliases:"tg" completion-enabled-command-alias:"false"` + Status GroupStatusCmd `cmd:"" help:"Get group status." aliases:"ss" completion-enabled-command-alias:"false"` } // GroupListCmd provides a command to list all groups in a scene. diff --git a/hotkey.go b/hotkey.go index c3758c8..fe8ee34 100644 --- a/hotkey.go +++ b/hotkey.go @@ -11,9 +11,9 @@ import ( // HotkeyCmd provides commands to manage hotkeys in OBS Studio. type HotkeyCmd struct { - List HotkeyListCmd `cmd:"" help:"List all hotkeys." aliases:"ls" completion-command-alias-enabled:"false"` - Trigger HotkeyTriggerCmd `cmd:"" help:"Trigger a hotkey by name." aliases:"tr" completion-command-alias-enabled:"false"` - TriggerSequence HotkeyTriggerSequenceCmd `cmd:"" help:"Trigger a hotkey by sequence." aliases:"trs" completion-command-alias-enabled:"false"` + List HotkeyListCmd `cmd:"" help:"List all hotkeys." aliases:"ls" completion-enabled-command-alias:"false"` + Trigger HotkeyTriggerCmd `cmd:"" help:"Trigger a hotkey by name." aliases:"tr" completion-enabled-command-alias:"false"` + TriggerSequence HotkeyTriggerSequenceCmd `cmd:"" help:"Trigger a hotkey by sequence." aliases:"trs" completion-enabled-command-alias:"false"` } // HotkeyListCmd provides a command to list all hotkeys. diff --git a/input.go b/input.go index f6fefb9..aa1f748 100644 --- a/input.go +++ b/input.go @@ -14,17 +14,17 @@ import ( // InputCmd provides commands to manage inputs in OBS Studio. type InputCmd struct { - Create InputCreateCmd `cmd:"" help:"Create input." aliases:"c" completion-command-alias-enabled:"false"` - Remove InputRemoveCmd `cmd:"" help:"Remove input." aliases:"d" completion-command-alias-enabled:"false"` - List InputListCmd `cmd:"" help:"List all inputs." aliases:"ls" completion-command-alias-enabled:"false"` - ListKinds InputListKindsCmd `cmd:"" help:"List input kinds." aliases:"k" completion-command-alias-enabled:"false"` - Mute InputMuteCmd `cmd:"" help:"Mute input." aliases:"m" completion-command-alias-enabled:"false"` - Unmute InputUnmuteCmd `cmd:"" help:"Unmute input." aliases:"um" completion-command-alias-enabled:"false"` - Toggle InputToggleCmd `cmd:"" help:"Toggle input." aliases:"tg" completion-command-alias-enabled:"false"` - Volume InputVolumeCmd `cmd:"" help:"Set input volume." aliases:"v" completion-command-alias-enabled:"false"` - Show InputShowCmd `cmd:"" help:"Show input details." aliases:"s" completion-command-alias-enabled:"false"` - Update InputUpdateCmd `cmd:"" help:"Update input settings." aliases:"up" completion-command-alias-enabled:"false"` - KindDefaults InputKindDefaultsCmd `cmd:"" help:"Get default settings for an input kind." aliases:"df" completion-command-alias-enabled:"false"` + Create InputCreateCmd `cmd:"" help:"Create input." aliases:"c" completion-enabled-command-alias:"false"` + Remove InputRemoveCmd `cmd:"" help:"Remove input." aliases:"d" completion-enabled-command-alias:"false"` + List InputListCmd `cmd:"" help:"List all inputs." aliases:"ls" completion-enabled-command-alias:"false"` + ListKinds InputListKindsCmd `cmd:"" help:"List input kinds." aliases:"k" completion-enabled-command-alias:"false"` + Mute InputMuteCmd `cmd:"" help:"Mute input." aliases:"m" completion-enabled-command-alias:"false"` + Unmute InputUnmuteCmd `cmd:"" help:"Unmute input." aliases:"um" completion-enabled-command-alias:"false"` + Toggle InputToggleCmd `cmd:"" help:"Toggle input." aliases:"tg" completion-enabled-command-alias:"false"` + Volume InputVolumeCmd `cmd:"" help:"Set input volume." aliases:"v" completion-enabled-command-alias:"false"` + Show InputShowCmd `cmd:"" help:"Show input details." aliases:"s" completion-enabled-command-alias:"false"` + Update InputUpdateCmd `cmd:"" help:"Update input settings." aliases:"up" completion-enabled-command-alias:"false"` + KindDefaults InputKindDefaultsCmd `cmd:"" help:"Get default settings for an input kind." aliases:"df" completion-enabled-command-alias:"false"` } // InputCreateCmd provides a command to create an input. diff --git a/main.go b/main.go index ed211f8..94a15ad 100644 --- a/main.go +++ b/main.go @@ -34,16 +34,16 @@ func (v VersionFlag) BeforeApply(app *kong.Kong, vars kong.Vars) error { // noli // ObsConfig holds the configuration for connecting to the OBS WebSocket server. type ObsConfig struct { - Host string `flag:"host" help:"Host to connect to." default:"localhost" env:"OBS_HOST" short:"H" completion-short-enabled:"false"` - Port int `flag:"port" help:"Port to connect to." default:"4455" env:"OBS_PORT" short:"P" completion-short-enabled:"false"` - Password string `flag:"password" help:"Password for authentication." default:"" env:"OBS_PASSWORD" short:"p" completion-short-enabled:"false"` - Timeout int `flag:"timeout" help:"Timeout in seconds." default:"5" env:"OBS_TIMEOUT" short:"T" completion-short-enabled:"false"` + Host string `flag:"host" help:"Host to connect to." default:"localhost" env:"OBS_HOST" short:"H" completion-enabled-flag-short:"false"` + Port int `flag:"port" help:"Port to connect to." default:"4455" env:"OBS_PORT" short:"P" completion-enabled-flag-short:"false"` + Password string `flag:"password" help:"Password for authentication." default:"" env:"OBS_PASSWORD" short:"p" completion-enabled-flag-short:"false"` + Timeout int `flag:"timeout" help:"Timeout in seconds." default:"5" env:"OBS_TIMEOUT" short:"T" completion-enabled-flag-short:"false"` } // StyleConfig holds the configuration for styling the CLI output. type StyleConfig struct { - Style string `flag:"style" help:"Style used in output." default:"" env:"GOBS_STYLE" short:"s" enum:",red,magenta,purple,blue,cyan,green,yellow,orange,white,grey,navy,black" completion-short-enabled:"false"` - NoBorder bool `flag:"no-border" help:"Disable table border styling in output." default:"false" env:"GOBS_STYLE_NO_BORDER" short:"b" completion-short-enabled:"false"` + Style string `flag:"style" help:"Style used in output." default:"" env:"GOBS_STYLE" short:"s" enum:",red,magenta,purple,blue,cyan,green,yellow,orange,white,grey,navy,black" completion-enabled-flag-short:"false"` + NoBorder bool `flag:"no-border" help:"Disable table border styling in output." default:"false" env:"GOBS_STYLE_NO_BORDER" short:"b" completion-enabled-flag-short:"false"` } // CLI is the main command line interface structure. @@ -57,25 +57,25 @@ type CLI struct { Completion kongcompletion.Completion `help:"Generate shell completion scripts." cmd:""` - ObsVersion ObsVersionCmd `cmd:"" help:"Print OBS client and websocket version." aliases:"v" completion-command-alias-enabled:"false"` - Scene SceneCmd `cmd:"" help:"Manage scenes." aliases:"sc" completion-command-alias-enabled:"false" group:"Scene"` - Sceneitem SceneItemCmd `cmd:"" help:"Manage scene items." aliases:"si" completion-command-alias-enabled:"false" group:"Scene Item"` - Group GroupCmd `cmd:"" help:"Manage groups." aliases:"g" completion-command-alias-enabled:"false" group:"Group"` - Input InputCmd `cmd:"" help:"Manage inputs." aliases:"i" completion-command-alias-enabled:"false" group:"Input"` - Text TextCmd `cmd:"" help:"Manage text inputs." aliases:"t" completion-command-alias-enabled:"false" group:"Text Input"` - Record RecordCmd `cmd:"" help:"Manage recording." aliases:"rec" completion-command-alias-enabled:"false" group:"Recording"` - Stream StreamCmd `cmd:"" help:"Manage streaming." aliases:"st" completion-command-alias-enabled:"false" group:"Streaming"` - Scenecollection SceneCollectionCmd `cmd:"" help:"Manage scene collections." aliases:"scn" completion-command-alias-enabled:"false" group:"Scene Collection"` - Profile ProfileCmd `cmd:"" help:"Manage profiles." aliases:"p" completion-command-alias-enabled:"false" group:"Profile"` - Replaybuffer ReplayBufferCmd `cmd:"" help:"Manage replay buffer." aliases:"rb" completion-command-alias-enabled:"false" group:"Replay Buffer"` - Studiomode StudioModeCmd `cmd:"" help:"Manage studio mode." aliases:"sm" completion-command-alias-enabled:"false" group:"Studio Mode"` - Virtualcam VirtualCamCmd `cmd:"" help:"Manage virtual camera." aliases:"vc" completion-command-alias-enabled:"false" group:"Virtual Camera"` - Hotkey HotkeyCmd `cmd:"" help:"Manage hotkeys." aliases:"hk" completion-command-alias-enabled:"false" group:"Hotkey"` - Filter FilterCmd `cmd:"" help:"Manage filters." aliases:"f" completion-command-alias-enabled:"false" group:"Filter"` - Projector ProjectorCmd `cmd:"" help:"Manage projectors." aliases:"prj" completion-command-alias-enabled:"false" group:"Projector"` - Screenshot ScreenshotCmd `cmd:"" help:"Take screenshots." aliases:"ss" completion-command-alias-enabled:"false" group:"Screenshot"` - Settings SettingsCmd `cmd:"" help:"Manage video and profile settings." aliases:"set" completion-command-alias-enabled:"false" group:"Settings"` - Media MediaCmd `cmd:"" help:"Manage media inputs." aliases:"mi" completion-command-alias-enabled:"false" group:"Media Input"` + ObsVersion ObsVersionCmd `cmd:"" help:"Print OBS client and websocket version." aliases:"v" completion-enabled-command-alias:"false"` + Scene SceneCmd `cmd:"" help:"Manage scenes." aliases:"sc" completion-enabled-command-alias:"false" group:"Scene"` + Sceneitem SceneItemCmd `cmd:"" help:"Manage scene items." aliases:"si" completion-enabled-command-alias:"false" group:"Scene Item"` + Group GroupCmd `cmd:"" help:"Manage groups." aliases:"g" completion-enabled-command-alias:"false" group:"Group"` + Input InputCmd `cmd:"" help:"Manage inputs." aliases:"i" completion-enabled-command-alias:"false" group:"Input"` + Text TextCmd `cmd:"" help:"Manage text inputs." aliases:"t" completion-enabled-command-alias:"false" group:"Text Input"` + Record RecordCmd `cmd:"" help:"Manage recording." aliases:"rec" completion-enabled-command-alias:"false" group:"Recording"` + Stream StreamCmd `cmd:"" help:"Manage streaming." aliases:"st" completion-enabled-command-alias:"false" group:"Streaming"` + Scenecollection SceneCollectionCmd `cmd:"" help:"Manage scene collections." aliases:"scn" completion-enabled-command-alias:"false" group:"Scene Collection"` + Profile ProfileCmd `cmd:"" help:"Manage profiles." aliases:"p" completion-enabled-command-alias:"false" group:"Profile"` + Replaybuffer ReplayBufferCmd `cmd:"" help:"Manage replay buffer." aliases:"rb" completion-enabled-command-alias:"false" group:"Replay Buffer"` + Studiomode StudioModeCmd `cmd:"" help:"Manage studio mode." aliases:"sm" completion-enabled-command-alias:"false" group:"Studio Mode"` + Virtualcam VirtualCamCmd `cmd:"" help:"Manage virtual camera." aliases:"vc" completion-enabled-command-alias:"false" group:"Virtual Camera"` + Hotkey HotkeyCmd `cmd:"" help:"Manage hotkeys." aliases:"hk" completion-enabled-command-alias:"false" group:"Hotkey"` + Filter FilterCmd `cmd:"" help:"Manage filters." aliases:"f" completion-enabled-command-alias:"false" group:"Filter"` + Projector ProjectorCmd `cmd:"" help:"Manage projectors." aliases:"prj" completion-enabled-command-alias:"false" group:"Projector"` + Screenshot ScreenshotCmd `cmd:"" help:"Take screenshots." aliases:"ss" completion-enabled-command-alias:"false" group:"Screenshot"` + Settings SettingsCmd `cmd:"" help:"Manage video and profile settings." aliases:"set" completion-enabled-command-alias:"false" group:"Settings"` + Media MediaCmd `cmd:"" help:"Manage media inputs." aliases:"mi" completion-enabled-command-alias:"false" group:"Media Input"` } type context struct { diff --git a/media.go b/media.go index a5dd944..4bc9242 100644 --- a/media.go +++ b/media.go @@ -8,11 +8,11 @@ import ( // MediaCmd represents a collection of commands to control media inputs. type MediaCmd struct { - Cursor MediaCursorCmd `cmd:"" help:"Get/set the cursor position of a media input." aliases:"c" completion-command-alias-enabled:"false"` - Play MediaPlayCmd `cmd:"" help:"Plays a media input." aliases:"p" completion-command-alias-enabled:"false"` - Pause MediaPauseCmd `cmd:"" help:"Pauses a media input." aliases:"pa" completion-command-alias-enabled:"false"` - Stop MediaStopCmd `cmd:"" help:"Stops a media input." aliases:"s" completion-command-alias-enabled:"false"` - Restart MediaRestartCmd `cmd:"" help:"Restarts a media input." aliases:"r" completion-command-alias-enabled:"false"` + Cursor MediaCursorCmd `cmd:"" help:"Get/set the cursor position of a media input." aliases:"c" completion-enabled-command-alias:"false"` + Play MediaPlayCmd `cmd:"" help:"Plays a media input." aliases:"p" completion-enabled-command-alias:"false"` + Pause MediaPauseCmd `cmd:"" help:"Pauses a media input." aliases:"pa" completion-enabled-command-alias:"false"` + Stop MediaStopCmd `cmd:"" help:"Stops a media input." aliases:"s" completion-enabled-command-alias:"false"` + Restart MediaRestartCmd `cmd:"" help:"Restarts a media input." aliases:"r" completion-enabled-command-alias:"false"` } // MediaCursorCmd represents the command to get or set the cursor position of a media input. diff --git a/profile.go b/profile.go index 689b2a5..86a4d24 100644 --- a/profile.go +++ b/profile.go @@ -11,11 +11,11 @@ import ( // ProfileCmd provides commands to manage profiles in OBS Studio. type ProfileCmd struct { - List ProfileListCmd `cmd:"" help:"List profiles." aliases:"ls" completion-command-alias-enabled:"false"` - Current ProfileCurrentCmd `cmd:"" help:"Get current profile." aliases:"c" completion-command-alias-enabled:"false"` - Switch ProfileSwitchCmd `cmd:"" help:"Switch profile." aliases:"sw" completion-command-alias-enabled:"false"` - Create ProfileCreateCmd `cmd:"" help:"Create profile." aliases:"new" completion-command-alias-enabled:"false"` - Remove ProfileRemoveCmd `cmd:"" help:"Remove profile." aliases:"rm" completion-command-alias-enabled:"false"` + List ProfileListCmd `cmd:"" help:"List profiles." aliases:"ls" completion-enabled-command-alias:"false"` + Current ProfileCurrentCmd `cmd:"" help:"Get current profile." aliases:"c" completion-enabled-command-alias:"false"` + Switch ProfileSwitchCmd `cmd:"" help:"Switch profile." aliases:"sw" completion-enabled-command-alias:"false"` + Create ProfileCreateCmd `cmd:"" help:"Create profile." aliases:"new" completion-enabled-command-alias:"false"` + Remove ProfileRemoveCmd `cmd:"" help:"Remove profile." aliases:"rm" completion-enabled-command-alias:"false"` } // ProfileListCmd provides a command to list all profiles. diff --git a/projector.go b/projector.go index ea0f6c1..2e0dae6 100644 --- a/projector.go +++ b/projector.go @@ -10,8 +10,8 @@ import ( // ProjectorCmd provides a command to manage projectors in OBS. type ProjectorCmd struct { - ListMonitors ProjectorListMonitorsCmd `cmd:"" help:"List available monitors." aliases:"ls-m" completion-command-alias-enabled:"false"` - Open ProjectorOpenCmd `cmd:"" help:"Open a fullscreen projector for a source on a specific monitor." aliases:"o" completion-command-alias-enabled:"false"` + ListMonitors ProjectorListMonitorsCmd `cmd:"" help:"List available monitors." aliases:"ls-m" completion-enabled-command-alias:"false"` + Open ProjectorOpenCmd `cmd:"" help:"Open a fullscreen projector for a source on a specific monitor." aliases:"o" completion-enabled-command-alias:"false"` } // ProjectorListMonitorsCmd provides a command to list all monitors available for projectors. diff --git a/record.go b/record.go index 1c0a676..992e2a4 100644 --- a/record.go +++ b/record.go @@ -9,15 +9,15 @@ import ( // RecordCmd handles the recording commands. type RecordCmd struct { - Start RecordStartCmd `cmd:"" help:"Start recording." aliases:"s" completion-command-alias-enabled:"false"` - Stop RecordStopCmd `cmd:"" help:"Stop recording." aliases:"st" completion-command-alias-enabled:"false"` - Toggle RecordToggleCmd `cmd:"" help:"Toggle recording." aliases:"tg" completion-command-alias-enabled:"false"` - Status RecordStatusCmd `cmd:"" help:"Show recording status." aliases:"ss" completion-command-alias-enabled:"false"` - Pause RecordPauseCmd `cmd:"" help:"Pause recording." aliases:"p" completion-command-alias-enabled:"false"` - Resume RecordResumeCmd `cmd:"" help:"Resume recording." aliases:"r" completion-command-alias-enabled:"false"` - Directory RecordDirectoryCmd `cmd:"" help:"Get/Set recording directory." aliases:"d" completion-command-alias-enabled:"false"` - Split RecordSplitCmd `cmd:"" help:"Split recording." aliases:"sp" completion-command-alias-enabled:"false"` - Chapter RecordChapterCmd `cmd:"" help:"Create a chapter in the recording." aliases:"c" completion-command-alias-enabled:"false"` + Start RecordStartCmd `cmd:"" help:"Start recording." aliases:"s" completion-enabled-command-alias:"false"` + Stop RecordStopCmd `cmd:"" help:"Stop recording." aliases:"st" completion-enabled-command-alias:"false"` + Toggle RecordToggleCmd `cmd:"" help:"Toggle recording." aliases:"tg" completion-enabled-command-alias:"false"` + Status RecordStatusCmd `cmd:"" help:"Show recording status." aliases:"ss" completion-enabled-command-alias:"false"` + Pause RecordPauseCmd `cmd:"" help:"Pause recording." aliases:"p" completion-enabled-command-alias:"false"` + Resume RecordResumeCmd `cmd:"" help:"Resume recording." aliases:"r" completion-enabled-command-alias:"false"` + Directory RecordDirectoryCmd `cmd:"" help:"Get/Set recording directory." aliases:"d" completion-enabled-command-alias:"false"` + Split RecordSplitCmd `cmd:"" help:"Split recording." aliases:"sp" completion-enabled-command-alias:"false"` + Chapter RecordChapterCmd `cmd:"" help:"Create a chapter in the recording." aliases:"c" completion-enabled-command-alias:"false"` } // RecordStartCmd starts the recording. diff --git a/replaybuffer.go b/replaybuffer.go index ff0d987..27b8426 100644 --- a/replaybuffer.go +++ b/replaybuffer.go @@ -6,11 +6,11 @@ import ( // ReplayBufferCmd handles the recording commands. type ReplayBufferCmd struct { - Start ReplayBufferStartCmd `cmd:"" help:"Start replay buffer." aliases:"s" completion-command-alias-enabled:"false"` - Stop ReplayBufferStopCmd `cmd:"" help:"Stop replay buffer." aliases:"st" completion-command-alias-enabled:"false"` - Toggle ReplayBufferToggleCmd `cmd:"" help:"Toggle replay buffer." aliases:"tg" completion-command-alias-enabled:"false"` - Status ReplayBufferStatusCmd `cmd:"" help:"Get replay buffer status." aliases:"ss" completion-command-alias-enabled:"false"` - Save ReplayBufferSaveCmd `cmd:"" help:"Save replay buffer." aliases:"sv" completion-command-alias-enabled:"false"` + Start ReplayBufferStartCmd `cmd:"" help:"Start replay buffer." aliases:"s" completion-enabled-command-alias:"false"` + Stop ReplayBufferStopCmd `cmd:"" help:"Stop replay buffer." aliases:"st" completion-enabled-command-alias:"false"` + Toggle ReplayBufferToggleCmd `cmd:"" help:"Toggle replay buffer." aliases:"tg" completion-enabled-command-alias:"false"` + Status ReplayBufferStatusCmd `cmd:"" help:"Get replay buffer status." aliases:"ss" completion-enabled-command-alias:"false"` + Save ReplayBufferSaveCmd `cmd:"" help:"Save replay buffer." aliases:"sv" completion-enabled-command-alias:"false"` } // ReplayBufferStartCmd starts the replay buffer. diff --git a/scene.go b/scene.go index 3ac8fc9..b0694b9 100644 --- a/scene.go +++ b/scene.go @@ -11,9 +11,9 @@ import ( // SceneCmd provides commands to manage scenes in OBS Studio. type SceneCmd struct { - List SceneListCmd `cmd:"" help:"List all scenes." aliases:"ls" completion-command-alias-enabled:"false"` - Current SceneCurrentCmd `cmd:"" help:"Get the current scene." aliases:"c" completion-command-alias-enabled:"false"` - Switch SceneSwitchCmd `cmd:"" help:"Switch to a scene." aliases:"sw" completion-command-alias-enabled:"false"` + List SceneListCmd `cmd:"" help:"List all scenes." aliases:"ls" completion-enabled-command-alias:"false"` + Current SceneCurrentCmd `cmd:"" help:"Get the current scene." aliases:"c" completion-enabled-command-alias:"false"` + Switch SceneSwitchCmd `cmd:"" help:"Switch to a scene." aliases:"sw" completion-enabled-command-alias:"false"` } // SceneListCmd provides a command to list all scenes. diff --git a/scenecollection.go b/scenecollection.go index 85648cc..54f18f7 100644 --- a/scenecollection.go +++ b/scenecollection.go @@ -10,10 +10,10 @@ import ( // SceneCollectionCmd provides commands to manage scene collections in OBS Studio. type SceneCollectionCmd struct { - List SceneCollectionListCmd `cmd:"" help:"List scene collections." aliases:"ls" completion-command-alias-enabled:"false"` - Current SceneCollectionCurrentCmd `cmd:"" help:"Get current scene collection." aliases:"c" completion-command-alias-enabled:"false"` - Switch SceneCollectionSwitchCmd `cmd:"" help:"Switch scene collection." aliases:"sw" completion-command-alias-enabled:"false"` - Create SceneCollectionCreateCmd `cmd:"" help:"Create scene collection." aliases:"new" completion-command-alias-enabled:"false"` + List SceneCollectionListCmd `cmd:"" help:"List scene collections." aliases:"ls" completion-enabled-command-alias:"false"` + Current SceneCollectionCurrentCmd `cmd:"" help:"Get current scene collection." aliases:"c" completion-enabled-command-alias:"false"` + Switch SceneCollectionSwitchCmd `cmd:"" help:"Switch scene collection." aliases:"sw" completion-enabled-command-alias:"false"` + Create SceneCollectionCreateCmd `cmd:"" help:"Create scene collection." aliases:"new" completion-enabled-command-alias:"false"` } // SceneCollectionListCmd provides a command to list all scene collections. diff --git a/sceneitem.go b/sceneitem.go index c9af15f..f19bf33 100644 --- a/sceneitem.go +++ b/sceneitem.go @@ -13,12 +13,12 @@ import ( // SceneItemCmd provides commands to manage scene items in OBS Studio. type SceneItemCmd struct { - List SceneItemListCmd `cmd:"" help:"List all scene items." aliases:"ls" completion-command-alias-enabled:"false"` - Show SceneItemShowCmd `cmd:"" help:"Show scene item." aliases:"sh" completion-command-alias-enabled:"false"` - Hide SceneItemHideCmd `cmd:"" help:"Hide scene item." aliases:"h" completion-command-alias-enabled:"false"` - Toggle SceneItemToggleCmd `cmd:"" help:"Toggle scene item." aliases:"tg" completion-command-alias-enabled:"false"` - Visible SceneItemVisibleCmd `cmd:"" help:"Get scene item visibility." aliases:"v" completion-command-alias-enabled:"false"` - Transform SceneItemTransformCmd `cmd:"" help:"Transform scene item." aliases:"t" completion-command-alias-enabled:"false"` + List SceneItemListCmd `cmd:"" help:"List all scene items." aliases:"ls" completion-enabled-command-alias:"false"` + Show SceneItemShowCmd `cmd:"" help:"Show scene item." aliases:"sh" completion-enabled-command-alias:"false"` + Hide SceneItemHideCmd `cmd:"" help:"Hide scene item." aliases:"h" completion-enabled-command-alias:"false"` + Toggle SceneItemToggleCmd `cmd:"" help:"Toggle scene item." aliases:"tg" completion-enabled-command-alias:"false"` + Visible SceneItemVisibleCmd `cmd:"" help:"Get scene item visibility." aliases:"v" completion-enabled-command-alias:"false"` + Transform SceneItemTransformCmd `cmd:"" help:"Transform scene item." aliases:"t" completion-enabled-command-alias:"false"` } // SceneItemListCmd provides a command to list all scene items in a scene. diff --git a/settings.go b/settings.go index 1037310..d710096 100644 --- a/settings.go +++ b/settings.go @@ -11,10 +11,10 @@ import ( // SettingsCmd handles settings management. type SettingsCmd struct { - Show SettingsShowCmd `cmd:"" help:"Show settings." aliases:"s" completion-command-alias-enabled:"false"` - Profile SettingsProfileCmd `cmd:"" help:"Get/Set profile parameter setting." aliases:"p" completion-command-alias-enabled:"false"` - StreamService SettingsStreamServiceCmd `cmd:"" help:"Get/Set stream service setting." aliases:"ss" completion-command-alias-enabled:"false"` - Video SettingsVideoCmd `cmd:"" help:"Get/Set video setting." aliases:"v" completion-command-alias-enabled:"false"` + Show SettingsShowCmd `cmd:"" help:"Show settings." aliases:"s" completion-enabled-command-alias:"false"` + Profile SettingsProfileCmd `cmd:"" help:"Get/Set profile parameter setting." aliases:"p" completion-enabled-command-alias:"false"` + StreamService SettingsStreamServiceCmd `cmd:"" help:"Get/Set stream service setting." aliases:"ss" completion-enabled-command-alias:"false"` + Video SettingsVideoCmd `cmd:"" help:"Get/Set video setting." aliases:"v" completion-enabled-command-alias:"false"` } // SettingsShowCmd shows the video settings. diff --git a/stream.go b/stream.go index 57e003c..7243607 100644 --- a/stream.go +++ b/stream.go @@ -6,10 +6,10 @@ import ( // StreamCmd handles the streaming commands. type StreamCmd struct { - Start StreamStartCmd `cmd:"" help:"Start streaming." aliases:"s" completion-command-alias-enabled:"false"` - Stop StreamStopCmd `cmd:"" help:"Stop streaming." aliases:"st" completion-command-alias-enabled:"false"` - Toggle StreamToggleCmd `cmd:"" help:"Toggle streaming." aliases:"tg" completion-command-alias-enabled:"false"` - Status StreamStatusCmd `cmd:"" help:"Get streaming status." aliases:"ss" completion-command-alias-enabled:"false"` + Start StreamStartCmd `cmd:"" help:"Start streaming." aliases:"s" completion-enabled-command-alias:"false"` + Stop StreamStopCmd `cmd:"" help:"Stop streaming." aliases:"st" completion-enabled-command-alias:"false"` + Toggle StreamToggleCmd `cmd:"" help:"Toggle streaming." aliases:"tg" completion-enabled-command-alias:"false"` + Status StreamStatusCmd `cmd:"" help:"Get streaming status." aliases:"ss" completion-enabled-command-alias:"false"` } // StreamStartCmd starts the stream. diff --git a/studiomode.go b/studiomode.go index 500d3a8..62701ce 100644 --- a/studiomode.go +++ b/studiomode.go @@ -8,10 +8,10 @@ import ( // StudioModeCmd provides commands to manage studio mode in OBS Studio. type StudioModeCmd struct { - Enable StudioModeEnableCmd `cmd:"enable" help:"Enable studio mode." aliases:"on" completion-command-alias-enabled:"false"` - Disable StudioModeDisableCmd `cmd:"disable" help:"Disable studio mode." aliases:"off" completion-command-alias-enabled:"false"` - Toggle StudioModeToggleCmd `cmd:"toggle" help:"Toggle studio mode." aliases:"tg" completion-command-alias-enabled:"false"` - Status StudioModeStatusCmd `cmd:"status" help:"Get studio mode status." aliases:"ss" completion-command-alias-enabled:"false"` + Enable StudioModeEnableCmd `cmd:"enable" help:"Enable studio mode." aliases:"on" completion-enabled-command-alias:"false"` + Disable StudioModeDisableCmd `cmd:"disable" help:"Disable studio mode." aliases:"off" completion-enabled-command-alias:"false"` + Toggle StudioModeToggleCmd `cmd:"toggle" help:"Toggle studio mode." aliases:"tg" completion-enabled-command-alias:"false"` + Status StudioModeStatusCmd `cmd:"status" help:"Get studio mode status." aliases:"ss" completion-enabled-command-alias:"false"` } // StudioModeEnableCmd provides a command to enable studio mode.