[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH]xl:Add basic bash completion for xl command



Add basic bash completion for xl command.

Signed-off-by: Yang Hongyang <yanghy@xxxxxxxxxxxxxx>

diff -r c87ec146229a Config.mk
--- a/Config.mk Fri Apr 23 15:04:26 2010 +0100
+++ b/Config.mk Tue Apr 27 19:32:02 2010 +0800
@@ -19,6 +19,7 @@
 
 DISTDIR     ?= $(XEN_ROOT)/dist
 DESTDIR     ?= /
+BASH_COMPLETION_DIR ?= /etc/profile.d
 
 # Allow phony attribute to be listed as dependency rather than fake target
 .PHONY: .phony
diff -r c87ec146229a tools/libxl/Makefile
--- a/tools/libxl/Makefile      Fri Apr 23 15:04:26 2010 +0100
+++ b/tools/libxl/Makefile      Tue Apr 27 19:32:02 2010 +0800
@@ -85,6 +85,7 @@
        ln -sf libxlutil.so.$(XLUMAJOR) $(DESTDIR)$(LIBDIR)/libxlutil.so
        $(INSTALL_DATA) libxlutil.a $(DESTDIR)$(LIBDIR)
        $(INSTALL_DATA) libxl.h $(DESTDIR)$(INCLUDEDIR)
+       $(INSTALL_DATA) bash-completion $(BASH_COMPLETION_DIR)/xl.sh
 
 .PHONY: clean
 clean:
diff -r c87ec146229a tools/libxl/bash-completion
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/libxl/bash-completion       Tue Apr 27 19:32:02 2010 +0800
@@ -0,0 +1,17 @@
+#!/bin/bash
+# Copy this file to /etc/profile.d/xl.sh
+
+_xl()
+{
+       local cur opts xl
+       COMPREPLY=()
+       cur="${COMP_WORDS[COMP_CWORD]}"
+       xl=xl
+       
+       if [[ $COMP_CWORD == 1 ]] ; then
+               opts=`${xl} help 2>/dev/null | sed 'n;d' | sed '1,2d' | awk 
'{print $1}' | sed 's/$/ ,/g'` && COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) 
)
+               return 0
+       fi
+}
+
+complete -F _xl -o nospace xl

-- 
Regards
Yang Hongyang

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.