scwrypts/scwrypts.plugin.zsh

37 lines
966 B
Bash
Raw Permalink Normal View History

DONT_EXIT=1 source ${0:a:h}/zsh/common.zsh
#####################################################################
__SCWRYPTS() {
local SCRIPT=$(__GET_AVAILABLE_SCRIPTS | __FZF 'select a script')
zle clear-command-line
[ ! $SCRIPT ] && { zle accept-line; return 0; }
which scwrypts >/dev/null 2>&1\
&& RBUFFER="scwrypts" || RBUFFER="$SCWRYPTS_ROOT/scwrypts"
RBUFFER+=" $SCRIPT"
zle accept-line
}
zle -N scwrypts __SCWRYPTS
bindkey $SCWRYPTS_SHORTCUT scwrypts
#####################################################################
__SCWRYPTS_ENV() {
local RESET='reset'
local SELECTED=$(\
{ [ $SCWRYPTS_ENV ] && echo $RESET; __GET_ENV_NAMES; } \
| __FZF 'select an environment' \
)
zle clear-command-line
[ $SELECTED ] && {
[[ $SELECTED =~ ^$RESET$ ]] \
&& RBUFFER='unset SCWRYPTS_ENV' \
|| RBUFFER="export SCWRYPTS_ENV=$SELECTED"
}
zle accept-line
}
zle -N scwrypts-setenv __SCWRYPTS_ENV
bindkey $SCWRYPTS_ENV_SHORTCUT scwrypts-setenv