From 3cbb28408f4537fbc7beaa7148458f0db3f02baf Mon Sep 17 00:00:00 2001 From: James Rayner Date: Wed, 18 Nov 2009 13:45:35 +1100 Subject: FS#13418,FS#12505 - add zsh/bash completion --- contrib/bash-completion | 58 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 contrib/bash-completion (limited to 'contrib/bash-completion') diff --git a/contrib/bash-completion b/contrib/bash-completion new file mode 100644 index 0000000..44dd181 --- /dev/null +++ b/contrib/bash-completion @@ -0,0 +1,58 @@ +# netcfg completion by Maciej 'macieks' Sitarz + +_connected_prfls () +{ + COMPREPLY=( $( compgen -W "$( ls /var/run/network/profiles/ )" -- $cur ) ) +} + +_connected_intfs () +{ + COMPREPLY=( $( compgen -W "$( ls /var/run/network/interfaces/)" -- $cur ) ) +} + +_netcfg () +{ + local cur prev opts lopts cmds prfls + + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + + opts="-c -d -a -i -h -v" + lopts="--help --version" + cmds="check-iface down all-down iface-down all-resume all-suspend" + prfls="`find /etc/network.d -maxdepth 1 -not -type d -printf '%f\n'`" + + case "${cur}" in + --*) + COMPREPLY=( $( compgen -W "${lopts}" -- $cur ) ) + return 0 + ;; + -*) + COMPREPLY=( $( compgen -W "${opts} ${lopts}" -- $cur ) ) + return 0 + ;; + *) + if [ $COMP_CWORD -eq 1 ]; then + COMPREPLY=( $( compgen -W "${opts} ${lopts} ${cmds} ${prfls}" -- $cur ) ) + fi + ;; + esac + + case "${prev}" in + -c|check-iface|-i|iface-down) + _connected_intfs + return 0 + ;; + -d|down) + _connected_prfls + return 0 + ;; + *) + ;; + esac + + return 0 +} +complete -F _netcfg netcfg +complete -F _netcfg netcfg2 -- cgit v1.2.3-24-g4f1b