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