From f09ced610d6f9c9ea694d2eade7bdcf75e535afc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Sat, 10 Dec 2011 18:27:21 +0200 Subject: [PATCH] lzip: New completion. --- completions/Makefile.am | 1 + completions/lzip | 44 +++++++++++++++++++++++++++++++++++ test/completion/lzip.exp | 1 + test/lib/completions/lzip.exp | 20 ++++++++++++++++ 4 files changed, 66 insertions(+) create mode 100644 completions/lzip create mode 100644 test/completion/lzip.exp create mode 100644 test/lib/completions/lzip.exp diff --git a/completions/Makefile.am b/completions/Makefile.am index 5b2e68ff..4570c217 100644 --- a/completions/Makefile.am +++ b/completions/Makefile.am @@ -170,6 +170,7 @@ bashcomp_DATA = a2x \ lrzip \ lsof \ lvm \ + lzip \ lzma \ lzop \ macof \ diff --git a/completions/lzip b/completions/lzip new file mode 100644 index 00000000..9df55382 --- /dev/null +++ b/completions/lzip @@ -0,0 +1,44 @@ +# lzip(1) completion -*- shell-script -*- + +_lzip() +{ + local cur prev words cword split + _init_completion -s || return + + local decompress=false + + case $prev in + -h|--help|-V|--version|-b|--member-size|-m|--match-length|\ + -s|--dictionary-size|-S|--volume-size) + return + ;; + -d|--decompress) + decompress=true + ;; + -o|--output) + _filedir + return + ;; + esac + + $split && return + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '$( _parse_help "$1" ) {-1..-9}' \ + -- "$cur" ) ) + return + fi + + if $decompress; then + _filedir lz + return + fi + + local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $( compgen -f -X "*.lz" -- "$cur" ) \ + $( compgen -d -- "$cur" ) ) +} && +complete -F _lzip lzip + +# ex: ts=4 sw=4 et filetype=sh diff --git a/test/completion/lzip.exp b/test/completion/lzip.exp new file mode 100644 index 00000000..faa83a41 --- /dev/null +++ b/test/completion/lzip.exp @@ -0,0 +1 @@ +assert_source_completions lzip diff --git a/test/lib/completions/lzip.exp b/test/lib/completions/lzip.exp new file mode 100644 index 00000000..fd92af62 --- /dev/null +++ b/test/lib/completions/lzip.exp @@ -0,0 +1,20 @@ +proc setup {} { + save_env +} + + +proc teardown {} { + assert_env_unmodified +} + + +setup + + +assert_complete_any "lzip " + + +sync_after_int + + +teardown