From 4c292ea2b023a331dcf1af5644487f2272d24a4d Mon Sep 17 00:00:00 2001 From: Sebastian Gniazdowski Date: Sun, 20 Sep 2015 14:39:46 +0200 Subject: Initial commit of Zsh Navigation Tools --- plugins/zsh-navigation-tools/n-aliases | 47 ++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 plugins/zsh-navigation-tools/n-aliases (limited to 'plugins/zsh-navigation-tools/n-aliases') diff --git a/plugins/zsh-navigation-tools/n-aliases b/plugins/zsh-navigation-tools/n-aliases new file mode 100644 index 000000000..d81db9253 --- /dev/null +++ b/plugins/zsh-navigation-tools/n-aliases @@ -0,0 +1,47 @@ +# Copy this file into /usr/share/zsh/site-functions/ +# and add 'autoload n-aliases` to .zshrc +# +# This function allows to choose an alias for edition with vared +# +# Uses n-list + +emulate -L zsh + +setopt extendedglob +zmodload zsh/curses +zmodload zsh/parameter + +local IFS=" +" + +unset NLIST_COLORING_PATTERN + +[ -f ~/.config/znt/n-list.conf ] && . ~/.config/znt/n-list.conf +[ -f ~/.config/znt/n-aliases.conf ] && . ~/.config/znt/n-aliases.conf + +local list +local selected + +NLIST_REMEMBER_STATE=0 + +list=( "${(@k)aliases}" ) +list=( "${(@M)list:#(#i)*$1*}" ) + +local NLIST_GREP_STRING="$1" + +if [ "$#list" -eq 0 ]; then + echo "No matching aliases" + return 1 +fi + +list=( "${(@i)list}" ) +n-list "$list[@]" + +if [ "$REPLY" -gt 0 ]; then + selected="$reply[REPLY]" + echo "Editing \`$selected':" + print -rs "vared aliases\\[$selected\\]" + vared aliases\[$selected\] +fi + +# vim: set filetype=zsh: -- cgit v1.2.3-70-g09d2