packages feed

diagrams-builder 0.4.0.6 → 0.4.1

raw patch · 6 files changed

+60/−44 lines, 6 filesdep +lensdep ~diagrams-cairodep ~diagrams-libdep ~diagrams-postscript

Dependencies added: lens

Dependency ranges changed: diagrams-cairo, diagrams-lib, diagrams-postscript, diagrams-svg

Files

CHANGES.markdown view
@@ -1,3 +1,9 @@+0.4.1 (24 November 2013)+------------------------++	- bug fix: avoid ambiguity errors when parsing unknown operators+    - update to work with diagrams-1.0+ 0.4.0.6 (2 October 2013) ------------------------ 
diagrams-builder.cabal view
@@ -1,5 +1,5 @@ name:                diagrams-builder-version:             0.4.0.6+version:             0.4.1 synopsis:            hint-based build service for the diagrams graphics EDSL.  description:         @diagrams-builder@ provides backend-agnostic tools for@@ -47,7 +47,7 @@                        Diagrams.Builder.Modules                        Diagrams.Builder.CmdLine   build-depends:       base >=4.2 && < 4.7,-                       diagrams-lib >=0.6 && < 0.8,+                       diagrams-lib >=0.6 && < 1.1,                        hint ==0.3.*,                        directory,                        filepath,@@ -94,9 +94,10 @@                        filepath,                        directory,                        diagrams-builder,-                       diagrams-lib >= 0.6 && < 0.8,-                       diagrams-cairo >= 0.6 && < 0.8,-                       cmdargs >= 0.6 && < 0.11+                       diagrams-lib >= 0.6 && < 1.1,+                       diagrams-cairo >= 0.6 && < 1.1,+                       cmdargs >= 0.6 && < 0.11,+                       lens >= 3.8 && < 3.11  executable diagrams-builder-svg   main-is:             diagrams-builder-svg.hs@@ -113,8 +114,8 @@                        filepath,                        directory,                        diagrams-builder,-                       diagrams-lib >= 0.6 && < 0.8,-                       diagrams-svg >= 0.8.0.1 && < 0.9,+                       diagrams-lib >= 0.6 && < 1.1,+                       diagrams-svg >= 0.8.0.1 && < 1.1,                        blaze-svg >= 0.3.3 && < 0.4,                        bytestring >= 0.9.2 && < 0.11,                        cmdargs >= 0.6 && < 0.11@@ -134,6 +135,7 @@                        filepath,                        directory,                        diagrams-builder,-                       diagrams-lib >= 0.6 && < 0.8,-                       diagrams-postscript >= 0.6 && < 0.8,-                       cmdargs >= 0.6 && < 0.11+                       diagrams-lib >= 0.6 && < 1.1,+                       diagrams-postscript >= 0.6 && < 1.1,+                       cmdargs >= 0.6 && < 0.11,+                       lens >= 3.8 && < 3.11
src/Diagrams/Builder.hs view
@@ -3,7 +3,7 @@ {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE ScopedTypeVariables   #-} {-# LANGUAGE StandaloneDeriving    #-}-{-# OPTIONS_GHC -fno-warn-orphans #-}+{-# OPTIONS_GHC -fno-warn-orphans  #-}  ----------------------------------------------------------------------------- -- |@@ -37,32 +37,34 @@         ) where -import           Control.Monad                (guard, mplus, mzero)-import           Control.Monad.Trans.Maybe    (MaybeT, runMaybeT)-import           Crypto.Hash                  (Digest, MD5,-                                               digestToHexByteString, hash)-import qualified Data.ByteString.Char8        as B-import           Data.List                    (nub)-import           Data.List.Split              (splitOn)-import           Data.Maybe                   (catMaybes, fromMaybe)-import           Data.Typeable                (Typeable)-import           System.Directory             (doesFileExist,-                                               getDirectoryContents,-                                               getTemporaryDirectory,-                                               removeFile)-import           System.FilePath              (takeBaseName, (<.>), (</>))-import           System.IO                    (hClose, hPutStr, openTempFile)+import           Control.Monad                       (guard, mplus, mzero)+import           Control.Monad.Trans.Maybe           (MaybeT, runMaybeT)+import           Crypto.Hash                         (Digest, MD5,+                                                      digestToHexByteString,+                                                      hash)+import qualified Data.ByteString.Char8               as B+import           Data.List                           (nub)+import           Data.List.Split                     (splitOn)+import           Data.Maybe                          (catMaybes, fromMaybe)+import           Data.Typeable                       (Typeable)+import           System.Directory                    (doesFileExist,+                                                      getDirectoryContents,+                                                      getTemporaryDirectory,+                                                      removeFile)+import           System.FilePath                     (takeBaseName, (<.>),+                                                      (</>))+import           System.IO                           (hClose, hPutStr,+                                                      openTempFile) -import           Language.Haskell.Exts        (ImportDecl, Module (..),-                                               ModuleName (..), importModule,-                                               prettyPrint)-import           Language.Haskell.Interpreter hiding (ModuleName)+import           Language.Haskell.Exts               (ImportDecl, Module (..),+                                                      importModule, prettyPrint)+import           Language.Haskell.Interpreter        hiding (ModuleName)  import           Diagrams.Builder.CmdLine import           Diagrams.Builder.Modules-import           Diagrams.Prelude             hiding (e, (<.>))-import           System.Environment           (getEnvironment)+import           Diagrams.Prelude                    hiding ((<.>)) import           Language.Haskell.Interpreter.Unsafe (unsafeRunInterpreterWithArgs)+import           System.Environment                  (getEnvironment)  deriving instance Typeable Any @@ -298,9 +300,9 @@    -> IO (String, Maybe (a -> a)) -hashedRegenerate upd dir src = do+hashedRegenerate upd d src = do   let fileBase = hashStr src-  files <- getDirectoryContents dir+  files <- getDirectoryContents d   case any ((fileBase==) . takeBaseName) files of     True  -> return (fileBase, Nothing)     False -> return (fileBase, Just (upd fileBase))
src/Diagrams/Builder/Modules.hs view
@@ -11,12 +11,13 @@  module Diagrams.Builder.Modules where -import Data.Function (on)-import Data.List (foldl', isPrefixOf, groupBy, sortBy, nub)-import Data.Ord  (comparing)+import           Data.Function                (on)+import           Data.List                    (foldl', groupBy, isPrefixOf, nub,+                                               sortBy)+import           Data.Ord                     (comparing) -import Language.Haskell.Exts-import Language.Haskell.Exts.SrcLoc (noLoc)+import           Language.Haskell.Exts+import           Language.Haskell.Exts.SrcLoc (noLoc)  ------------------------------------------------------------ -- Manipulating modules@@ -52,9 +53,15 @@ --   Haskell code, producing a @Module@ or an error message. doModuleParse :: String -> Either String Module doModuleParse src =-  case parseFileContents src of+  case parseFileContentsWithMode parseMode src of     ParseFailed _ err -> Left err     ParseOk m         -> return m+  where+    parseMode+      = defaultParseMode+        { baseLanguage = Haskell2010+        , fixities     = Nothing+        }  -- | Remove all the literate comments and bird tracks from a literate --   Haskell file.  Has no effect on non-literate source.@@ -76,7 +83,7 @@ addPragmas :: [String] -> Module -> Module addPragmas langs (Module l n p w e i d) = Module l n (f p) w e i d   where f [] = [LanguagePragma noLoc (map Ident langs)]-        f (LanguagePragma loc ps : rest) = LanguagePragma loc (ps ++ map Ident langs) : rest+        f (LanguagePragma lpLoc ps : rest) = LanguagePragma lpLoc (ps ++ map Ident langs) : rest         f (x : rest) = x : f rest  -- | Add some imports to a module if necessary.@@ -116,4 +123,3 @@ -- | Convert a @ModuleName@ to a @String@. getModuleName :: ModuleName -> String getModuleName (ModuleName n) = n-
src/tools/diagrams-builder-cairo.hs view
@@ -37,7 +37,7 @@            []            [ "Diagrams.Backend.Cairo" ]            (hashedRegenerate-             (\hash opts -> opts { cairoFileName = mkFile hash ext })+             (\hash opts -> opts & cairoFileName .~ mkFile hash ext)              dir            )   case res of
src/tools/diagrams-builder-ps.hs view
@@ -27,7 +27,7 @@            []            [ "Diagrams.Backend.Postscript" ]            (hashedRegenerate-             (\hash opts -> opts { psfileName = mkFile hash })+             (\hash opts -> opts & psfileName .~ mkFile hash )              dir            )