hsdev-0.3.3.1: src/HsDev/Version.hs
{-# LANGUAGE TemplateHaskell #-}
module HsDev.Version (
cabalVersion
) where
import Data.Char
import Data.List
import Data.Maybe
import Language.Haskell.TH
cabalVersion :: ExpQ
cabalVersion = do
s <- runIO (readFile "hsdev.cabal")
let
version = listToMaybe $ map (dropWhile isSpace) $ mapMaybe (stripPrefix "version:") $ lines s
maybe (fail "Can't detect version") (\v -> [e| v |]) version