From 43562db0804338f2d55dff13439f1165f8dd9d3f Mon Sep 17 00:00:00 2001 From: salmonik Date: Sat, 16 May 2026 12:47:43 +0200 Subject: first public release. --- completions/rsp.powershell | 280 --------------------------------------------- 1 file changed, 280 deletions(-) delete mode 100644 completions/rsp.powershell (limited to 'completions/rsp.powershell') diff --git a/completions/rsp.powershell b/completions/rsp.powershell deleted file mode 100644 index 58db681..0000000 --- a/completions/rsp.powershell +++ /dev/null @@ -1,280 +0,0 @@ - -using namespace System.Management.Automation -using namespace System.Management.Automation.Language - -Register-ArgumentCompleter -Native -CommandName 'rsp' -ScriptBlock { - param($wordToComplete, $commandAst, $cursorPosition) - - $commandElements = $commandAst.CommandElements - $command = @( - 'rsp' - for ($i = 1; $i -lt $commandElements.Count; $i++) { - $element = $commandElements[$i] - if ($element -isnot [StringConstantExpressionAst] -or - $element.StringConstantType -ne [StringConstantType]::BareWord -or - $element.Value.StartsWith('-') -or - $element.Value -eq $wordToComplete) { - break - } - $element.Value - }) -join ';' - - $completions = @(switch ($command) { - 'rsp' { - [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help') - [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help') - [CompletionResult]::new('start-daemon', 'start-daemon', [CompletionResultType]::ParameterValue, 'Start the daemon') - [CompletionResult]::new('stop-daemon', 'stop-daemon', [CompletionResultType]::ParameterValue, 'Stop the daemon') - [CompletionResult]::new('restart', 'restart', [CompletionResultType]::ParameterValue, 'Restart the daemon (kill existing and start new)') - [CompletionResult]::new('play', 'play', [CompletionResultType]::ParameterValue, 'Play a track, album, or artist') - [CompletionResult]::new('pause', 'pause', [CompletionResultType]::ParameterValue, 'Pause playback') - [CompletionResult]::new('resume', 'resume', [CompletionResultType]::ParameterValue, 'Resume playback') - [CompletionResult]::new('toggle', 'toggle', [CompletionResultType]::ParameterValue, 'Toggle play/pause') - [CompletionResult]::new('stop', 'stop', [CompletionResultType]::ParameterValue, 'Stop playback') - [CompletionResult]::new('next', 'next', [CompletionResultType]::ParameterValue, 'Skip to next track') - [CompletionResult]::new('previous', 'previous', [CompletionResultType]::ParameterValue, 'Skip to previous track') - [CompletionResult]::new('volume', 'volume', [CompletionResultType]::ParameterValue, 'Set volume (0-100)') - [CompletionResult]::new('shuffle', 'shuffle', [CompletionResultType]::ParameterValue, 'Shuffle mode') - [CompletionResult]::new('queue', 'queue', [CompletionResultType]::ParameterValue, 'Queue management') - [CompletionResult]::new('status', 'status', [CompletionResultType]::ParameterValue, 'Show player status') - [CompletionResult]::new('scan', 'scan', [CompletionResultType]::ParameterValue, 'Scan music paths to populate database') - [CompletionResult]::new('settings', 'settings', [CompletionResultType]::ParameterValue, 'Settings management') - [CompletionResult]::new('completions', 'completions', [CompletionResultType]::ParameterValue, 'Generate shell completions (developer only)') - [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)') - break - } - 'rsp;start-daemon' { - [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help') - [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help') - break - } - 'rsp;stop-daemon' { - [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help') - [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help') - break - } - 'rsp;restart' { - [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help') - [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help') - break - } - 'rsp;play' { - [CompletionResult]::new('-i', '-i', [CompletionResultType]::ParameterName, 'Add after current track and skip to it') - [CompletionResult]::new('--now', '--now', [CompletionResultType]::ParameterName, 'Add after current track and skip to it') - [CompletionResult]::new('-n', '-n', [CompletionResultType]::ParameterName, 'Add to queue after current track (don''t skip)') - [CompletionResult]::new('--next', '--next', [CompletionResultType]::ParameterName, 'Add to queue after current track (don''t skip)') - [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help') - [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help') - break - } - 'rsp;pause' { - [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help') - [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help') - break - } - 'rsp;resume' { - [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help') - [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help') - break - } - 'rsp;toggle' { - [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help') - [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help') - break - } - 'rsp;stop' { - [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help') - [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help') - break - } - 'rsp;next' { - [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help') - [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help') - break - } - 'rsp;previous' { - [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help') - [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help') - break - } - 'rsp;volume' { - [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help') - [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help') - break - } - 'rsp;shuffle' { - [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help') - [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help') - break - } - 'rsp;queue' { - [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help') - [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help') - break - } - 'rsp;status' { - [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help') - [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help') - break - } - 'rsp;scan' { - [CompletionResult]::new('--paths', '--paths', [CompletionResultType]::ParameterName, 'paths') - [CompletionResult]::new('--force', '--force', [CompletionResultType]::ParameterName, 'force') - [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help') - [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help') - break - } - 'rsp;settings' { - [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help') - [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help') - [CompletionResult]::new('get', 'get', [CompletionResultType]::ParameterValue, 'Get a setting value') - [CompletionResult]::new('set', 'set', [CompletionResultType]::ParameterValue, 'Set a setting value') - [CompletionResult]::new('list', 'list', [CompletionResultType]::ParameterValue, 'List all settings') - [CompletionResult]::new('unset', 'unset', [CompletionResultType]::ParameterValue, 'Unset a setting') - [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)') - break - } - 'rsp;settings;get' { - [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help') - [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help') - break - } - 'rsp;settings;set' { - [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help') - [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help') - break - } - 'rsp;settings;list' { - [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help') - [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help') - break - } - 'rsp;settings;unset' { - [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help') - [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help') - break - } - 'rsp;settings;help' { - [CompletionResult]::new('get', 'get', [CompletionResultType]::ParameterValue, 'Get a setting value') - [CompletionResult]::new('set', 'set', [CompletionResultType]::ParameterValue, 'Set a setting value') - [CompletionResult]::new('list', 'list', [CompletionResultType]::ParameterValue, 'List all settings') - [CompletionResult]::new('unset', 'unset', [CompletionResultType]::ParameterValue, 'Unset a setting') - [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)') - break - } - 'rsp;settings;help;get' { - break - } - 'rsp;settings;help;set' { - break - } - 'rsp;settings;help;list' { - break - } - 'rsp;settings;help;unset' { - break - } - 'rsp;settings;help;help' { - break - } - 'rsp;completions' { - [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help') - [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help') - break - } - 'rsp;help' { - [CompletionResult]::new('start-daemon', 'start-daemon', [CompletionResultType]::ParameterValue, 'Start the daemon') - [CompletionResult]::new('stop-daemon', 'stop-daemon', [CompletionResultType]::ParameterValue, 'Stop the daemon') - [CompletionResult]::new('restart', 'restart', [CompletionResultType]::ParameterValue, 'Restart the daemon (kill existing and start new)') - [CompletionResult]::new('play', 'play', [CompletionResultType]::ParameterValue, 'Play a track, album, or artist') - [CompletionResult]::new('pause', 'pause', [CompletionResultType]::ParameterValue, 'Pause playback') - [CompletionResult]::new('resume', 'resume', [CompletionResultType]::ParameterValue, 'Resume playback') - [CompletionResult]::new('toggle', 'toggle', [CompletionResultType]::ParameterValue, 'Toggle play/pause') - [CompletionResult]::new('stop', 'stop', [CompletionResultType]::ParameterValue, 'Stop playback') - [CompletionResult]::new('next', 'next', [CompletionResultType]::ParameterValue, 'Skip to next track') - [CompletionResult]::new('previous', 'previous', [CompletionResultType]::ParameterValue, 'Skip to previous track') - [CompletionResult]::new('volume', 'volume', [CompletionResultType]::ParameterValue, 'Set volume (0-100)') - [CompletionResult]::new('shuffle', 'shuffle', [CompletionResultType]::ParameterValue, 'Shuffle mode') - [CompletionResult]::new('queue', 'queue', [CompletionResultType]::ParameterValue, 'Queue management') - [CompletionResult]::new('status', 'status', [CompletionResultType]::ParameterValue, 'Show player status') - [CompletionResult]::new('scan', 'scan', [CompletionResultType]::ParameterValue, 'Scan music paths to populate database') - [CompletionResult]::new('settings', 'settings', [CompletionResultType]::ParameterValue, 'Settings management') - [CompletionResult]::new('completions', 'completions', [CompletionResultType]::ParameterValue, 'Generate shell completions (developer only)') - [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)') - break - } - 'rsp;help;start-daemon' { - break - } - 'rsp;help;stop-daemon' { - break - } - 'rsp;help;restart' { - break - } - 'rsp;help;play' { - break - } - 'rsp;help;pause' { - break - } - 'rsp;help;resume' { - break - } - 'rsp;help;toggle' { - break - } - 'rsp;help;stop' { - break - } - 'rsp;help;next' { - break - } - 'rsp;help;previous' { - break - } - 'rsp;help;volume' { - break - } - 'rsp;help;shuffle' { - break - } - 'rsp;help;queue' { - break - } - 'rsp;help;status' { - break - } - 'rsp;help;scan' { - break - } - 'rsp;help;settings' { - [CompletionResult]::new('get', 'get', [CompletionResultType]::ParameterValue, 'Get a setting value') - [CompletionResult]::new('set', 'set', [CompletionResultType]::ParameterValue, 'Set a setting value') - [CompletionResult]::new('list', 'list', [CompletionResultType]::ParameterValue, 'List all settings') - [CompletionResult]::new('unset', 'unset', [CompletionResultType]::ParameterValue, 'Unset a setting') - break - } - 'rsp;help;settings;get' { - break - } - 'rsp;help;settings;set' { - break - } - 'rsp;help;settings;list' { - break - } - 'rsp;help;settings;unset' { - break - } - 'rsp;help;completions' { - break - } - 'rsp;help;help' { - break - } - }) - - $completions.Where{ $_.CompletionText -like "$wordToComplete*" } | - Sort-Object -Property ListItemText -} -- cgit v1.2.3