2024-05-28 16:15:04 +03:00

23 lines
440 B
Bash

# calculator
autoload -U zcalc
function __calc {
zcalc -f -e "$*"
}
aliases[calc]='noglob __calc'
aliases[=]='noglob __calc'
function accept-line() {
if [[ $BUFFER =~ '^[ ]?\(?[-+]?[0-9]+[^a-zA-Z]+' ]]; then
echo
test "$BUFFER[1]" != " " && print -S -- "$BUFFER" # saving the command to history
__calc "$BUFFER" | sed 's/\.$//'
BUFFER=
fi
zle .$WIDGET
}
zle -N accept-line
# vim: ft=zsh