module HMGit.Commands (
Cmd (..)
) where
import HMGit.Commands.Plumbing.CatFile.Core (CatFile)
import HMGit.Commands.Plumbing.HashObject.Core (HashObject)
import HMGit.Commands.Plumbing.LsFiles.Core (LsFiles, LsFilesCfg)
import HMGit.Commands.Porcelain.Add.Core (Add, AddCfg)
import HMGit.Commands.Porcelain.Commit.Core (Commit, CommitCfg)
import HMGit.Commands.Porcelain.Diff.Core (Diff, DiffCfg)
import HMGit.Commands.Porcelain.Init.Core (Init, RepositoryName)
import HMGit.Commands.Porcelain.Status.Core (Status, StatusCfg)
import HMGit.Internal.Parser (ObjectType (..))
data Cmd m = CmdInit (String -> Init m) RepositoryName
| CmdAdd (Add m) AddCfg
| CmdCatFile (CatFile m) String
| CmdHashObject ObjectType (HashObject m) FilePath
| CmdLsFiles (LsFiles m) LsFilesCfg
| CmdStatus (Status m) StatusCfg
| CmdDiff (Diff m) DiffCfg
| CmdCommit (Commit m) CommitCfg