mirror of
https://github.com/libguestfs/libguestfs.git
synced 2026-03-21 22:53:37 +00:00
bash: execute --long-options only when needed
Delay the execution of $tool --long-options only when really using its output.
This commit is contained in:
@@ -35,8 +35,6 @@ _guestfish ()
|
||||
|
||||
_init_completion -s || return
|
||||
|
||||
longopts="$(guestfish --long-options)"
|
||||
|
||||
# See if user has specified certain options anywhere on the
|
||||
# command line before the current word.
|
||||
while [ $c -lt $COMP_CWORD ]; do
|
||||
@@ -60,6 +58,7 @@ _guestfish ()
|
||||
case "$cur" in
|
||||
--*)
|
||||
# --options
|
||||
longopts="$(guestfish --long-options)"
|
||||
COMPREPLY=( $(compgen -W "$longopts" -- "$cur") )
|
||||
return ;;
|
||||
*)
|
||||
|
||||
@@ -35,8 +35,6 @@ _guestmount ()
|
||||
|
||||
_init_completion -s || return
|
||||
|
||||
longopts="$(guestmount --long-options)"
|
||||
|
||||
# See if user has specified certain options anywhere on the
|
||||
# command line before the current word.
|
||||
while [ $c -lt $COMP_CWORD ]; do
|
||||
@@ -57,6 +55,7 @@ _guestmount ()
|
||||
case "$cur" in
|
||||
--*)
|
||||
# --options
|
||||
longopts="$(guestmount --long-options)"
|
||||
COMPREPLY=( $(compgen -W "$longopts" -- "$cur") )
|
||||
return ;;
|
||||
*)
|
||||
|
||||
@@ -31,7 +31,7 @@ _guestfs_virsh_list ()
|
||||
_guestfs_virttools ()
|
||||
{
|
||||
local cur prev words cword split
|
||||
local longopts="$1" flag_ro="$2" doms
|
||||
local longopts tool="$1" flag_ro="$2" doms
|
||||
|
||||
_init_completion -s || return
|
||||
|
||||
@@ -45,6 +45,7 @@ _guestfs_virttools ()
|
||||
case "$cur" in
|
||||
--*)
|
||||
# --options
|
||||
longopts="$($tool --long-options)"
|
||||
COMPREPLY=( $(compgen -W "$longopts" -- "$cur") )
|
||||
return ;;
|
||||
*)
|
||||
@@ -55,60 +56,60 @@ _guestfs_virttools ()
|
||||
|
||||
_virt_alignment_scan ()
|
||||
{
|
||||
_guestfs_virttools "$(virt-alignment-scan --long-options)" 1
|
||||
_guestfs_virttools "virt-alignment-scan" 1
|
||||
} &&
|
||||
complete -o default -F _virt_alignment_scan virt-alignment-scan
|
||||
|
||||
_virt_cat ()
|
||||
{
|
||||
_guestfs_virttools "$(virt-cat --long-options)" 1
|
||||
_guestfs_virttools "virt-cat" 1
|
||||
} &&
|
||||
complete -o default -F _virt_cat virt-cat
|
||||
|
||||
_virt_df ()
|
||||
{
|
||||
_guestfs_virttools "$(virt-df --long-options)" 1
|
||||
_guestfs_virttools "virt-df" 1
|
||||
} &&
|
||||
complete -o default -F _virt_df virt-df
|
||||
|
||||
_virt_edit ()
|
||||
{
|
||||
_guestfs_virttools "$(virt-edit --long-options)" 0
|
||||
_guestfs_virttools "virt-edit" 0
|
||||
} &&
|
||||
complete -o default -F _virt_edit virt-edit
|
||||
|
||||
_virt_filesystems ()
|
||||
{
|
||||
_guestfs_virttools "$(virt-filesystems --long-options)" 1
|
||||
_guestfs_virttools "virt-filesystems" 1
|
||||
} &&
|
||||
complete -o default -F _virt_filesystems virt-filesystems
|
||||
|
||||
_virt_format ()
|
||||
{
|
||||
_guestfs_virttools "$(virt-format --long-options)" 0
|
||||
_guestfs_virttools "virt-format" 0
|
||||
} &&
|
||||
complete -o default -F _virt_format virt-format
|
||||
|
||||
_virt_inspector ()
|
||||
{
|
||||
_guestfs_virttools "$(virt-inspector --long-options)" 1
|
||||
_guestfs_virttools "virt-inspector" 1
|
||||
} &&
|
||||
complete -o default -F _virt_inspector virt-inspector
|
||||
|
||||
_virt_ls ()
|
||||
{
|
||||
_guestfs_virttools "$(virt-ls --long-options)" 1
|
||||
_guestfs_virttools "virt-ls" 1
|
||||
} &&
|
||||
complete -o default -F _virt_ls virt-ls
|
||||
|
||||
_virt_sysprep ()
|
||||
{
|
||||
_guestfs_virttools "$(virt-sysprep --long-options)" 0
|
||||
_guestfs_virttools "virt-sysprep" 0
|
||||
} &&
|
||||
complete -o default -F _virt_sysprep virt-sysprep
|
||||
|
||||
_virt_log ()
|
||||
{
|
||||
_guestfs_virttools "$(virt-log --long-options)" 1
|
||||
_guestfs_virttools "virt-log" 1
|
||||
} &&
|
||||
complete -o default -F _virt_log virt-log
|
||||
|
||||
@@ -35,8 +35,6 @@ _virt_rescue ()
|
||||
|
||||
_init_completion -s || return
|
||||
|
||||
longopts="$(virt-rescue --long-options)"
|
||||
|
||||
# See if user has specified certain options anywhere on the
|
||||
# command line before the current word.
|
||||
while [ $c -lt $COMP_CWORD ]; do
|
||||
@@ -57,6 +55,7 @@ _virt_rescue ()
|
||||
case "$cur" in
|
||||
--*)
|
||||
# --options
|
||||
longopts="$(virt-rescue --long-options)"
|
||||
COMPREPLY=( $(compgen -W "$longopts" -- "$cur") )
|
||||
return ;;
|
||||
*)
|
||||
|
||||
@@ -19,13 +19,14 @@
|
||||
_guestfs_options_only ()
|
||||
{
|
||||
local cur prev words cword split
|
||||
local longopts="$1"
|
||||
local longopts tool="$1"
|
||||
|
||||
_init_completion -s || return
|
||||
|
||||
case "$cur" in
|
||||
--*)
|
||||
# --options
|
||||
longopts="$($tool --long-options)"
|
||||
COMPREPLY=( $(compgen -W "$longopts" -- "$cur") )
|
||||
return ;;
|
||||
*)
|
||||
@@ -36,18 +37,18 @@ _guestfs_options_only ()
|
||||
|
||||
_virt_builder ()
|
||||
{
|
||||
_guestfs_options_only "$(virt-builder --long-options)"
|
||||
_guestfs_options_only "virt-builder"
|
||||
} &&
|
||||
complete -o default -F _virt_builder virt-builder
|
||||
|
||||
_virt_resize ()
|
||||
{
|
||||
_guestfs_options_only "$(virt-resize --long-options)"
|
||||
_guestfs_options_only "virt-resize"
|
||||
} &&
|
||||
complete -o default -F _virt_resize virt-resize
|
||||
|
||||
_virt_sparsify ()
|
||||
{
|
||||
_guestfs_options_only "$(virt-sparsify --long-options)"
|
||||
_guestfs_options_only "virt-sparsify"
|
||||
} &&
|
||||
complete -o default -F _virt_sparsify virt-sparsify
|
||||
|
||||
Reference in New Issue
Block a user