Skip to content

Instantly share code, notes, and snippets.

@dardo82
Last active December 6, 2025 19:01
Show Gist options
  • Select an option

  • Save dardo82/a39f04936b2e2ef571f63d3b0a2a61b9 to your computer and use it in GitHub Desktop.

Select an option

Save dardo82/a39f04936b2e2ef571f63d3b0a2a61b9 to your computer and use it in GitHub Desktop.
sudo helper
#!/bin/zsh
_sudo_showpw() {
local HIDDEN=true
while true
do if [[ -z $HIDDEN ]] ; then
if ((CURSOR==${#BUFFER}))
then echo -ne ${=BUFFER}
else echo -ne ${${LBUFFER%%?}//?/*}${BUFFER:$CURSOR:1}${RBUFFER//?/*}; fi
else echo -ne ${${=BUFFER//?/*}}; fi
read -sk 1 ONEKEY
case $ONEKEY in
($'\t') unset HIDDEN ;;
($'\r') echo $BUFFER ; return 0;;
($'\C-?') if ((CURSOR>0))
then BUFFER=${=LBUFFER%%?}${RBUFFER};fi ;;
($'\e') read -sk 2 ARROWS
case $ARROWS in
('[D') if ((CURSOR>0))
then ((CURSOR--))
unset HIDDEN ; fi ;;
('[C') if ((CURSOR<=${${#BUFFER}}))
then ((CURSOR++))
unset HIDDEN ; fi ;;
esac ; ;;
(*) LBUFFER+=$ONEKEY ;;
esac; if [[ -z $HIDDEN ]] ; then
if ((CURSOR==${#BUFFER}))
then echo -ne ${=BUFFER}
else echo -ne ${${LBUFFER%%?}//?/*}${BUFFER:$CURSOR:1}${RBUFFER//?/*}; fi
else echo -ne ${${=BUFFER//?/*}}; fi
sleep 1; local HIDDEN=true
done}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment