summaryrefslogtreecommitdiff
path: root/source/Felix/Version.hs
diff options
context:
space:
mode:
Diffstat (limited to 'source/Felix/Version.hs')
-rw-r--r--source/Felix/Version.hs22
1 files changed, 22 insertions, 0 deletions
diff --git a/source/Felix/Version.hs b/source/Felix/Version.hs
new file mode 100644
index 0000000..c9c6829
--- /dev/null
+++ b/source/Felix/Version.hs
@@ -0,0 +1,22 @@
+{-# LANGUAGE NoImplicitPrelude #-}
+
+
+module Felix.Version (info, infoBuilder) where
+
+import Data.Functor
+import Data.Semigroup
+import Data.Text (Text)
+import Data.Version
+import Paths_felix qualified as Felix
+import TextBuilder
+
+
+-- | Informational text about the version number (extracted from the cabal file).
+info :: Text
+info = toText infoBuilder
+
+infoBuilder :: TextBuilder
+infoBuilder = text "Version " <> versionToBuilder Felix.version
+
+versionToBuilder :: Version -> TextBuilder
+versionToBuilder ver = intercalate (char '.') (decimal <$> versionBranch ver)