started converting to use optparse-applicative

This is a work in progress. It compiles and is able to do basic command
dispatch, including git autocorrection, while using optparse-applicative
for the core commandline parsing.

* Many commands are temporarily disabled before conversion.
* Options are not wired in yet.
* cmdnorepo actions don't work yet.

Also, removed the [Command] list, which was only used in one place.
This commit is contained in:
Joey Hess 2015-07-08 12:33:27 -04:00
parent 4018e5f6f1
commit a2ba701056
104 changed files with 435 additions and 370 deletions

View file

@ -34,9 +34,10 @@ import Utility.Tmp
import Control.Exception (IOException)
cmd :: [Command]
cmd = [notBareRepo $ withOptions addOptions $
command "add" paramPaths seek SectionCommon "add files to annex"]
cmd :: Command
cmd = notBareRepo $ withOptions addOptions $
command "add" paramPaths SectionCommon "add files to annex"
(commandParser seek)
addOptions :: [Option]
addOptions = includeDotFilesOption : fileMatchingOptions
@ -47,7 +48,7 @@ includeDotFilesOption = flagOption [] "include-dotfiles" "don't skip dotfiles"
{- Add acts on both files not checked into git yet, and unlocked files.
-
- In direct mode, it acts on any files that have changed. -}
seek :: CommandSeek
seek :: CmdParams -> CommandSeek
seek ps = do
matcher <- largeFilesMatcher
let go a = flip a ps $ \file -> ifM (checkFileMatcher matcher file <||> Annex.getState Annex.force)