summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'completions/ekeyword')
-rw-r--r--completions/ekeyword46
1 files changed, 46 insertions, 0 deletions
diff --git a/completions/ekeyword b/completions/ekeyword
new file mode 100644
index 0000000..3bf3006
--- /dev/null
+++ b/completions/ekeyword
@@ -0,0 +1,46 @@
+# Gentoo Linux Bash Shell Command Completion
+#
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License, v2 or later
+
+source "@helpersdir@/gentoo-common.sh"
+
+#
+# ekeyword completion
+#
+
+_ekeyword()
+{
+ local cur portdir archl_s archl_u archl_r archl_m arch
+ COMPREPLY=()
+ cur="${COMP_WORDS[COMP_CWORD]}"
+ portdir=$(_portdir)
+
+ [[ -f ${portdir}/profiles/arch.list ]] || return 0
+
+ for arch in all $(< ${portdir}/profiles/arch.list) ; do
+ archl_m="${archl_m} -${arch}"
+ archl_u="${archl_u} ~${arch}"
+ archl_r="${archl_r} ^${arch}"
+ archl_s="${archl_s} ${arch}"
+ done
+
+ case ${cur} in
+ -*)
+ COMPREPLY=($(compgen -W "${archl_m}" -- ${cur}))
+ ;;
+ ~*)
+ COMPREPLY=($(compgen -W "${archl_u}" -- ${cur}))
+ ;;
+ ^*)
+ COMPREPLY=($(compgen -W "${archl_r}" -- ${cur}))
+ ;;
+ *)
+ COMPREPLY=($(compgen -W "${archl_s}" -- ${cur}))
+ _filedir 'ebuild'
+ ;;
+ esac
+} &&
+complete -o filenames -F _ekeyword ekeyword
+
+# vim: ft=sh:et:ts=4:sw=4:tw=80