diff options
author | Igor Pashev <pashev.igor@gmail.com> | 2019-09-01 21:06:45 +0200 |
---|---|---|
committer | Igor Pashev <pashev.igor@gmail.com> | 2019-09-01 21:06:45 +0200 |
commit | 72480d98aff91590f11adee8ea0501ba7c490764 (patch) | |
tree | 4222d25121fee050bfe797643d0fea6e8dde6f43 | |
parent | 54578195f556ea478cd2cffc948157c91b8bef13 (diff) | |
download | frotate.hs-72480d98aff91590f11adee8ea0501ba7c490764.tar.gz |
Exit with error if --keep and --delete are missed
Still print all days to stderr. This is to prevent misuse
when frotate is invoked without --keep or --delete.
-rw-r--r-- | README.md | 4 | ||||
-rw-r--r-- | src/Main.hs | 5 |
2 files changed, 6 insertions, 3 deletions
@@ -26,8 +26,8 @@ Usage ===== Note that when neither `--keep` nor `--delete` option is given, the utility -prints all intervals with all days in them _to standard error_. In production -you will need to specify `--keep` or `--delete` explicitly. +prints all intervals with all days _to standard error_ and exits with non-zero +code. In production you will need to specify `--keep` or `--delete` explicitly. ``` Usage: frotate ([-k|--keep] | [-d|--delete]) [-b|--base BASE] DAY... diff --git a/src/Main.hs b/src/Main.hs index 0f66daa..09aeb99 100644 --- a/src/Main.hs +++ b/src/Main.hs @@ -2,6 +2,7 @@ module Main ( main ) where +import System.Exit (exitFailure) import System.IO (hPutStrLn, stderr) import Data.Time.Calendar (Day) @@ -64,4 +65,6 @@ main = do putStrLn $ unwords . map show . concatMap (take 1 . reverse) $ groups Just Delete -> putStrLn $ unwords . map show . concatMap (drop 1 . reverse) $ groups - Nothing -> mapM_ (hPutStrLn stderr . unwords . map show . reverse) groups + Nothing -> do + mapM_ (hPutStrLn stderr . unwords . map show . reverse) groups + exitFailure |