From 0ddfd2dd3a84a010f28d49baee808e794f89024a Mon Sep 17 00:00:00 2001 From: Eduardo Trujillo <ed@chromabits.com> Date: Fri, 25 Dec 2020 23:20:20 -0800 Subject: [PATCH] refactor(Types): Make TagRef have an otpional Versioning --- src/Shift/Git.hs | 2 +- src/Shift/Rendering.hs | 11 ++++++++--- src/Shift/Types.hs | 2 +- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/Shift/Git.hs b/src/Shift/Git.hs index 929a5e7..8f72dd7 100644 --- a/src/Shift/Git.hs +++ b/src/Shift/Git.hs @@ -49,7 +49,7 @@ import CMarkGFM (NodeType(DOCUMENT), NodeType(DOCUMENT), nodeToCommonmark, nodeT parseTag :: RefName -> Either (ParseErrorBundle Text Void) TagRef parseTag ref = case versioning . cs . refNameRaw $ ref of Left e -> Left e - Right v -> Right (TagRef ref v) + Right v -> Right (TagRef ref (Just v)) tempMain :: ShiftOptions -> IO () tempMain opts = do diff --git a/src/Shift/Rendering.hs b/src/Shift/Rendering.hs index ea1944d..710ff9d 100644 --- a/src/Shift/Rendering.hs +++ b/src/Shift/Rendering.hs @@ -10,13 +10,13 @@ import Control.Monad.IO.Class (MonadIO, liftIO) import Control.Monad.State (MonadState) import Control.Monad.Trans.Writer (WriterT (runWriterT), execWriterT, runWriter) import Control.Monad.Trans.Writer.Lazy (tell) -import Data.Git (Commit, Ref, commitAuthor) +import Data.Git (RefName(refNameRaw), RefName(refNameRaw), Commit, Ref, commitAuthor) import Data.List (sortOn) import Data.Maybe (catMaybes) import Data.Monoid ((<>)) import Data.String.Conversions (cs) import Data.Text (Text) -import qualified Data.Text as T (take) +import qualified Data.Text as T (pack, pack, take) import qualified Data.Text.IO as TIO (putStr, putStrLn) import Data.Versions (prettyV) import Shift.Types @@ -109,7 +109,12 @@ renderMergeCommit (ref, commit, MergeCommit subject) = do renderRange :: TagRef -> TagRef -> Text renderRange tx ty = mconcat - [prettyV . _tVersioning $ tx, " to ", prettyV . _tVersioning $ ty] + [renderTagRef tx, " to ", renderTagRef ty] + +renderTagRef :: TagRef -> Text +renderTagRef tr = case _tVersioning tr of + Just versioning -> prettyV versioning + Nothing -> T.pack . refNameRaw $ _tRef tr bold :: Text -> Node bold x = parentNode STRONG [textNode x] diff --git a/src/Shift/Types.hs b/src/Shift/Types.hs index 46e9252..bdbc49c 100644 --- a/src/Shift/Types.hs +++ b/src/Shift/Types.hs @@ -99,7 +99,7 @@ data ConventionalCommit = ConventionalCommit data TagRef = TagRef { _tRef :: RefName - , _tVersioning :: Versioning + , _tVersioning :: Maybe Versioning } deriving (Show, Eq) instance Ord TagRef where -- GitLab