[PATCH] bash: Add a bash completion script for virt-v2v-copy-to-local (RHBZ#1367738).
Thanks: Ming Xie --- bash/Makefile.am | 3 ++- bash/virt-v2v-copy-to-local | 42 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 bash/virt-v2v-copy-to-local diff --git a/bash/Makefile.am b/bash/Makefile.am index 94a2d48..86fd816 100644 --- a/bash/Makefile.am +++ b/bash/Makefile.am @@ -22,7 +22,8 @@ scripts = \ guestmount \ virt-alignment-scan \ virt-rescue \ - virt-v2v + virt-v2v \ + virt-v2v-copy-to-local # Some of the scripts are simply symbolic links. symlinks = \ diff --git a/bash/virt-v2v-copy-to-local b/bash/virt-v2v-copy-to-local new file mode 100644 index 0000000..4442da2 --- /dev/null +++ b/bash/virt-v2v-copy-to-local @@ -0,0 +1,42 @@ +# virt-v2v-copy-to-local bash completion script -*- shell-script -*- +# Copyright (C) 2014-2017 Red Hat Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +_virt_v2v_copy_to_local () +{ + local cur prev words cword split + local shortopts longopts items + + _init_completion -s || return + + case "$cur" in + --*) + # --options + longopts="$(virt-v2v-copy-to-local --long-options)" + COMPREPLY=( $(compgen -W "$longopts" -- "$cur") ) + return ;; + -*) + # -o and --options + shortopts="$(virt-v2v-copy-to-local --short-options)" + longopts="$(virt-v2v-copy-to-local --long-options)" + COMPREPLY=( $(compgen -W "$shortopts $longopts" -- "$cur") ) + return ;; + *) + COMPREPLY=( $(compgen "$cur") ) + return ;; + esac +} && +complete -o default -F _virt_v2v_copy_to_local virt-v2v-copy-to-local -- 2.9.3
On Wed, Mar 22, 2017 at 11:39:58AM +0100, Pino Toscano wrote:
On Wednesday, 22 March 2017 11:30:59 CET Richard W.M. Jones wrote:
Thanks: Ming Xie ---
It does not wrong to me, although couldn't an existing completion be used for virt-v2v-copy-to-local as well?
We might have used the 'virt-alignment-scan' one (used by all the other virt-* tools except virt-v2v), but it is considerably more complicated than needed for this tool. As far as I could see there is no completion function which just completes short and long options with no other magic. Perhaps one is needed, and perhaps this is the one! Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-df lists disk usage of guests without needing to install any software inside the virtual machine. Supports Linux and Windows. http://people.redhat.com/~rjones/virt-df/
On Wednesday, 22 March 2017 16:53:25 CET Richard W.M. Jones wrote:
On Wed, Mar 22, 2017 at 11:39:58AM +0100, Pino Toscano wrote:
On Wednesday, 22 March 2017 11:30:59 CET Richard W.M. Jones wrote:
Thanks: Ming Xie ---
It does not wrong to me, although couldn't an existing completion be used for virt-v2v-copy-to-local as well?
We might have used the 'virt-alignment-scan' one (used by all the other virt-* tools except virt-v2v), but it is considerably more complicated than needed for this tool.
The virt-rescue or guestmount ones (which btw are the very same!) are far simplier than virt-alignment-scan, they only add libvirt domain completion.
As far as I could see there is no completion function which just completes short and long options with no other magic. Perhaps one is needed, and perhaps this is the one!
The aforementioned virt-rescue/guestmount could be a choice, but otherwise no objection to this. -- Pino Toscano
participants (2)
-
Pino Toscano -
Richard W.M. Jones