diff --git a/users/tao/nushell/completions/completions-docker.nu b/users/tao/nushell/completions/completions-docker.nu new file mode 100644 index 0000000..e8e02cc --- /dev/null +++ b/users/tao/nushell/completions/completions-docker.nu @@ -0,0 +1,7 @@ +export def "nu-complete docker start" [] { + docker ps --all --format json | from json --objects | select Names Image | rename value description +} + +export extern "docker start" [ + ...recipe: string@"nu-complete docker start" +] diff --git a/users/tao/nushell/config.nu b/users/tao/nushell/config.nu index 0c08cc8..23b2d54 100644 --- a/users/tao/nushell/config.nu +++ b/users/tao/nushell/config.nu @@ -12,6 +12,7 @@ use tailscale.nu * source completions-jj.nu source completions-just.nu +source completions-docker.nu # External completer example # let carapace_completer = {|spans| diff --git a/users/tao/nushell/extras/tailscale.nu b/users/tao/nushell/extras/tailscale.nu index fa8e8d9..83eb48a 100644 --- a/users/tao/nushell/extras/tailscale.nu +++ b/users/tao/nushell/extras/tailscale.nu @@ -13,7 +13,7 @@ export def check-mullvad [] { } # switch to a specific exit node, or none -export def te [exit_node: string = ""] { +export def te [exit_node: string = "", -n] { if ($exit_node | is-empty) and (ps | find deluge | is-not-empty) { print "stop summoning first!" return false @@ -21,7 +21,7 @@ export def te [exit_node: string = ""] { tailscale set --exit-node $exit_node - if ($exit_node | is-not-empty) { + if ($exit_node | is-not-empty) or not $n { check-mullvad } else { print "exit node set"