From 8b5428f77bdaabd069c2fb1be48b38f1c3796a90 Mon Sep 17 00:00:00 2001 From: Pragmatic Software Date: Fri, 18 Feb 2022 12:45:28 -0800 Subject: [PATCH] =?UTF-8?q?pbot-vm:=20`vm-exec=20-lang=3D=3F`=20once=20aga?= =?UTF-8?q?in=20lists=20languages=20without=20needing=20=20argument?= --- applets/pbot-vm/host/bin/vm-exec | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/applets/pbot-vm/host/bin/vm-exec b/applets/pbot-vm/host/bin/vm-exec index 24d03255..1b6d5b41 100755 --- a/applets/pbot-vm/host/bin/vm-exec +++ b/applets/pbot-vm/host/bin/vm-exec @@ -109,7 +109,7 @@ sub make_context_from_args(@args_in) { } # parse options specific to vm-exec - while ($context->{code} =~ s/^-(lang|vm-cid|vm-vport|vm-serial|vm)=([^ ]+)\s+//) { + while ($context->{code} =~ s/^-(lang|vm-cid|vm-vport|vm-serial|vm)=([^ ]+)\s*//) { my ($option, $value) = ($1, $2); print STDERR "Overriding `$option` to `$value`.\n"; $context->{$option} = lc $value; @@ -195,7 +195,6 @@ sub configure_context($context, $config) { # override values $context->{'vm-serial'} = $entry->{'serial'}; - $context->{'vm-heart'} = $entry->{'heart'}; $context->{'vm-cid'} = $entry->{'cid'}; $context->{'vm-vport'} = $entry->{'vport'}; } else { @@ -213,7 +212,6 @@ sub configure_context($context, $config) { # update any undefined values, preserving any existing values $context->{'vm-serial'} //= $entry->{'serial'}; - $context->{'vm-heart'} //= $entry->{'heart'}; $context->{'vm-cid'} //= $entry->{'cid'}; $context->{'vm-vport'} //= $entry->{'vport'}; } @@ -234,6 +232,11 @@ sub main() { configure_context($context, $config); + # load language before checking usage in order to handle -lang=? flag + # to list languages instea of showing a usage message + my $lang = load_language($context); + + # now check usage if (not length $context->{code}) { if (exists $context->{usage}) { print "$context->{usage}\n"; @@ -243,8 +246,7 @@ sub main() { exit 1; } - my $lang = load_language($context); - + # run the language $lang->process_interactive_edit; $lang->process_standard_options; $lang->process_custom_options;