cabal-cache-1.2.0.0: app/App/Commands/Version.hs
module App.Commands.Version
( cmdVersion,
) where
import App.Commands.Options.Parser (optsVersion)
import HaskellWorks.Prelude
import Options.Applicative (Mod, CommandFields)
import qualified App.Commands.Options.Types as Z
import qualified Data.Text as T
import qualified Data.Version as V
import qualified HaskellWorks.CabalCache.IO.Console as CIO
import qualified Paths_cabal_cache as P
import qualified Options.Applicative as OA
import qualified Data.List as L
{- HLINT ignore "Redundant do" -}
{- HLINT ignore "Reduce duplication" -}
runVersion :: Z.VersionOptions -> IO ()
runVersion _ = do
let V.Version {..} = P.version
let version = L.intercalate "." $ fmap show versionBranch
CIO.putStrLn $ "cabal-cache " <> T.pack version
cmdVersion :: Mod CommandFields (IO ())
cmdVersion = OA.command "version" $ flip OA.info OA.idm $ runVersion <$> optsVersion