From 3fab3d5a5ea1c6f19caf887a95555042e32c42ff Mon Sep 17 00:00:00 2001 From: Florian Fischer Date: Sun, 7 Feb 2016 17:46:21 +0100 Subject: improve timer function 1) add arg checking 2) introduce "-q" flag which skips the alarm 3) fix string replace when timer is finished --- config/fish/functions/timer.fish | 42 ++++++++++++++++++++++++++++++---------- 1 file changed, 32 insertions(+), 10 deletions(-) diff --git a/config/fish/functions/timer.fish b/config/fish/functions/timer.fish index 7d8bb0e..f6f930b 100644 --- a/config/fish/functions/timer.fish +++ b/config/fish/functions/timer.fish @@ -1,17 +1,39 @@ function timer - if test (count $argv) -ne 1 - echo "Usage: timer " - return + + set usage "Usage: timer [-q] " + + if test (count $argv) -lt 1 + echo $usage + return 1 end - for i in (seq 1 $argv[1]) + + for i in (seq 1 (count $argv)) + if test $argv[$i] = "-q" + set quiet 1 + else if test $argv[$i] -gt 0 + set time $argv[$i] + else + echo $usage + return 1 + end + end + + if not set -q time + echo $usage + return 1 + end + + for i in (seq 1 $time) sleep 1m - echo (string replace -r '^0$' ready! (math $argv[1] - $i))m left + echo (string replace -r '0m left' ready! (echo (math $argv[1] - $i)m left)) end - while true - for i in (seq 1 20) - xkbbell - sleep 1 + if not set -q quiet + while true + for i in (seq 1 20) + xkbbell + sleep 1 + end + sleep 1m end - sleep 1m end end -- cgit v1.2.3