Skip to content

Commit

Permalink
fix hash display (colon and endline)
Browse files Browse the repository at this point in the history
  • Loading branch information
olivierverdier committed Feb 3, 2015
1 parent ac74acf commit 2986fec
Showing 1 changed file with 6 additions and 13 deletions.
19 changes: 6 additions & 13 deletions src/Main.hs
Original file line number Diff line number Diff line change
Expand Up @@ -34,13 +34,6 @@ showBranchNumbers distance = show <$> [ahead, behind]
(ahead, behind) = fromMaybe (0,0) -- the script needs some value, (0,0) means no display
$ pairFromDistance <$> distance

makeHashWith :: Char -- prefix to hashes
-> Maybe Hash
-> String
makeHashWith _ Nothing = "" -- some error in gitrevparse
makeHashWith _ (Just (MkHash "")) = "" -- hash too short
makeHashWith c (Just (MkHash hash)) = c : init hash

{- Git commands -}

successOrNothing :: (ExitCode, a, b) -> Maybe a
Expand All @@ -56,19 +49,19 @@ gitstatus = safeRun "git" ["status", "--porcelain", "--branch"]
gitrevparse :: IO (Maybe Hash)
gitrevparse = do
result <- safeRun "git" ["rev-parse", "--short", "HEAD"]
return $ MkHash <$> result
return $ MkHash . init <$> result

{- Combine status info, branch info and hash -}

branchOrHash :: Maybe Hash -> Maybe Branch -> String
branchOrHash _ (Just branch) = show branch
branchOrHash (Just hash) Nothing = getHash hash
branchOrHash Nothing _ = ""
branchOrHashWith :: Char -> Maybe Hash -> Maybe Branch -> String
branchOrHashWith _ _ (Just branch) = show branch
branchOrHashWith c (Just hash) Nothing = c : getHash hash
branchOrHashWith _ Nothing _ = ""

allStrings :: Maybe Hash
-> (BranchInfo, Status Int)
-> [String]
allStrings mhash (MkBranchInfo branch _ behead, stat) = branchOrHash mhash branch : (showBranchNumbers behead ++ showStatusNumbers stat)
allStrings mhash (MkBranchInfo branch _ behead, stat) = branchOrHashWith ':' mhash branch : (showBranchNumbers behead ++ showStatusNumbers stat)

stringsFromStatus :: Maybe Hash
-> String -- status
Expand Down

0 comments on commit 2986fec

Please sign in to comment.