plugins/sudo: Add toggle support (#434)

This commit is contained in:
Dheison Gomes 2023-04-09 21:27:04 -03:00 committed by GitHub
parent b5228038b9
commit 11ab9e17ea
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,11 +1,23 @@
#! bash oh-my-bash.module
function _omb_plugin_sudo__is_inserted {
[[ "$READLINE_LINE" = 'sudo '* ]]
}
function _omb_plugin_sudo_add_sudo {
if [[ -z $READLINE_LINE ]]; then
READLINE_LINE="$(fc -ln -1 | command sed 's/^[[:space:]]\{1,\}//')"
READLINE_POINT=${#READLINE_LINE}
_omb_plugin_sudo__is_inserted && return
fi
READLINE_LINE="sudo $READLINE_LINE"
((READLINE_POINT += 5))
if _omb_plugin_sudo__is_inserted; then
READLINE_LINE="${READLINE_LINE#sudo }"
((READLINE_POINT -= 5))
else
READLINE_LINE="sudo $READLINE_LINE"
((READLINE_POINT += 5))
fi
((READLINE_POINT < 0)) && READLINE_POINT=0
}
bind -m emacs -x '"\e\e": _omb_plugin_sudo_add_sudo'