Add lein aliases plugin that shows aliases from project.clj in autosuggestions

This commit is contained in:
Ari Paasonen 2017-01-15 21:17:27 +02:00
commit 9c9b02bcc2
2 changed files with 70 additions and 0 deletions

View file

@ -0,0 +1,33 @@
__LEIN_ALIASES_DIR="${0:A:h}"
function _lein_aliases() {
local ret=1 state
_arguments ':aliases:->aliases' && ret=0
case $state in
aliases)
local LEIN_ALIASES=("${(@s:;:)$(_read_lein_aliases)}")
_describe -t LEIN_ALIASES 'leiningen aliases' LEIN_ALIASES && ret=0
_include_lein_commands_if_exists
;;
*) _files
esac
return ret
}
compdef _lein_aliases lein
function _read_lein_aliases() {
unset __LEIN_ALIASES_STR
local lein_aliases="$__LEIN_ALIASES_DIR/lein-aliases.py"
_LEIN_ALIASES_STR=$(python ${lein_aliases} 2>/dev/null)
echo $_LEIN_ALIASES_STR
}
function _include_lein_commands_if_exists() {
if whence -w _lein_commands > /dev/null; then
_lein_commands
fi
}