packages feed

yasi 0.2.0.1 → 0.2.0.2

raw patch · 7 files changed

+80/−53 lines, 7 filesdep +text-builder-lineardep ~basedep ~text-displayPVP ok

version bump matches the API change (PVP)

Dependencies added: text-builder-linear

Dependency ranges changed: base, text-display

API changes (from Hackage documentation)

Files

CHANGELOG.md view
@@ -1,5 +1,10 @@ # Revision history for yasi +## 0.2.0.2 -- 2024-01-05++ * Update to `text-display-1.0`+ * Drop support for GHC `<9.2`+ ## 0.2.0.1 -- 2022-03-13   * Update `text-display`, which makes an internal hack unnecessary
src/Yasi.hs view
@@ -18,16 +18,17 @@ where  import Data.String (IsString (..))-import qualified Data.Text as T-import qualified Data.Text.Lazy as TL-import qualified Language.Haskell.TH.Quote as TH-import qualified Language.Haskell.TH.Syntax as TH+import Data.Text qualified as T+import Data.Text.Lazy qualified as TL+import Language.Haskell.TH.Quote qualified as TH+import Language.Haskell.TH.Syntax qualified as TH import Yasi.Internal  -- $setup -- >>> import Yasi -- >>> import Data.Text (Text) -- >>> import qualified Data.Text.Lazy+-- >>> import Data.String (IsString)  int :: (TH.Exp -> TH.Exp) -> TH.QuasiQuoter int = interpolator '$'@@ -59,7 +60,7 @@ -- @['iFS'|...|] = 'fromString' ['i'|...|]@ -- -- >>> :t [iFS|hi|]--- [iFS|hi|] :: Data.String.IsString a => a+-- [iFS|hi|] :: IsString a => a iFS :: TH.QuasiQuoter iFS = int $ TH.AppE (TH.VarE 'fromString) 
src/Yasi/Internal.hs view
@@ -9,16 +9,17 @@ where  import Control.Monad ((>=>))-import qualified Data.Char as C-import qualified Data.Text as T-import qualified Data.Text.Display as TD-import qualified Data.Text.Lazy as TL-import qualified Data.Text.Lazy.Builder as TLB+import Data.Char qualified as C+import Data.List (foldl')+import Data.Text qualified as T+import Data.Text.Builder.Linear qualified as TBL+import Data.Text.Display qualified as TD+import Data.Text.Lazy qualified as TL import GHC.Generics (Generic)-import qualified Language.Haskell.Meta.Parse as GhcHsMeta-import qualified Language.Haskell.TH.Lib as TH-import qualified Language.Haskell.TH.Quote as TH-import qualified Language.Haskell.TH.Syntax as TH+import Language.Haskell.Meta.Parse qualified as GhcHsMeta+import Language.Haskell.TH.Lib qualified as TH+import Language.Haskell.TH.Quote qualified as TH+import Language.Haskell.TH.Syntax qualified as TH  data Segment   = Lit String@@ -26,7 +27,7 @@   | Abs -- idea due to interpolate   deriving (Show, Eq, Generic) -parseSegments :: MonadFail m => Char -> String -> m [Segment]+parseSegments :: (MonadFail m) => Char -> String -> m [Segment] parseSegments c = fmap (group []) . go   where     -- ugly, but simple enough™@@ -61,7 +62,7 @@     . lams     . transform     . TH.AppE (TH.VarE 'stringish)-    . foldr (flip TH.UInfixE (TH.VarE '(<>))) (TH.VarE 'mempty)+    . foldl' (\a b -> TH.InfixE (Just a) (TH.VarE '(<>)) (Just b)) (TH.VarE 'mempty)     $ ls   where     go = \case@@ -99,13 +100,13 @@     quoteDec = const $ fail "declaration context not supported"  class Stringish a where-  stringish :: TLB.Builder -> a+  stringish :: TBL.Builder -> a  instance Stringish String where-  stringish = TL.unpack . TLB.toLazyText+  stringish = T.unpack . TBL.runBuilder  instance Stringish T.Text where-  stringish = TL.toStrict . TLB.toLazyText+  stringish = TBL.runBuilder  instance Stringish TL.Text where-  stringish = TLB.toLazyText+  stringish = TL.fromStrict . TBL.runBuilder
src/Yasi/Util.hs view
@@ -4,9 +4,9 @@   ) where -import qualified Data.Char as C+import Data.Char qualified as C import Data.List (dropWhileEnd)-import qualified Data.Text as T+import Data.Text qualified as T  -- $setup -- >>> import Yasi
test/Interpolations.hs view
@@ -1,12 +1,12 @@ module Interpolations where  import Control.Applicative (Const (..))-import qualified Data.Text as T+import Data.Text qualified as T import Data.Text.Display (display)-import qualified Data.Text.Lazy as TL+import Data.Text.Lazy qualified as TL import Hedgehog-import qualified Hedgehog.Gen as Gen-import qualified Hedgehog.Range as Range+import Hedgehog.Gen qualified as Gen+import Hedgehog.Range qualified as Range import Test.Tasty import Test.Tasty.HUnit import Test.Tasty.Hedgehog
test/Util.hs view
@@ -1,9 +1,9 @@ module Util where -import qualified Data.Text as T+import Data.Text qualified as T import Hedgehog-import qualified Hedgehog.Gen as Gen-import qualified Hedgehog.Range as Range+import Hedgehog.Gen qualified as Gen+import Hedgehog.Range qualified as Range import Test.Tasty import Test.Tasty.HUnit import Test.Tasty.Hedgehog
yasi.cabal view
@@ -1,13 +1,12 @@ cabal-version: 2.4 name: yasi-version: 0.2.0.1-+version: 0.2.0.2 synopsis: Yet another string interpolator description:   Yet another string interpolator,   with a different set of tradeoffs-category: String, Text, QuasiQuotes +category: String, Text, QuasiQuotes homepage: https://github.com/amesgen/yasi bug-reports: https://github.com/amesgen/yasi/issues license: CC0-1.0@@ -22,10 +21,23 @@   type: git  common commons-  default-language: Haskell2010-  ghc-options: -Wall -Wincomplete-record-updates -Wincomplete-uni-patterns -Wredundant-constraints -fno-warn-name-shadowing -Wunused-packages-  default-extensions: BlockArguments DeriveGeneric FlexibleContexts FlexibleInstances LambdaCase MultiParamTypeClasses OverloadedStrings QuasiQuotes RecordWildCards ScopedTypeVariables TemplateHaskell TupleSections+  default-language: GHC2021+  ghc-options:+    -Wall+    -Wincomplete-record-updates+    -Wincomplete-uni-patterns+    -Wredundant-constraints+    -fno-warn-name-shadowing+    -Wunused-packages +  default-extensions:+    BlockArguments+    LambdaCase+    OverloadedStrings+    QuasiQuotes+    RecordWildCards+    TemplateHaskell+ library   import: commons   ghc-options: -Wmissing-export-lists@@ -34,31 +46,39 @@     Yasi     Yasi.Internal     Yasi.Util+   build-depends:-      base >= 4.14 && < 5-    , template-haskell >= 2.16 && < 2.19-    , text >= 1.2 && < 2.1-    , text-display ^>= 0.0.2-    , ghc-hs-meta ^>= 0.1+    base >=4.16 && <5,+    ghc-hs-meta ^>=0.1,+    template-haskell >=2.16 && <2.24,+    text >=1.2 && <2.2,+    text-builder-linear ^>=0.1,+    text-display ^>=1,  test-suite tasty   import: commons   type: exitcode-stdio-1.0   main-is: Driver.hs   hs-source-dirs: test-  ghc-options: -threaded -rtsopts -with-rtsopts=-N+  ghc-options:+    -threaded+    -rtsopts+    -with-rtsopts=-N+   build-tool-depends:-      tasty-discover:tasty-discover ^>= 4.2+    tasty-discover:tasty-discover ^>=4.2+   build-depends:-      base-    , yasi-    , text-    , text-display-    , tasty >= 1.3 && < 1.5-    , tasty-hunit ^>= 0.10-    , tasty-hedgehog >= 1.0 && < 1.3-    , hedgehog >= 1.0 && < 1.2+    base,+    hedgehog >=1.0 && <1.6,+    tasty >=1.3 && <1.6,+    tasty-hedgehog >=1.0 && <1.5,+    tasty-hunit ^>=0.10,+    text,+    text-display,+    yasi,+   other-modules:-      Segments-      Interpolations-      Util+    Interpolations+    Segments+    Util