diff options
Diffstat (limited to 'Command/Watch.hs')
-rw-r--r-- | Command/Watch.hs | 25 |
1 files changed, 8 insertions, 17 deletions
diff --git a/Command/Watch.hs b/Command/Watch.hs index cc7356ddf..ac2f27397 100644 --- a/Command/Watch.hs +++ b/Command/Watch.hs @@ -13,26 +13,17 @@ import Command import Utility.HumanTime cmd :: Command -cmd = notBareRepo $ withOptions [foregroundOption, stopOption] $ +cmd = notBareRepo $ command "watch" SectionCommon "watch for changes and autocommit" - paramNothing (withParams seek) + paramNothing (seek <$$> const parseDaemonOptions) -seek :: CmdParams -> CommandSeek -seek ps = do - stopdaemon <- getOptionFlag stopOption - foreground <- getOptionFlag foregroundOption - withNothing (start False foreground stopdaemon Nothing) ps +seek :: DaemonOptions -> CommandSeek +seek o = commandAction $ start False o Nothing -foregroundOption :: Option -foregroundOption = flagOption [] "foreground" "do not daemonize" - -stopOption :: Option -stopOption = flagOption [] "stop" "stop daemon" - -start :: Bool -> Bool -> Bool -> Maybe Duration -> CommandStart -start assistant foreground stopdaemon startdelay = do - if stopdaemon +start :: Bool -> DaemonOptions -> Maybe Duration -> CommandStart +start assistant o startdelay = do + if stopDaemonOption o then stopDaemon - else startDaemon assistant foreground startdelay Nothing Nothing Nothing -- does not return + else startDaemon assistant (foregroundDaemonOption o) startdelay Nothing Nothing Nothing -- does not return stop |