[Bash-completion-commits] [SCM] bash-completion branch, master, updated. 8e496adff30d29b7c240dfc90860eca8b6970ae7
Guillaume Rousse
guillaume at oberkampf.msr-inria.inria.fr
Mon Sep 14 20:58:12 UTC 2009
The following commit has been merged in the master branch:
commit 8e496adff30d29b7c240dfc90860eca8b6970ae7
Author: Guillaume Rousse <guillaume at oberkampf.msr-inria.inria.fr>
Date: Mon Sep 14 23:01:19 2009 +0200
initial import
diff --git a/install-completions b/install-completions
new file mode 100755
index 0000000..0a1a4ec
--- /dev/null
+++ b/install-completions
@@ -0,0 +1,57 @@
+#!/bin/sh
+
+while getopts ":di" flag; do
+ case $flag in
+ d) debug=1;;
+ i) install=1;;
+ esac
+done
+
+shift $((OPTIND - 1))
+
+if [ $# -ne 2 ]; then
+ echo "usage: $0 <completion_dir> <installation_dir>"
+ exit 1
+fi
+
+completion_dir=$1
+if [ ! -d $completion_dir ]; then
+ echo "invalid directory $completion_dir"
+ exit 1
+fi
+
+installation_dir=$2
+if [ ! -d $installation_dir ]; then
+ echo "invalid directory $installation_dir"
+ exit 1
+fi
+
+have()
+{
+ PATH=$PATH:/sbin:/usr/sbin:/usr/local/sbin type $1 &>/dev/null
+}
+
+# many scripts requires this
+shopt -s extglob
+
+for script in $completion_dir/*; do
+ # reset completion
+ complete -r
+
+ # source script
+ source $script 2>/dev/null
+
+ # check completion output
+ output=$(complete -p)
+ if [ -n "$output" ]; then
+ if [ -n "$install" ]; then
+ ln -sf $script $installation_dir/$(basename $script)
+ else
+ echo "$script OK"
+ fi
+ fi
+
+ if [ -n "$debug" ]; then
+ echo $output
+ fi
+done
--
bash-completion
More information about the Bash-completion-commits
mailing list