From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yang Hongyang Subject: Re: [PATCH v3]xl:Add basic bash completion for xl command Date: Tue, 27 Apr 2010 16:41:24 +0800 Message-ID: <4BD6A334.4020405@cn.fujitsu.com> References: <4BD65C74.6050306@cn.fujitsu.com> <4BD6913D.7010408@cn.fujitsu.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <4BD6913D.7010408@cn.fujitsu.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org v2->v3 If no matchs found,fallback to default completion. ==================================================================== Add basic bash completion for xl command. Signed-off-by: Yang Hongyang diff -r c87ec146229a Config.mk --- a/Config.mk Fri Apr 23 15:04:26 2010 +0100 +++ b/Config.mk Wed Apr 28 00:37: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 Wed Apr 28 00:37: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 Wed Apr 28 00:37:02 2010 +0800 @@ -0,0 +1,21 @@ +#!/bin/bash +# Copy this file to /etc/profile.d/xl.sh + +_xl() +{ + local IFS=$'\n,' + + 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 + + return 0 +} + +complete -F _xl -o nospace -o default xl -- Regards Yang Hongyang