exon 1.0.0.0 → 1.0.0.1
raw patch · 2 files changed
+14/−23 lines, 2 filesdep +ghc-hs-metadep −haskell-src-extsdep −haskell-src-metadep ~generics-sopdep ~type-errors-prettyPVP ok
version bump matches the API change (PVP)
Dependencies added: ghc-hs-meta
Dependencies removed: haskell-src-exts, haskell-src-meta
Dependency ranges changed: generics-sop, type-errors-pretty
API changes (from Hackage documentation)
Files
- exon.cabal +7/−8
- lib/Exon/Quote.hs +7/−15
exon.cabal view
@@ -5,12 +5,12 @@ -- see: https://github.com/sol/hpack name: exon-version: 1.0.0.0+version: 1.0.0.1 synopsis: Customizable Quasiquote Interpolation description: See https://hackage.haskell.org/package/exon/docs/Exon.html category: String-homepage: https://github.com/tek/exon#readme-bug-reports: https://github.com/tek/exon/issues+homepage: https://git.tryp.io/tek/exon+bug-reports: https://git.tryp.io/tek/exon/issues author: Torsten Schmits maintainer: hackage@tryp.io copyright: 2022 Torsten Schmits@@ -20,7 +20,7 @@ source-repository head type: git- location: https://github.com/tek/exon+ location: https://git.tryp.io/tek/exon library exposed-modules:@@ -103,12 +103,11 @@ build-depends: base >=4.12 && <5 , flatparse >=0.3.5.1- , generics-sop- , haskell-src-exts <1.24- , haskell-src-meta <0.9+ , generics-sop >=0.5.1.1+ , ghc-hs-meta >=0.1 , incipit-base >=0.2 , template-haskell- , type-errors-pretty+ , type-errors-pretty >=0.0.1.1 mixins: base hiding (Prelude) , incipit-base (IncipitBase as Prelude)
lib/Exon/Quote.hs view
@@ -3,15 +3,7 @@ -- |Description: Internal module Exon.Quote where -import Language.Haskell.Exts (- Extension,- ParseMode (extensions),- ParseResult (ParseFailed, ParseOk),- defaultParseMode,- parseExpWithMode,- parseExtension,- )-import Language.Haskell.Meta (toExp)+import Language.Haskell.Meta.Parse (parseExpWithExts) import qualified Language.Haskell.TH as TH import Language.Haskell.TH (Exp (AppE, InfixE, ListE), Q, extsEnabled, runQ) import Language.Haskell.TH.Quote (QuasiQuoter (QuasiQuoter))@@ -37,7 +29,7 @@ String -> m (NonEmpty RawSegment) segmentsQ _ "" =- exonError ("empty interpolation" :: String)+ exonError ("empty quasiquote" :: String) segmentsQ whitespace s = (if whitespace then parseWs else parse) s & fmap nonEmpty & \case Right (Just segs) -> pure segs@@ -45,7 +37,7 @@ Left err -> exonError err class Quasi m => QOrIO (m :: Type -> Type) where- fileExtensions :: m [Extension]+ fileExtensions :: m [TH.Extension] instance QOrIO IO where fileExtensions =@@ -53,7 +45,7 @@ instance QOrIO Q where fileExtensions =- fmap (fmap (parseExtension . show)) extsEnabled+ extsEnabled reifyExp :: QOrIO m =>@@ -61,9 +53,9 @@ m Exp reifyExp s = do exts <- fileExtensions- case parseExpWithMode defaultParseMode { extensions = exts } s of- ParseFailed _ err -> exonError err- ParseOk e -> pure (toExp e)+ case parseExpWithExts exts s of+ Left (_, _, err) -> exonError err+ Right e -> pure e reifySegments :: QOrIO m =>