qm-interpolated-string 0.2.0.0 → 0.2.1.0
raw patch · 4 files changed
+17/−9 lines, 4 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Text.InterpolatedString.QM.Internal.Parsers: qm :: String -> ExpQ
- Text.InterpolatedString.QM.Internal.Parsers: qmb :: String -> ExpQ
- Text.InterpolatedString.QM.Internal.Parsers: qms :: String -> ExpQ
- Text.InterpolatedString.QM.Internal.Parsers: qn :: String -> ExpQ
- Text.InterpolatedString.QM.Internal.Parsers: qnb :: String -> ExpQ
- Text.InterpolatedString.QM.Internal.Parsers: qns :: String -> ExpQ
- Text.InterpolatedString.QM.Internal.Parsers.Helpers: clearFirstQXXLineBreak :: String -> String
- Text.InterpolatedString.QM.Internal.Parsers.Helpers: clearIndentAtSOF :: String -> Maybe String
- Text.InterpolatedString.QM.Internal.Parsers.Helpers: clearIndentAtStart :: String -> String
- Text.InterpolatedString.QM.Internal.Parsers.Helpers: clearIndentTillEOF :: String -> Maybe String
- Text.InterpolatedString.QM.Internal.Parsers.Helpers: clearLastQXXLineBreak :: String -> Bool
- Text.InterpolatedString.QM.Internal.Parsers.Helpers: instance (Text.InterpolatedString.QM.ShowQ.Class.ShowQ a, Data.String.IsString s) => Text.InterpolatedString.QM.Internal.Parsers.Helpers.QQ a s
- Text.InterpolatedString.QM.Internal.Parsers.Helpers: instance Data.String.IsString s => Text.InterpolatedString.QM.Internal.Parsers.Helpers.QQ s s
- Text.InterpolatedString.QM.Internal.Parsers.Helpers: makeExpr :: [StringPart] -> ExpQ
- Text.InterpolatedString.QM.Internal.Parsers.Helpers: unQX :: Parser -> Parser
- Text.InterpolatedString.QM.Internal.Parsers.TH: instance GHC.Classes.Eq Text.InterpolatedString.QM.Internal.Parsers.TH.Decl
- Text.InterpolatedString.QM.Internal.Parsers.TH: instance GHC.Show.Show Text.InterpolatedString.QM.Internal.Parsers.TH.Decl
- Text.InterpolatedString.QM.Internal.Parsers.TH: parserTpl :: String -> Bool -> LineBreaks -> DecsQ
- Text.InterpolatedString.QM.Internal.Parsers.Types: AntiQuote :: String -> StringPart
- Text.InterpolatedString.QM.Internal.Parsers.Types: IgnoreLineBreaks :: LineBreaks
- Text.InterpolatedString.QM.Internal.Parsers.Types: KeepLineBreaks :: LineBreaks
- Text.InterpolatedString.QM.Internal.Parsers.Types: Literal :: String -> StringPart
- Text.InterpolatedString.QM.Internal.Parsers.Types: ReplaceLineBreaksWithSpaces :: LineBreaks
- Text.InterpolatedString.QM.Internal.Parsers.Types: data LineBreaks
- Text.InterpolatedString.QM.Internal.Parsers.Types: data StringPart
- Text.InterpolatedString.QM.Internal.Parsers.Types: instance GHC.Classes.Eq Text.InterpolatedString.QM.Internal.Parsers.Types.LineBreaks
- Text.InterpolatedString.QM.Internal.Parsers.Types: instance GHC.Show.Show Text.InterpolatedString.QM.Internal.Parsers.Types.LineBreaks
- Text.InterpolatedString.QM.Internal.Parsers.Types: instance GHC.Show.Show Text.InterpolatedString.QM.Internal.Parsers.Types.StringPart
- Text.InterpolatedString.QM.Internal.Parsers.Types: type Parser = String -> String -> [StringPart]
Files
- CHANGELOG.md +5/−0
- qm-interpolated-string.cabal +5/−4
- src/Text/InterpolatedString/QM/Internal/Parsers/Helpers.hs +5/−2
- src/Text/InterpolatedString/QM/Internal/Parsers/TH.hs +2/−3
CHANGELOG.md view
@@ -1,3 +1,8 @@+## <a name="v0.2.1.0"></a>0.2.1.0++* Support GHC 7.4.1+* Internal modules moved to `other-modules` section+ ## <a name="v0.2.0.0"></a>0.2.0.0 * Added tab (`\t`) symbol escaping
qm-interpolated-string.cabal view
@@ -1,5 +1,5 @@ name: qm-interpolated-string-version: 0.2.0.0+version: 0.2.1.0 synopsis: Implementation of interpolated multiline strings description: Implementation of interpolated multiline strings that ignores indentation and trailing whitespaces@@ -13,7 +13,8 @@ build-type: Simple extra-source-files: README.md CHANGELOG.md cabal-version: >=1.8-tested-with: GHC == 7.6.3+tested-with: GHC == 7.4.1+ , GHC == 7.6.3 , GHC == 7.8.4 , GHC == 7.10.1 , GHC == 7.10.2@@ -27,11 +28,11 @@ ghc-options: -Wall hs-source-dirs: src exposed-modules: Text.InterpolatedString.QM- , Text.InterpolatedString.QM.Internal.Parsers+ , Text.InterpolatedString.QM.ShowQ.Class+ other-modules: Text.InterpolatedString.QM.Internal.Parsers , Text.InterpolatedString.QM.Internal.Parsers.TH , Text.InterpolatedString.QM.Internal.Parsers.Types , Text.InterpolatedString.QM.Internal.Parsers.Helpers- , Text.InterpolatedString.QM.ShowQ.Class build-depends: base ==4.* , template-haskell >=2.5 && <3 , haskell-src-meta >=0.3 && <0.9
src/Text/InterpolatedString/QM/Internal/Parsers/Helpers.hs view
@@ -25,8 +25,7 @@ import "haskell-src-meta" Language.Haskell.Meta.Parse (parseExp) import qualified "template-haskell" Language.Haskell.TH as TH -#if MIN_VERSION_base(4,8,0)-#else+#if !MIN_VERSION_base(4,8,0) import "base" Data.Monoid (mempty, mappend) #endif @@ -116,5 +115,9 @@ TH.appE [| mappend (toQQ $(reify a)) |] $ makeExpr xs where reify :: String -> TH.Q TH.Exp reify s = case parseExp s of+#if MIN_VERSION_template_haskell(2,8,0) Left e -> TH.reportError e >> [| mempty |]+#else+ Left e -> TH.report True e >> [| mempty |]+#endif Right e -> return e
src/Text/InterpolatedString/QM/Internal/Parsers/TH.hs view
@@ -4,7 +4,6 @@ {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE PackageImports #-} {-# LANGUAGE ViewPatterns #-}-{-# LANGUAGE LambdaCase #-} module Text.InterpolatedString.QM.Internal.Parsers.TH (parserTpl) where @@ -64,8 +63,8 @@ decls = map (uncurry f) $- map (\case C (_, x, y) -> (x, y) ; D x -> x ) $- filter (\case C (x, _, _) -> x ; D _ -> True)+ map (\x -> case x of C (_, y, z) -> (y, z) ; D y -> y ) $+ filter (\x -> case x of C (y, _, _) -> y ; D _ -> True) [ D ( ListP [] , ListE [apps [conE "Literal", apps [varE "reverse", aE]]]