Skip to content

Commit 7d480a9

Browse files
new GitInfo type
1 parent df509a3 commit 7d480a9

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

src/Utils.hs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ import StatusParse (Status(MakeStatus), processStatus)
99

1010
newtype Hash = MkHash {getHash :: String}
1111

12+
data GitInfo = MkGitInfo MBranchInfo (Status Int)
13+
1214
{- Combining branch and status parsing -}
1315

1416
rightOrNothing :: Either a b -> Maybe b
@@ -17,9 +19,9 @@ rightOrNothing = either (const Nothing) Just
1719
processBranch :: String -> Maybe MBranchInfo
1820
processBranch = rightOrNothing . branchInfo
1921

20-
processGitStatus :: [String] -> Maybe (MBranchInfo, Status Int)
22+
processGitStatus :: [String] -> Maybe GitInfo
2123
processGitStatus [] = Nothing
22-
processGitStatus (branchLine:statusLines) = (,) <$> processBranch branchLine <*> processStatus statusLines
24+
processGitStatus (branchLine:statusLines) = MkGitInfo <$> processBranch branchLine <*> processStatus statusLines
2325

2426
showStatusNumbers :: Status Int -> [String]
2527
showStatusNumbers (MakeStatus s x c t) = show <$> [s, x, c, t]
@@ -42,9 +44,9 @@ branchOrHashWith c (Just hash) Nothing = showBranchInfo $ MkBranchInfo (MkBranch
4244
branchOrHashWith _ Nothing _ = showBranchInfo $ MkBranchInfo (MkBranch "") Nothing
4345

4446
allStrings :: Maybe Hash
45-
-> (MBranchInfo, Status Int)
47+
-> GitInfo
4648
-> [String]
47-
allStrings mhash (bi, stat) = branchOrHashWith ':' mhash bi ++ showStatusNumbers stat
49+
allStrings mhash (MkGitInfo bi stat) = branchOrHashWith ':' mhash bi ++ showStatusNumbers stat
4850

4951
stringsFromStatus :: Maybe Hash
5052
-> String -- status

0 commit comments

Comments
 (0)