diagrams-haddock 0.4.0.3 → 0.4.1
raw patch · 3 files changed
+31/−28 lines, 3 filesdep +unliftiodep −cautious-filedep ~Cabaldep ~QuickCheckdep ~ansi-terminalPVP ok
version bump matches the API change (PVP)
Dependencies added: unliftio
Dependencies removed: cautious-file
Dependency ranges changed: Cabal, QuickCheck, ansi-terminal, base, base64-bytestring, bytestring, haskell-src-exts, lens, linear, strict, tasty
API changes (from Hackage documentation)
Files
- CHANGES.md +7/−0
- diagrams-haddock.cabal +16/−16
- src/Diagrams/Haddock.hs +8/−12
CHANGES.md view
@@ -1,3 +1,10 @@+## [v0.4.1](https://github.com/diagrams/diagrams-haddock/tree/v0.4.1) (2021-08-12)++- Allow `base-4.15`, `bytestring-0.11`, `strict-0.4`, `lens-5.0`,+ `base64-bytestring-1.2`, `ansi-terminal-0.11`, `Cabal-3.4`,+ `QuickCheck-2.14`, `tasty-1.4`+- Switch from `cautious-file` to `unliftio` package for safe file writing.+ ## [v0.4.0.3](https://github.com/diagrams/diagrams-haddock/tree/v0.4.0.3) (2019-02-09) More upper bound updates:
diagrams-haddock.cabal view
@@ -1,5 +1,5 @@ name: diagrams-haddock-version: 0.4.0.3+version: 0.4.1 synopsis: Preprocessor for embedding diagrams in Haddock documentation description: diagrams-haddock is a tool for compiling embedded inline diagrams code in Haddock documentation, for an@@ -26,7 +26,7 @@ cabal-version: 1.18 extra-source-files: README.md, CHANGES.md, diagrams/*.svg extra-doc-files: diagrams/*.svg-tested-with: GHC == 7.10.2, GHC == 8.0.1+tested-with: GHC ==8.4.4 || ==8.6.5 || ==8.8.4 || ==8.10.4 || ==9.0.1 Source-repository head type: git@@ -35,28 +35,28 @@ library exposed-modules: Diagrams.Haddock other-modules: Paths_diagrams_haddock- build-depends: base >= 4.4 && < 4.13,+ build-depends: base >= 4.4 && < 4.16, filepath, directory, mtl >= 2.0 && < 2.3, containers >= 0.4 && < 0.7, split >= 0.2 && < 0.3,- bytestring >= 0.9 && < 0.11,- strict >= 0.3 && < 0.4,+ bytestring >= 0.9 && < 0.12,+ strict >= 0.3 && < 0.5, parsec >= 3,- haskell-src-exts >= 1.18 && < 1.21,+ haskell-src-exts >= 1.18 && < 1.24, svg-builder >= 0.1 && < 0.2, diagrams-builder >= 0.5 && < 0.9, diagrams-lib >= 1.4 && < 1.5, diagrams-svg >= 1.4 && < 1.5,- lens >= 3.8 && < 4.18,- linear >= 1.10 && < 1.21,+ lens >= 3.8 && < 5.1,+ linear >= 1.10 && < 1.22, cpphs >= 1.15,- cautious-file >= 1.0 && < 1.1,+ unliftio >= 0.2.12 && < 0.3, uniplate >= 1.6 && < 1.7, text >= 0.11 && < 1.3,- base64-bytestring >= 1 && < 1.1,- ansi-terminal >= 0.5 && < 0.9+ base64-bytestring >= 1 && < 1.3,+ ansi-terminal >= 0.5 && < 0.12 hs-source-dirs: src other-extensions: TemplateHaskell default-language: Haskell2010@@ -69,7 +69,7 @@ filepath, diagrams-haddock, cmdargs >= 0.8 && < 0.11,- Cabal >= 1.14 && < 2.5,+ Cabal >= 1.14 && < 3.5, cpphs >= 1.15 hs-source-dirs: tools default-language: Haskell2010@@ -79,12 +79,12 @@ main-is: Tests.hs build-depends: base, containers >= 0.4 && < 0.7,- QuickCheck >= 2.4 && < 2.13,- tasty >= 0.8 && < 1.3,+ QuickCheck >= 2.4 && < 2.15,+ tasty >= 0.8 && < 1.5, tasty-quickcheck >= 0.8 && < 0.11, parsec >= 3,- lens >= 3.8 && < 4.18,- haskell-src-exts >= 1.18 && < 1.21,+ lens >= 3.8 && < 5.1,+ haskell-src-exts >= 1.18 && < 1.24, diagrams-haddock hs-source-dirs: test default-language: Haskell2010
src/Diagrams/Haddock.hs view
@@ -91,8 +91,8 @@ import qualified Data.Map as M import Data.Maybe (catMaybes, mapMaybe) import qualified Data.Set as S-import qualified Data.Text.Lazy as T-import qualified Data.Text.Lazy.Encoding as T+import qualified Data.Text as T+import qualified Data.Text.Encoding as T import qualified Graphics.Svg as G import Language.Haskell.Exts hiding (loc) import qualified Language.Haskell.Exts as HSE@@ -104,11 +104,11 @@ import System.FilePath (dropExtension, normalise, splitDirectories, (<.>), (</>)) import qualified System.IO as IO-import qualified System.IO.Cautious as Cautiously import qualified System.IO.Strict as Strict import Text.Parsec import qualified Text.Parsec as P import Text.Parsec.String+import qualified UnliftIO.IO.File as UIO import Diagrams.Backend.SVG (Options (..), SVG (..)) import qualified Diagrams.Builder as DB@@ -323,17 +323,17 @@ getBinding :: Decl l -> Maybe String getBinding (FunBind _ []) = Nothing getBinding (FunBind _ (Match _ nm _ _ _ : _)) = Just $ getName nm-getBinding (PatBind _ (PVar _ nm) _ _) = Just $ getName nm+getBinding (PatBind _ (PVar _ nm) _ _) = Just $ getName nm getBinding _ = Nothing getName :: Name l -> String-getName (HSE.Ident _ s) = s-getName (Symbol _ s) = s+getName (HSE.Ident _ s) = s+getName (Symbol _ s) = s getQName :: QName l -> Maybe String getQName (Qual _ _ n) = Just $ getName n getQName (UnQual _ n) = Just $ getName n-getQName _ = Nothing+getQName _ = Nothing -- | Collect the list of referenced identifiers in a module. collectIdents :: Module SrcSpanInfo -> S.Set String@@ -571,11 +571,7 @@ compileDiagrams quiet dataURIs cacheDir outputDir file ds cs urls let src' = displayDiagramURLs urls' - -- See https://github.com/diagrams/diagrams-haddock/issues/8:- -- Cautiously.writeFile truncates chars to 8 bits. So- -- we do the encoding to UTF-8 ourselves and then call- -- writeFileL.- when changed $ Cautiously.writeFileL file (T.encodeUtf8 . T.pack $ src')+ when changed $ UIO.writeBinaryFileDurableAtomic file (T.encodeUtf8 . T.pack $ src') return (msgs ++ msgs2) where go src | needsCPP src = runCpp src >>= return . runCE . parseCodeBlocks file