Skip to content

Instantly share code, notes, and snippets.

@dardo82
Last active December 13, 2025 07:09
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() {
echo "[sudo] Enter the password for $USER: "
local HIDDEN=true
while true
do if [[ -z $HIDDEN ]] ; then
if ((CURSOR==${${#BUFFER}})) ;
then echo -e -n $'\r'${${BUFFER}} ;
else echo -e -n $'\r'${=LBUFFER//?/*}${BUFFER:$CURSOR:1}${${RBUFFER#?}//?/*}; fi
else echo -e -n $'\r'${${BUFFER//?/*}} ; fi
sleep 1; read -s -k 1 ONEKEY ;
case $ONEKEY in
($'\t') unset HIDDEN ; ;;
($'\r') echo $BUFFER ; return 0 ;;
($'\C-?') if ((CURSOR>0)) ;
then echo -e -n $'\b' $'\b'
LBUFFER=""${LBUFFER%%?} ; fi ;;
($'\e') read -s -k 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 -e -n $'\r'${${BUFFER}} ;
else echo -e -n $'\r'${=LBUFFER//?/*}${BUFFER:$CURSOR:1}${${RBUFFER#?}//?/*}; fi
else echo -e -n $'\r'${${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