shake-ext 2.10.0.0 → 2.11.0.0
raw patch · 2 files changed
+21/−4 lines, 2 filesdep +cpphsPVP ok
version bump matches the API change (PVP)
Dependencies added: cpphs
API changes (from Hackage documentation)
+ Development.Shake.Literate: literateAgda :: Rules ()
+ Development.Shake.Literate: unlitA :: FilePath -> FilePath -> Action ()
Files
- shake-ext.cabal +4/−3
- src/Development/Shake/Literate.hs +17/−1
shake-ext.cabal view
@@ -1,6 +1,6 @@ cabal-version: 1.18 name: shake-ext-version: 2.10.0.0+version: 2.11.0.0 license: BSD3 license-file: LICENSE copyright: Copyright: (c) 2018 Vanessa McHale@@ -44,10 +44,11 @@ ghc-options: -Wall build-depends: base >=4.11 && <5,- shake -any,+ Cabal >=2.2, composition-prelude -any,+ cpphs -any, directory -any,- Cabal >=2.2,+ shake -any, template-haskell -any if flag(development)
src/Development/Shake/Literate.hs view
@@ -3,16 +3,21 @@ -- programs. module Development.Shake.Literate ( -- * Action illiterateA+ , unlitA -- * Rules , literateHaskell , literateIdris , literateAlex , literateHappy+ , literateAgda ) where import Development.Shake import Development.Shake.FilePath+import Language.Preprocessor.Unlit +-- | This uses the [illiterate](https://github.com/vmchale/illiterate)+-- preprocessor. illiterateA :: FilePath -- ^ Literate source file -> FilePath -- ^ Generated source -> Action ()@@ -20,16 +25,27 @@ (Stdout o) <- cmd ["lit", inF] liftIO $ writeFile outF o +-- | This uses the 'unlit' function provided by the @cpphs@ package.+unlitA :: FilePath -- ^ Literate source file+ -> FilePath -- ^ Generated source+ -> Action ()+unlitA inF outF = liftIO (g =<< readFile inF)+ where g = writeFile outF . unlit inF+ literateRules :: String -- ^ File extension -> Rules () literateRules ext = pat %> g where pat = "//*." <> ('l' : ext) g out = let new = fst (splitExtension out) <> ('.' : ext)- in illiterateA out new+ in unlitA out new -- | Rules for building @.lhs@ files. literateHaskell :: Rules () literateHaskell = literateRules "hs"++-- | Rules for building @.lagda@ files.+literateAgda :: Rules ()+literateAgda = literateRules "agda" -- | Rules for building @.lidr@ files. literateIdris :: Rules ()