mirror of https://github.com/curusarn/resh
parent
fcd8c8bfed
commit
585cafa1ab
@ -1,71 +0,0 @@ |
||||
#!/hint/sh |
||||
|
||||
# shellcheck source=../submodules/bash-zsh-compat-widgets/bindfunc.sh |
||||
. ~/.resh/bindfunc.sh |
||||
# shellcheck source=hooks.sh |
||||
. ~/.resh/hooks.sh |
||||
|
||||
__resh_nop() { |
||||
# does nothing |
||||
true |
||||
} |
||||
|
||||
__resh_bind_control_R() { |
||||
bindfunc --revert '\C-r' __resh_widget_control_R_compat |
||||
if [ "${__RESH_control_R_bind_enabled-0}" != 0 ]; then |
||||
# Re-binding is a valid usecase but it shouldn't happen much |
||||
# so this is a warning |
||||
# echo "Re-binding RESH SEARCH app to Ctrl+R ..." |
||||
else |
||||
# Only save original binding if resh binding was not enabled |
||||
__RESH_bindfunc_revert_control_R_bind=$_bindfunc_revert |
||||
fi |
||||
__RESH_control_R_bind_enabled=1 |
||||
if [ -n "${BASH_VERSION-}" ]; then |
||||
# fuck bash |
||||
bind '"\C-r": "\u[31~\u[32~"' |
||||
bind -x '"\u[31~": __resh_widget_control_R_compat' |
||||
|
||||
# execute |
||||
# bind '"\u[32~": accept-line' |
||||
|
||||
# just paste |
||||
# bind -x '"\u[32~": __resh_nop' |
||||
true |
||||
fi |
||||
return 0 |
||||
} |
||||
|
||||
__resh_unbind_control_R() { |
||||
if [ "${__RESH_control_R_bind_enabled-0}" != 1 ]; then |
||||
echo "RESH SEARCH app Ctrl+R binding is already disabled!" |
||||
return 1 |
||||
fi |
||||
if [ -z "${__RESH_bindfunc_revert_control_R_bind+x}" ]; then |
||||
echo "Warn: Couldn't revert Ctrl+R binding because 'revert command' is empty." |
||||
else |
||||
eval "$__RESH_bindfunc_revert_control_R_bind" |
||||
fi |
||||
__RESH_control_R_bind_enabled=0 |
||||
return 0 |
||||
} |
||||
|
||||
# wrapper for resh-cli for calling resh directly |
||||
resh() { |
||||
local buffer |
||||
local git_remote; git_remote="$(git remote get-url origin 2>/dev/null)" |
||||
buffer=$(resh-cli --sessionID "$__RESH_SESSION_ID" --pwd "$PWD" --gitOriginRemote "$git_remote" "$@") |
||||
status_code=$? |
||||
if [ $status_code = 111 ]; then |
||||
# execute |
||||
echo "$buffer" |
||||
eval "$buffer" |
||||
elif [ $status_code = 0 ]; then |
||||
# paste |
||||
echo "$buffer" |
||||
elif [ $status_code = 130 ]; then |
||||
true |
||||
else |
||||
printf "%s" "$buffer" >&2 |
||||
fi |
||||
} |
||||
Loading…
Reference in new issue