math.fish: support floating-point maths

Closes #1643.

Thanks to Mickaël RAYBAUD-ROIG (https://github.com/m-r-r) for the idea
of printf.
This commit is contained in:
David Adam 2014-09-27 18:36:33 +08:00
parent a0e5cdd178
commit 7cad0069e8

View File

@ -7,8 +7,13 @@ function math --description "Perform math calculations in bc"
return 0
end
set -l out (echo $argv|env BC_LINE_LENGTH=0 bc)
test -z "$out"; and return 1
# Override the locale so that the output can be used as input
set -l LC_NUMERIC C
# GNU bc extension
set -l BC_LINE_LENGTH 0
set -l out (printf '%g' (echo $argv| bc -l))
test -z "$out"; and return 1
echo $out
switch $out
case 0