2024-11-29 15:25:21 +03:00

30 lines
560 B
Bash

# calculator
export ZCALC_HISTFILE="${HOME}/.zcalc_history"
autoload -U zcalc
function __calc {
zcalc -f -e "$*"
}
aliases[calc]='noglob __calc'
aliases[=]='noglob __calc'
function accept-line() {
if [[ -z "${BUFFER}" ]]; then
echo
ls
elif [[ ${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