add command subcommand group

This commit is contained in:
onyx-and-iris 2026-03-01 17:58:08 +00:00
parent b58bb3dde7
commit 84d716b2ad
2 changed files with 51 additions and 1 deletions

View File

@ -5,7 +5,7 @@ import vban_cmd
from cyclopts import App, Argument, Parameter, config
from . import __version__ as version
from . import bus, console, strip
from . import bus, command, console, strip
from .context import Context
app = App(
@ -16,6 +16,7 @@ app = App(
)
app.command(strip.app.meta, name='strip')
app.command(bus.app.meta, name='bus')
app.command(command.app, name='command')
app.register_install_completion_command()

49
src/vban_cli/command.py Normal file
View File

@ -0,0 +1,49 @@
from typing import Annotated
from cyclopts import App, Parameter
from . import console
from .context import Context
from .help import BaseHelpFormatter
app = App(name='command', help_formatter=BaseHelpFormatter())
@app.command(name='show')
def show(
*,
ctx: Annotated[Context, Parameter(show=False)] = None,
):
"""Bring the Voicemeeter GUI to the foreground."""
ctx.client.command.show()
console.out.print('Voicemeeter GUI should now be in the foreground.')
@app.command(name='hide')
def hide(
*,
ctx: Annotated[Context, Parameter(show=False)] = None,
):
"""Send the Voicemeeter GUI to the background."""
ctx.client.command.hide()
console.out.print('Voicemeeter GUI should now be in the background.')
@app.command(name='shutdown')
def shutdown(
*,
ctx: Annotated[Context, Parameter(show=False)] = None,
):
"""Shut down Voicemeeter."""
ctx.client.command.shutdown()
console.out.print('Voicemeeter should now be shut down.')
@app.command(name='restart')
def restart(
*,
ctx: Annotated[Context, Parameter(show=False)] = None,
):
"""Restart the Voicemeeter engine."""
ctx.client.command.restart()
console.out.print('Voicemeeter engine should now be restarting.')