12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- # Copy this file into /usr/share/zsh/site-functions/
- # and add 'autoload n-functions` to .zshrc
- #
- # This function allows to choose a function 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 ] && builtin source ~/.config/znt/n-list.conf
- [ -f ~/.config/znt/n-functions.conf ] && builtin source ~/.config/znt/n-functions.conf
- local list
- local selected
- NLIST_REMEMBER_STATE=0
- list=( "${(@k)functions}" )
- list=( "${(@M)list:#(#i)*$1*}" )
- local NLIST_GREP_STRING="$1"
- if [ "$#list" -eq 0 ]; then
- echo "No matching functions"
- return 1
- fi
- list=( "${(@i)list}" )
- n-list "$list[@]"
- if [ "$REPLY" -gt 0 ]; then
- selected="$reply[REPLY]"
- if [ "$feditor" = "zed" ]; then
- echo "Editing \`$selected' (ESC ZZ or Ctrl-x-w to finish):"
- autoload zed
- print -rs "zed -f -- \"$selected\""
- zed -f -- "$selected"
- else
- echo "Editing \`$selected':"
- print -rs "vared functions\\[$selected\\]"
- vared functions\[$selected\]
- fi
- fi
- # vim: set filetype=zsh:
|