ghc-tags-pipes 0.1.0.0 → 0.1.1.0
raw patch · 4 files changed
+24/−8 lines, 4 filesdep −filepath-bytestringdep ~basedep ~pipes-attoparsecdep ~textPVP ok
version bump matches the API change (PVP)
Dependencies removed: filepath-bytestring
Dependency ranges changed: base, pipes-attoparsec, text
API changes (from Hackage documentation)
Files
- CHANGELOG.md +4/−0
- README.md +8/−0
- ghc-tags-pipes.cabal +4/−5
- lib/GhcTags/Stream.hs +8/−3
CHANGELOG.md view
@@ -1,5 +1,9 @@ # Revision history for ghc-tags-pipes +## 0.1.1.0 -- 2023-05-01++* `GHC-9.6` support.+ ## 0.1.0.0 -- YYYY-mm-dd * First version. Released on an unsuspecting world.
+ README.md view
@@ -0,0 +1,8 @@+ghc-tags-pipes+==============++++[](https://github.com/coot/ghc-tags-plugin/actions/workflows/ci.yml)++Using `pipes` to stream tags to parse them with `ghc-tags-core`.
ghc-tags-pipes.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.0 name: ghc-tags-pipes-version: 0.1.0.0+version: 0.1.1.0 synopsis: Streaming interface for ghc-tags-core description: Interface to stream tags using `pipes` library. homepage: https://github.com/coot/ghc-tags-plugin#readme@@ -13,6 +13,7 @@ category: Development build-type: Simple extra-doc-files: CHANGELOG.md+ README.md common warnings ghc-options: -Wall@@ -33,14 +34,12 @@ hs-source-dirs: lib exposed-modules: GhcTags.Stream build-depends: attoparsec >=0.13.0.0,- base >=4.12.0.0 && <4.18,+ base >=4.12.0.0 && <4.19, bytestring >=0.10,- filepath-bytestring ^>=1.4, mtl, pipes ^>=4.3,- pipes-attoparsec ^>=0.5,+ pipes-attoparsec ^>=0.6, pipes-bytestring ^>=2.1, text >=1.2 && <2.1, ghc-tags-core- default-language: Haskell2010
lib/GhcTags/Stream.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE FlexibleContexts #-}@@ -13,16 +14,19 @@ , runCombineTagsPipe ) where +#if __GLASGOW_HASKELL__ >= 906 import Control.Monad.State.Strict+#else+import Control.Monad.State.Strict hiding (void)+#endif import Data.ByteString (ByteString) import Data.Attoparsec.ByteString (Parser) import qualified Data.ByteString as BS import Data.ByteString.Builder (Builder) import qualified Data.ByteString.Builder as BS-import Data.Functor (($>))+import Data.Functor (void, ($>)) import qualified Data.Text.Encoding as Text import System.IO-import System.FilePath.ByteString (RawFilePath) import Pipes ((>->), (~>)) import qualified Pipes as Pipes@@ -61,6 +65,7 @@ -> Pipes.Producer (Tag tk) m [Tag tk] combineTagsPipe compareFn modPath = go where+ modPath' = rawFilePathToBS modPath go :: Tag tk -> [Tag tk] -> Pipes.Producer (Tag tk) m [Tag tk] @@ -69,7 +74,7 @@ -- note: we check that 'tagFilePath' ends with 'modPath', which is -- a relative path from the corresponding cabal file. go tag as- | modPath `BS.isSuffixOf` Text.encodeUtf8 (getRawFilePath (tagFilePath tag))+ | modPath' `BS.isSuffixOf` Text.encodeUtf8 (getRawFilePath (tagFilePath tag)) = pure as go tag as@(a : as')