new completion: pkgrm

master
Yann Rouillard 2012-10-30 00:09:21 +01:00 committed by Guillaume Rousse
parent a54fa7340a
commit ff444b5283
5 changed files with 71 additions and 0 deletions

View File

@ -4,6 +4,7 @@
* svcadm: new completion, contributed by Yann Rouillard <yann@opencsw.org>
* pkg-get: new completion, contributed by Yann Rouillard <yann@opencsw.org>
* pkgadd: new completion, contributed by Yann Rouillard <yann@opencsw.org>
* pkgdrm: new completion, contributed by Yann Rouillard <yann@opencsw.org>
bash-completion (2.0)

View File

@ -237,6 +237,7 @@ bashcomp_DATA = a2x \
pkg-get \
pkg_delete \
pkgadd \
pkgrm \
pkgtool \
plague-client \
pm-hibernate \

50
completions/pkgrm Normal file
View File

@ -0,0 +1,50 @@
# pkgrm completion -*- shell-script -*-
#
# Copyright 2006 Yann Rouillard <yann@opencsw.org>
_have pkgrm &&
_pkgrm ()
{
local cur prev words cword
_init_completion || return
# if a spool directory was given
# we must complete with the package
# available in this directory
local spool=/var/sadm/pkg;
local i=$cword
while [[ $((i--)) -gt 0 ]]; do
i=$((i-1));
case "${words[$i]}" in
-s)
spool="${words[$((i+1))]}";
break
;;
esac;
done;
case $prev in
-a | -V)
_filedir
;;
-s | -R)
_filedir -d
;;
-Y)
;;
*)
if [[ ${cur} == -* ]]; then
local opts="-a -A -n -M -R -s -v -V -Y";
COMPREPLY=($(compgen -W "${opts}" -- ${cur}));
return 0;
else
COMPREPLY=($(compgen -W "$(/bin/ls -1 $spool)" -- ${cur}));
return 0;
fi
;;
esac
} &&
complete -F _pkgrm pkgrm
# ex: ts=4 sw=4 et filetype=sh

View File

@ -0,0 +1 @@
assert_source_completions pkgrm

View File

@ -0,0 +1,18 @@
proc setup {} {
save_env
}
proc teardown {} {
assert_env_unmodified
}
setup
assert_complete_any "pkgrm "
sync_after_int
teardown