refactored and generalized pre-command sanity checking
This commit is contained in:
parent
66194684ac
commit
5b74b130a3
38 changed files with 73 additions and 67 deletions
|
@ -21,7 +21,6 @@ import qualified Git
|
|||
import Annex.Content
|
||||
import Command
|
||||
import Options
|
||||
import Init
|
||||
|
||||
{- Runs the passed command line. -}
|
||||
dispatch :: [String] -> [Command] -> [Option] -> String -> Git.Repo -> IO ()
|
||||
|
@ -41,7 +40,7 @@ parseCmd argv header cmds options = do
|
|||
[] -> error $ "unknown command" ++ usagemsg
|
||||
[command] -> do
|
||||
_ <- sequence flags
|
||||
checkCmdEnviron command
|
||||
checkCommand command
|
||||
prepCommand command (drop 1 params)
|
||||
_ -> error "internal error: multiple matching commands"
|
||||
where
|
||||
|
@ -53,10 +52,6 @@ parseCmd argv header cmds options = do
|
|||
lookupCmd cmd = filter (\c -> cmd == cmdname c) cmds
|
||||
usagemsg = "\n\n" ++ usage header cmds options
|
||||
|
||||
{- Checks that the command can be run in the current environment. -}
|
||||
checkCmdEnviron :: Command -> Annex ()
|
||||
checkCmdEnviron command = when (cmdusesrepo command) ensureInitialized
|
||||
|
||||
{- Usage message with lists of commands and options. -}
|
||||
usage :: String -> [Command] -> [Option] -> String
|
||||
usage header cmds options =
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue