diff options
Diffstat (limited to 'scripts/deploy/completions/powershell')
| -rw-r--r-- | scripts/deploy/completions/powershell/completion_jv.ps1 | 250 | ||||
| -rw-r--r-- | scripts/deploy/completions/powershell/completion_jvv.ps1 | 67 |
2 files changed, 0 insertions, 317 deletions
diff --git a/scripts/deploy/completions/powershell/completion_jv.ps1 b/scripts/deploy/completions/powershell/completion_jv.ps1 deleted file mode 100644 index 84ba01a..0000000 --- a/scripts/deploy/completions/powershell/completion_jv.ps1 +++ /dev/null @@ -1,250 +0,0 @@ -# The JustEnoughVCS CommandLine Completion - -Register-ArgumentCompleter -Native -CommandName jv -ScriptBlock { - param($wordToComplete, $commandAst, $cursorPosition) - - $words = $commandAst.CommandElements | ForEach-Object { $_.ToString() } - $currentIndex = $words.IndexOf($wordToComplete) - if ($currentIndex -lt 0) { $currentIndex = $words.Count } - - $cmd = "jv" - $subcmd = if ($words.Count -gt 1) { $words[1] } else { $null } - $subsubcmd = if ($words.Count -gt 2) { $words[2] } else { $null } - - # Base commands - $baseCommands = @( - "create", "init", "direct", "unstain", "account", "update", - "sheet", "status", "here", "move", "mv", "docs", "exit", "use", "sheets", "accounts", - "as", "make", "drop", "track", "hold", "throw", "login", - "jump", "align", "info", "share" - ) - - # Account subcommands - $accountCommands = @("list", "as", "add", "remove", "movekey", "mvkey", "mvk", "genpub", "help") - - # Sheet subcommands - $sheetCommands = @("list", "use", "exit", "make", "drop", "help", "align") - - # Completion for main command - if ($currentIndex -eq 1) { - return $baseCommands | Where-Object { $_ -like "$wordToComplete*" } - } - - # Completion for account command - if ($subcmd -eq "account" -or $subcmd -eq "acc") { - if ($currentIndex -eq 2) { - return $accountCommands | Where-Object { $_ -like "$wordToComplete*" } - } - - switch ($subsubcmd) { - { @("as", "remove", "mvkey", "mvk", "movekey", "genpub") -contains $_ } { - if ($currentIndex -eq 3) { - $accounts = & $cmd account list --raw 2>$null - return $accounts | Where-Object { $_ -like "$wordToComplete*" } - } elseif ($currentIndex -eq 4 -and (@("mvkey", "mvk", "movekey", "genpub") -contains $subsubcmd)) { - # File completion for key files - return Get-ChildItem -Name -File -Path "." | Where-Object { $_ -like "$wordToComplete*" } - } - } - "add" { - if ($currentIndex -eq 3) { - # No completion for account name - return @() - } elseif ($currentIndex -eq 4 -and $wordToComplete.StartsWith("-")) { - # Complete --keygen option - if ("--keygen" -like "$wordToComplete*") { - return "--keygen" - } - } - } - { @("-", "rm") -contains $_ } { - if ($currentIndex -eq 3) { - $accounts = & $cmd account list --raw 2>$null - return $accounts | Where-Object { $_ -like "$wordToComplete*" } - } - } - } - return @() - } - - # Completion for sheet command - if ($subcmd -eq "sheet" -or $subcmd -eq "sh") { - if ($currentIndex -eq 2) { - return $sheetCommands | Where-Object { $_ -like "$wordToComplete*" } - } - - switch ($subsubcmd) { - { @("use", "drop") -contains $_ } { - if ($currentIndex -eq 3) { - $sheets = & $cmd sheet list --raw 2>$null - return $sheets | Where-Object { $_ -like "$wordToComplete*" } - } - } - "make" { - if ($currentIndex -eq 3) { - $allSheets = & $cmd sheet list --all --raw 2>$null - return $allSheets | Where-Object { $_ -like "$wordToComplete*" } - } - } - "align" { - if ($currentIndex -eq 3) { - $alignItems = @("lost", "moved", "erased") - $unsolvedItems = & $cmd sheet align --unsolved --raw 2>$null - $completions = $alignItems + $unsolvedItems - return $completions | Where-Object { $_ -like "$wordToComplete*" } - } elseif ($currentIndex -eq 4) { - $item = $words[3] - $alignOperations = @() - $createdItems = & $cmd sheet align --created --raw 2>$null - - if ($item -eq "lost") { - $alignOperations = @("confirm") - } elseif ($item -like "lost:*") { - $alignOperations = @("confirm") + $createdItems - } elseif ($item -eq "moved" -or $item -like "moved:*") { - $alignOperations = @("local", "remote", "break") - } elseif ($item -eq "erased" -or $item -like "erased:*") { - $alignOperations = @("confirm") - } else { - $alignOperations = @("local", "remote", "confirm", "break") + $createdItems - } - - return $alignOperations | Where-Object { $_ -like "$wordToComplete*" } - } - } - } - return @() - } - - # Completion for align command - if ($subcmd -eq "align") { - if ($currentIndex -eq 2) { - $alignItems = @("lost", "moved", "erased") - $unsolvedItems = & $cmd sheet align --unsolved --raw 2>$null - $completions = $alignItems + $unsolvedItems - return $completions | Where-Object { $_ -like "$wordToComplete*" } - } elseif ($currentIndex -eq 3) { - $item = $words[2] - $alignOperations = @() - $createdItems = & $cmd sheet align --created --raw 2>$null - - if ($item -eq "lost") { - $alignOperations = @("confirm") - } elseif ($item -like "lost:*") { - $alignOperations = @("confirm") + $createdItems - } elseif ($item -eq "moved" -or $item -like "moved:*") { - $alignOperations = @("local", "remote", "break") - } elseif ($item -eq "erased" -or $item -like "erased:*") { - $alignOperations = @("confirm") - } else { - $alignOperations = @("local", "remote", "confirm", "break") + $createdItems - } - - return $alignOperations | Where-Object { $_ -like "$wordToComplete*" } - } - return @() - } - - # Completion for login command - if ($subcmd -eq "login") { - if ($currentIndex -eq 2) { - $accounts = & $cmd account list --raw 2>$null - return $accounts | Where-Object { $_ -like "$wordToComplete*" } - } elseif ($currentIndex -eq 3) { - $ipHistory = & $cmd _ip_history 2>$null - return $ipHistory | Where-Object { $_ -like "$wordToComplete*" } - } - return @() - } - - # Completion for direct command - if ($subcmd -eq "direct") { - if ($currentIndex -eq 2) { - $ipHistory = & $cmd _ip_history 2>$null - return $ipHistory | Where-Object { $_ -like "$wordToComplete*" } - } - return @() - } - - # Completion for info command - if ($subcmd -eq "info") { - if ($currentIndex -eq 2) { - # File completion for the file argument - return Get-ChildItem -Name -File -Path "." | Where-Object { $_ -like "$wordToComplete*" } - } - return @() - } - - # Completion for share command - if ($subcmd -eq "share") { - if ($currentIndex -eq 2) { - # First parameter: list, see, jv share list --raw results, or files in current directory - $staticOptions = @("list", "see") - $shareList = & $cmd share list --raw 2>$null - $files = Get-ChildItem -Name -File -Path "." 2>$null - $completions = $staticOptions + $shareList + $files - return $completions | Where-Object { $_ -like "$wordToComplete*" } - } elseif ($currentIndex -eq 3) { - # Second parameter: depends on the first parameter - $firstParam = $words[2] - if ($firstParam -eq "list") { - # list -> nothing - return @() - } elseif ($firstParam -eq "see") { - # see -> jv share list --raw results - $shareList = & $cmd share list --raw 2>$null - return $shareList | Where-Object { $_ -like "$wordToComplete*" } - } elseif ($firstParam -like "*@*") { - # Contains "@" (shareid) -> show options - $options = @("--safe", "--overwrite", "--skip", "--reject") - return $options | Where-Object { $_ -like "$wordToComplete*" } - } else { - # Otherwise, assume it's a file -> show jv sheet list --all --raw results - $allSheets = & $cmd sheet list --all --raw 2>$null - return $allSheets | Where-Object { $_ -like "$wordToComplete*" } - } - } - # Third parameter: no completion - return @() - } - - # Aliases completion - switch ($subcmd) { - "as" { - if ($currentIndex -eq 2) { - $accounts = & $cmd account list --raw 2>$null - return $accounts | Where-Object { $_ -like "$wordToComplete*" } - } - } - "use" { - if ($currentIndex -eq 2) { - $sheets = & $cmd sheet list --raw 2>$null - return $sheets | Where-Object { $_ -like "$wordToComplete*" } - } - } - "make" { - if ($currentIndex -eq 2) { - $allSheets = & $cmd sheet list --all --raw 2>$null - return $allSheets | Where-Object { $_ -like "$wordToComplete*" } - } - } - "drop" { - if ($currentIndex -eq 2) { - $sheets = & $cmd sheet list --raw 2>$null - return $sheets | Where-Object { $_ -like "$wordToComplete*" } - } - } - "docs" { - if ($currentIndex -eq 2) { - $docs = & $cmd docs list --raw 2>$null - return $docs | Where-Object { $_ -like "$wordToComplete*" } - } - } - { @("move", "mv", "track", "hold", "throw") -contains $_ } { - # File completion for file operations - return Get-ChildItem -Name -File -Path "." | Where-Object { $_ -like "$wordToComplete*" } - } - } - - return @() -} diff --git a/scripts/deploy/completions/powershell/completion_jvv.ps1 b/scripts/deploy/completions/powershell/completion_jvv.ps1 deleted file mode 100644 index fa773c0..0000000 --- a/scripts/deploy/completions/powershell/completion_jvv.ps1 +++ /dev/null @@ -1,67 +0,0 @@ -# The JustEnoughVCS CommandLine Completion - -Register-ArgumentCompleter -Native -CommandName jvv -ScriptBlock { - param($wordToComplete, $commandAst, $cursorPosition) - - $words = $commandAst.CommandElements | ForEach-Object { $_.ToString() } - $currentIndex = $words.IndexOf($wordToComplete) - if ($currentIndex -lt 0) { $currentIndex = $words.Count } - - $cmd = "jvv" - $subcmd = if ($words.Count -gt 1) { $words[1] } else { $null } - $subsubcmd = if ($words.Count -gt 2) { $words[2] } else { $null } - - # Base commands - $baseCommands = @("create", "init", "here", "member", "service", "listen", "members", "-c", "-i", "-H", "-m", "-l", "-M") - - # Member subcommands - $memberCommands = @("register", "remove", "list", "help", "+", "-", "ls") - - # Service subcommands - $serviceCommands = @("listen", "help") - - # Completion for main command - if ($currentIndex -eq 1) { - return $baseCommands | Where-Object { $_ -like "$wordToComplete*" } - } - - # Completion for member command - if ($subcmd -eq "member" -or $subcmd -eq "-m") { - if ($currentIndex -eq 2) { - return $memberCommands | Where-Object { $_ -like "$wordToComplete*" } - } - - switch ($subsubcmd) { - { @("remove", "-") -contains $_ } { - if ($currentIndex -eq 3) { - $members = & $cmd member list --raw 2>$null - return $members | Where-Object { $_ -like "$wordToComplete*" } - } - } - } - return @() - } - - # Completion for service command - if ($subcmd -eq "service") { - if ($currentIndex -eq 2) { - return $serviceCommands | Where-Object { $_ -like "$wordToComplete*" } - } - return @() - } - - # Aliases completion - switch ($subcmd) { - "-m" { - if ($currentIndex -eq 2) { - return $memberCommands | Where-Object { $_ -like "$wordToComplete*" } - } - } - { @("listen", "-l", "members", "-M") -contains $_ } { - # These commands have no arguments to complete - return @() - } - } - - return @() -} |
