add assistant command
like watch, but more magic
This commit is contained in:
parent
cf9bf920e8
commit
3ee44cf8fe
5 changed files with 36 additions and 12 deletions
18
Command/Assistant.hs
Normal file
18
Command/Assistant.hs
Normal file
|
@ -0,0 +1,18 @@
|
|||
{- git-annex assistant
|
||||
-
|
||||
- Copyright 2012 Joey Hess <joey@kitenet.net>
|
||||
-
|
||||
- Licensed under the GNU GPL version 3 or higher.
|
||||
-}
|
||||
|
||||
module Command.Assistant where
|
||||
|
||||
import Command
|
||||
import qualified Command.Watch
|
||||
|
||||
def :: [Command]
|
||||
def = [withOptions [Command.Watch.foregroundOption, Command.Watch.stopOption] $
|
||||
command "assistant" paramNothing seek "automatically handle changes"]
|
||||
|
||||
seek :: [CommandSeek]
|
||||
seek = Command.Watch.mkSeek True
|
|
@ -1,6 +1,3 @@
|
|||
{-# LANGUAGE CPP #-}
|
||||
{-# LANGUAGE BangPatterns #-}
|
||||
|
||||
{- git-annex watch command
|
||||
-
|
||||
- Copyright 2012 Joey Hess <joey@kitenet.net>
|
||||
|
@ -19,10 +16,13 @@ def :: [Command]
|
|||
def = [withOptions [foregroundOption, stopOption] $
|
||||
command "watch" paramNothing seek "watch for changes"]
|
||||
|
||||
seek :: [CommandSeek]
|
||||
seek = [withFlag stopOption $ \stopdaemon ->
|
||||
mkSeek :: Bool -> [CommandSeek]
|
||||
mkSeek assistant = [withFlag stopOption $ \stopdaemon ->
|
||||
withFlag foregroundOption $ \foreground ->
|
||||
withNothing $ start foreground stopdaemon]
|
||||
withNothing $ start assistant foreground stopdaemon]
|
||||
|
||||
seek :: [CommandSeek]
|
||||
seek = mkSeek False
|
||||
|
||||
foregroundOption :: Option
|
||||
foregroundOption = Option.flag [] "foreground" "do not daemonize"
|
||||
|
@ -30,9 +30,9 @@ foregroundOption = Option.flag [] "foreground" "do not daemonize"
|
|||
stopOption :: Option
|
||||
stopOption = Option.flag [] "stop" "stop daemon"
|
||||
|
||||
start :: Bool -> Bool -> CommandStart
|
||||
start foreground stopdaemon = notBareRepo $ do
|
||||
start :: Bool -> Bool -> Bool -> CommandStart
|
||||
start assistant foreground stopdaemon = notBareRepo $ do
|
||||
if stopdaemon
|
||||
then stopDaemon
|
||||
else startDaemon foreground -- does not return
|
||||
else startDaemon assistant foreground -- does not return
|
||||
stop
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue