@@ -9,6 +9,8 @@ import StatusParse (Status(MakeStatus), processStatus)
9
9
10
10
newtype Hash = MkHash { getHash :: String }
11
11
12
+ data GitInfo = MkGitInfo MBranchInfo (Status Int )
13
+
12
14
{- Combining branch and status parsing -}
13
15
14
16
rightOrNothing :: Either a b -> Maybe b
@@ -17,9 +19,9 @@ rightOrNothing = either (const Nothing) Just
17
19
processBranch :: String -> Maybe MBranchInfo
18
20
processBranch = rightOrNothing . branchInfo
19
21
20
- processGitStatus :: [String ] -> Maybe ( MBranchInfo , Status Int )
22
+ processGitStatus :: [String ] -> Maybe GitInfo
21
23
processGitStatus [] = Nothing
22
- processGitStatus (branchLine: statusLines) = (,) <$> processBranch branchLine <*> processStatus statusLines
24
+ processGitStatus (branchLine: statusLines) = MkGitInfo <$> processBranch branchLine <*> processStatus statusLines
23
25
24
26
showStatusNumbers :: Status Int -> [String ]
25
27
showStatusNumbers (MakeStatus s x c t) = show <$> [s, x, c, t]
@@ -42,9 +44,9 @@ branchOrHashWith c (Just hash) Nothing = showBranchInfo $ MkBranchInfo (MkBranch
42
44
branchOrHashWith _ Nothing _ = showBranchInfo $ MkBranchInfo (MkBranch " " ) Nothing
43
45
44
46
allStrings :: Maybe Hash
45
- -> ( MBranchInfo , Status Int )
47
+ -> GitInfo
46
48
-> [String ]
47
- allStrings mhash (bi, stat) = branchOrHashWith ' :' mhash bi ++ showStatusNumbers stat
49
+ allStrings mhash (MkGitInfo bi stat) = branchOrHashWith ' :' mhash bi ++ showStatusNumbers stat
48
50
49
51
stringsFromStatus :: Maybe Hash
50
52
-> String -- status
0 commit comments