From 324568044af4287dd25a90dc143ea26df565d1e3 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Sat, 11 Jul 2009 01:17:18 +0200 Subject: Renamed pkg to caretaker --- provides/zsh/completions/_ct | 89 +++++++++++++++++++++++++++++++++++++++++ provides/zsh/completions/_pkg | 92 ------------------------------------------- 2 files changed, 89 insertions(+), 92 deletions(-) create mode 100644 provides/zsh/completions/_ct delete mode 100644 provides/zsh/completions/_pkg (limited to 'provides/zsh/completions') diff --git a/provides/zsh/completions/_ct b/provides/zsh/completions/_ct new file mode 100644 index 0000000..c0af61b --- /dev/null +++ b/provides/zsh/completions/_ct @@ -0,0 +1,89 @@ +#compdef ct +## vim:ft=zsh +## caretaker completion + +typeset expl + +function _ct_action () { + _wanted action expl 'action' \ + compadd add eval remove info list \ + log pull push refresh status update +} + +function _ct_installed () { + _wanted package expl 'local package' \ + compadd $(ct list local) +} + +function _ct_all () { + _wanted package expl 'package' \ + compadd $(ct list all) +} + +function _ct_notinstalled () { + _wanted package expl 'remote package' \ + compadd $(ct list not-installed) +} + +function _ct_args { + if (( CURRENT == 2 )) { + case ${words[1]} in + l|log|f|pull|p|push|r|refresh|rm|remove|s|status) + _ct_installed + ;; + i|info) + _ct_all + ;; + a|add) + _ct_notinstalled + ;; + e|eval) + _message 'shell code for evaluation' + _wanted function expl 'internal function' \ + compadd $(grep -E '^\S*\s*\(\)\s*{' =ct | cut -d ' ' -f 1) \ + $(grep -E 'function \S* (\(\) )?{' =ct | cut -d ' ' -f 2) + ;; + ls|list) + _wanted something expl 'list mode' \ + compadd all local not-installed + ;; + u|update) + _wanted mode expl 'update target' \ + compadd local remote + ;; + *) + _message 'no more arguments' + ;; + esac + } elif [[ ${words[1]} == e(val|) ]] { + _message 'shell code for evaluation' + if (( CURRENT == 3 )) { + case ${words[2]} in + exec_hook|check_prereqs|*_collected|) + _ct_installed + ;; + esac + } elif (( CURRENT == 4 )) { + case ${words[2]} in + exec_hook) + _wanted hook expl 'package hook' \ + compadd $(ls -1 ~/packages/${words[3]}/hooks 2> /dev/null) + ;; + esac + } + } +} + +_arguments \ + '--quiet[quiet mode]' \ + '--debug[debugmode]' \ + '--auto-update[automatically update package list]' \ + '*--checklinks-options[options for checklinks]:option' \ + '--packagedir[package directory]:directory:_files -/' \ + '--packageroot[package root]:url' \ + '--colours[use colours]' \ + '--no-colours[No colours]' \ + '--progress[show progress bar]' \ + '--no-progress[No progress bar]' \ + ':action:_ct_action' \ + '*::arguments:_ct_args' diff --git a/provides/zsh/completions/_pkg b/provides/zsh/completions/_pkg deleted file mode 100644 index 36f0081..0000000 --- a/provides/zsh/completions/_pkg +++ /dev/null @@ -1,92 +0,0 @@ -#compdef pkg -## vim:ft=zsh -## pkg completion -## Daniel Friesel -## https://derf.homelinux.org/~derf/dotfiles/zsh/completions/_pkg -## see also: https://derf.homelinux.org/~derf/code/lighty-stats - -typeset expl - -function _pkg_action () { - _wanted action expl 'action' \ - compadd add eval remove info list \ - log pull push refresh status update -} - -function _pkg_installed () { - _wanted package expl 'local package' \ - compadd $(pkg list local) -} - -function _pkg_all () { - _wanted package expl 'package' \ - compadd $(pkg list all) -} - -function _pkg_notinstalled () { - _wanted package expl 'remote package' \ - compadd $(pkg list not-installed) -} - -function _pkg_args { - if (( CURRENT == 2 )) { - case ${words[1]} in - l|log|f|pull|p|push|r|refresh|rm|remove|s|status) - _pkg_installed - ;; - i|info) - _pkg_all - ;; - a|add) - _pkg_notinstalled - ;; - e|eval) - _message 'shell code for evaluation' - _wanted function expl 'internal function' \ - compadd $(grep -E '^\S*\s*\(\)\s*{' =pkg | cut -d ' ' -f 1) \ - $(grep -E 'function \S* (\(\) )?{' =pkg | cut -d ' ' -f 2) - ;; - ls|list) - _wanted something expl 'list mode' \ - compadd all local not-installed - ;; - u|update) - _wanted mode expl 'update target' \ - compadd local remote - ;; - *) - _message 'no more arguments' - ;; - esac - } elif [[ ${words[1]} == e(val|) ]] { - _message 'shell code for evaluation' - if (( CURRENT == 3 )) { - case ${words[2]} in - exec_hook|check_prereqs|*_collected|) - _pkg_installed - ;; - esac - } elif (( CURRENT == 4 )) { - case ${words[2]} in - exec_hook) - _wanted hook expl 'package hook' \ - compadd $(ls -1 ~/packages/${words[3]}/hooks 2> /dev/null) - ;; - esac - } - } -} - -_arguments \ - '--quiet[quiet mode]' \ - '--debug[debugmode]' \ - '--auto-update[automatically update package list]' \ - '*--checklinks-options[options for checklinks]:option' \ - '--packagedir[package directory]:directory:_files -/' \ - '--packageroot[package root]:url' \ - '--colours[use colours]' \ - '--no-colours[No colours]' \ - '--progress[show progress bar]' \ - '--no-progress[No progress bar]' \ - ':action:_pkg_action' \ - '*::arguments:_pkg_args' -- cgit v1.2.3