[Libguestfs] [PATCH] bash: Add a bash completion script for virt-v2v-copy-to-local (RHBZ#1367738).

Richard W.M. Jones
Wed, 22 Mar 2017 10:30:59 -0000

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