fish-shell/share/functions/__fish_print_VBox_vms.fish
Clément Martinez 291a28e79c Add __fish_print_VBox_vms function
Improve __fish_print_VBox_vms
2016-12-21 14:51:48 +01:00

30 lines
755 B
Fish

function __fish_print_VBox_vms
set -l print_names true
set -l print_uuids true
if contains -- nouuids $argv
set print_uuids false
end
if contains -- nonames $argv
set print_names false
end
# `VBoxManage list vms` output example:
# "Machine Name" {222537b0-1ea1-454a-abf0-ed0d6c3c6346}
# "Another Machine" {332537b4-1ea1-454a-abf0-ed1d6c3c2347}
set -l lines (VBoxManage list vms | string match -r '"(.*)" {(.*)}')
while set -q lines[3]
if test $print_names = true
printf '%s\tVirtual machine\n' $lines[2]
end
if test $print_uuids = true
printf '%s\t%s virtual machine\n' $lines[3] $lines[2]
end
set -e lines[1..3]
end
end