[Bash-completion-commits] [bash-completion] 01/01: lz4: New completion.
Ville Skyttä
scop-guest at moszumanska.debian.org
Sun Jan 5 22:42:16 UTC 2014
This is an automated email from the git hooks/post-receive script.
scop-guest pushed a commit to branch master
in repository bash-completion.
commit a2e2f198d820c55857e372f6477c6fe07a23df92
Author: Ville Skyttä <ville.skytta at iki.fi>
Date: Mon Jan 6 00:41:23 2014 +0200
lz4: New completion.
---
completions/.gitignore | 1 +
completions/Makefile.am | 5 +++++
completions/lz4 | 53 ++++++++++++++++++++++++++++++++++++++++++++
test/completion/lz4.exp | 1 +
test/lib/completions/lz4.exp | 18 +++++++++++++++
5 files changed, 78 insertions(+)
diff --git a/completions/.gitignore b/completions/.gitignore
index c6c34e1..d13d6ea 100644
--- a/completions/.gitignore
+++ b/completions/.gitignore
@@ -89,6 +89,7 @@ lvrename
lvresize
lvs
lvscan
+lz4c
mailsnarf
mdecrypt
mencoder
diff --git a/completions/Makefile.am b/completions/Makefile.am
index f7823ec..7039568 100644
--- a/completions/Makefile.am
+++ b/completions/Makefile.am
@@ -486,6 +486,7 @@ CLEANFILES = \
lvresize \
lvs \
lvscan \
+ lz4c \
mailsnarf \
mdecrypt \
mencoder \
@@ -741,6 +742,10 @@ symlinks: $(targetdir) $(DATA)
rm -f $(targetdir)/$$file && \
$(LN_S) lvm $(targetdir)/$$file ; \
done
+ for file in lz4c ; do \
+ rm -f $(targetdir)/$$file && \
+ $(LN_S) lz4 $(targetdir)/$$file ; \
+ done
for file in clzip pdlzip plzip ; do \
rm -f $(targetdir)/$$file && \
$(LN_S) lzip $(targetdir)/$$file ; \
diff --git a/completions/lz4 b/completions/lz4
new file mode 100644
index 0000000..bde430b
--- /dev/null
+++ b/completions/lz4
@@ -0,0 +1,53 @@
+# lz4 completion -*- shell-script -*-
+
+_lz4()
+{
+ local cur prev words cword
+ _init_completion || return
+
+ case $prev in
+ -b)
+ _filedir
+ return
+ ;;
+ esac
+
+ if [[ "$cur" == -* ]]; then
+ COMPREPLY=( $( compgen -W \
+ '$( _parse_help "$1" -h | sed -e "/#/d" ) -B{4..7} -i{1..9}' \
+ -- "$cur" ) )
+ return
+ fi
+
+ local args word xspec="*.?(t)lz4"
+ _count_args
+ [[ $args -gt 2 ]] && return
+
+ for word in ${words[@]}; do
+ case $word in
+ -*[dt]*)
+ case $args in
+ 1) xspec="!"$xspec ;;
+ 2) [[ $word == *t* ]] && return
+ esac
+ break
+ ;;
+ -z)
+ case $args in
+ 1) xspec= ;;
+ 2) xspec="!"$xspec ;;
+ esac
+ break
+ ;;
+ esac
+ done
+
+ _expand || return 0
+ local IFS=$'\n'
+ compopt -o filenames
+ COMPREPLY=( $( compgen -f -X "$xspec" -- "$cur" ) \
+ $( compgen -d -- "$cur" ) )
+} &&
+complete -F _lz4 lz4 lz4c
+
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/test/completion/lz4.exp b/test/completion/lz4.exp
new file mode 100644
index 0000000..9db680e
--- /dev/null
+++ b/test/completion/lz4.exp
@@ -0,0 +1 @@
+assert_source_completions lz4
diff --git a/test/lib/completions/lz4.exp b/test/lib/completions/lz4.exp
new file mode 100644
index 0000000..df39293
--- /dev/null
+++ b/test/lib/completions/lz4.exp
@@ -0,0 +1,18 @@
+proc setup {} {
+ save_env
+}
+
+
+proc teardown {} {
+ assert_env_unmodified
+}
+
+
+setup
+
+
+assert_complete_any "lz4 "
+sync_after_int
+
+
+teardown
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/bash-completion/bash-completion.git
More information about the Bash-completion-commits
mailing list