[_cranspasswords] Améliorations + découpage du gros bloc central
This commit is contained in:
parent
7a2b4a4594
commit
ed0caf0b0e
1 changed files with 66 additions and 54 deletions
120
_cranspasswords
120
_cranspasswords
|
@ -7,72 +7,84 @@ _cranspasswords(){
|
||||||
cmd=$words[$END]
|
cmd=$words[$END]
|
||||||
case $cmd in
|
case $cmd in
|
||||||
--server)
|
--server)
|
||||||
liste_serveurs=($(cranspasswords --list-servers 2> /dev/null | tail -n +2 | awk '{print $2}' | tr '\n' ' '))
|
_cranspasswords_servers
|
||||||
for i in $liste_serveurs; do
|
|
||||||
_wanted server expl "server names" compadd $i;
|
|
||||||
done;
|
|
||||||
;;
|
;;
|
||||||
--view | --edit)
|
--view | --edit)
|
||||||
pos=$words[(i)--server]
|
_cranspasswords_files
|
||||||
posa=$(( pos + 1))
|
|
||||||
|
|
||||||
if (( posa < $#words )); then
|
|
||||||
fname="cpw_$words[$posa]_files"
|
|
||||||
server=$words[$posa]
|
|
||||||
else
|
|
||||||
fname="cpw_default_files"
|
|
||||||
server="default"
|
|
||||||
fi;
|
|
||||||
|
|
||||||
result=$(find /tmp -mmin -1 -name $fname 2> /dev/null | wc -l)
|
|
||||||
if (( result < 1 )); then
|
|
||||||
liste_fichiers=($(cranspasswords --server $server --list 2>/dev/null | tail -n +2 | head -n -1 | awk '{print $2}' | tr '\n' ' '))
|
|
||||||
echo $liste_fichiers > /tmp/$fname
|
|
||||||
for i in $liste_fichiers; do
|
|
||||||
_wanted files expl "file names" compadd $i;
|
|
||||||
done;
|
|
||||||
else
|
|
||||||
liste_fichiers=($(cat /tmp/$fname))
|
|
||||||
for i in $liste_fichiers; do
|
|
||||||
_wanted files expl "file names" compadd $i;
|
|
||||||
done;
|
|
||||||
fi;
|
|
||||||
;;
|
;;
|
||||||
--roles)
|
--roles)
|
||||||
pos=$words[(i)--server]
|
_cranspasswords_roles
|
||||||
posa=$(( pos + 1))
|
|
||||||
|
|
||||||
if (( posa < $#words )); then
|
|
||||||
fname="cpw_$words[$posa]_roles"
|
|
||||||
server=$words[$posa]
|
|
||||||
else
|
|
||||||
fname="cpw_default_roles"
|
|
||||||
server="default"
|
|
||||||
fi;
|
|
||||||
|
|
||||||
result=$(find /tmp -mmin -1 -name $fname 2> /dev/null | wc -l)
|
|
||||||
if (( result < 1 )); then
|
|
||||||
liste_fichiers=($(cranspasswords --server $server --list-roles 2>/dev/null | tail -n +2 | awk '{print $2}' | tr '\n' ' '))
|
|
||||||
echo $liste_fichiers > /tmp/$fname
|
|
||||||
for i in $liste_fichiers; do
|
|
||||||
_wanted roles expl "role names" compadd $i;
|
|
||||||
done;
|
|
||||||
else
|
|
||||||
liste_fichiers=($(cat /tmp/$fname))
|
|
||||||
for i in $liste_fichiers; do
|
|
||||||
_wanted roles expl "role names" compadd $i;
|
|
||||||
done;
|
|
||||||
fi;
|
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
_cranspasswords_args $@
|
_cranspasswords_args
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
else
|
else
|
||||||
_cranspasswords_args $@
|
_cranspasswords_files
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_cranspasswords_files(){
|
||||||
|
pos=$words[(i)--server]
|
||||||
|
posa=$(( pos + 1))
|
||||||
|
|
||||||
|
if (( posa < $#words )); then
|
||||||
|
fname="cpw_$words[$posa]_files"
|
||||||
|
server=$words[$posa]
|
||||||
|
else
|
||||||
|
fname="cpw_default_files"
|
||||||
|
server="default"
|
||||||
|
fi;
|
||||||
|
|
||||||
|
result=$(find /tmp -mmin -1 -name $fname 2> /dev/null | wc -l)
|
||||||
|
if (( result < 1 )); then
|
||||||
|
liste_fichiers=($(cranspasswords --server $server --list 2>/dev/null | tail -n +2 | head -n -1 | awk '{print $2}' | tr '\n' ' '))
|
||||||
|
echo $liste_fichiers > /tmp/$fname
|
||||||
|
for i in $liste_fichiers; do
|
||||||
|
_wanted files expl "file names" compadd $i;
|
||||||
|
done;
|
||||||
|
else
|
||||||
|
liste_fichiers=($(cat /tmp/$fname))
|
||||||
|
for i in $liste_fichiers; do
|
||||||
|
_wanted files expl "file names" compadd $i;
|
||||||
|
done;
|
||||||
|
fi;
|
||||||
|
}
|
||||||
|
|
||||||
|
_cranspasswords_roles(){
|
||||||
|
pos=$words[(i)--server]
|
||||||
|
posa=$(( pos + 1))
|
||||||
|
|
||||||
|
if (( posa < $#words )); then
|
||||||
|
fname="cpw_$words[$posa]_roles"
|
||||||
|
server=$words[$posa]
|
||||||
|
else
|
||||||
|
fname="cpw_default_roles"
|
||||||
|
server="default"
|
||||||
|
fi;
|
||||||
|
|
||||||
|
result=$(find /tmp -mmin -1 -name $fname 2> /dev/null | wc -l)
|
||||||
|
if (( result < 1 )); then
|
||||||
|
liste_fichiers=($(cranspasswords --server $server --list-roles 2>/dev/null | tail -n +2 | awk '{print $2}' | tr '\n' ' '))
|
||||||
|
echo $liste_fichiers > /tmp/$fname
|
||||||
|
for i in $liste_fichiers; do
|
||||||
|
_wanted roles expl "role names" compadd $i;
|
||||||
|
done;
|
||||||
|
else
|
||||||
|
liste_fichiers=($(cat /tmp/$fname))
|
||||||
|
for i in $liste_fichiers; do
|
||||||
|
_wanted roles expl "role names" compadd $i;
|
||||||
|
done;
|
||||||
|
fi;
|
||||||
|
}
|
||||||
|
|
||||||
|
_cranspasswords_servers(){
|
||||||
|
liste_serveurs=($(cranspasswords --list-servers 2> /dev/null | tail -n +2 | awk '{print $2}' | tr '\n' ' '))
|
||||||
|
for i in $liste_serveurs; do
|
||||||
|
_wanted server expl "server names" compadd $i;
|
||||||
|
done;
|
||||||
|
}
|
||||||
|
|
||||||
_cranspasswords_args(){
|
_cranspasswords_args(){
|
||||||
_arguments -s : \
|
_arguments -s : \
|
||||||
"(-h --help)"{-h,--help}"[Obtenir de l'aide]" \
|
"(-h --help)"{-h,--help}"[Obtenir de l'aide]" \
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue