damnpacket 1.0.0 → 1.0.1
raw patch · 5 files changed
+28/−17 lines, 5 filesdep +th-lift-instancesPVP ok
version bump matches the API change (PVP)
Dependencies added: th-lift-instances
API changes (from Hackage documentation)
Files
- damnpacket.cabal +3/−3
- src/Network/Damn.hs +13/−0
- src/Network/Damn/Format/IRC.hs +4/−0
- src/Network/Damn/Tablumps.hs +1/−6
- src/Network/Damn/Tablumps/TH.hs +7/−8
damnpacket.cabal view
@@ -1,12 +1,11 @@ name: damnpacket-version: 1.0.0+version: 1.0.1 synopsis: Parsing dAmn messages description: This module provides a datatype and convenience functions for parsing, manipulating, and rendering deviantART Message Network messages. license: MIT license-file: LICENSE author: Jude Taylor maintainer: me@jude.bio--- copyright: category: Network build-type: Simple extra-source-files: ChangeLog.md@@ -20,7 +19,6 @@ Network.Damn.Tablumps.TH Network.Damn.Format.Base Network.Damn.Format.Damn.Internal- -- other-extensions: build-depends: base == 4.* , attoparsec , bytestring@@ -28,6 +26,7 @@ , html-entities , template-haskell , text+ , th-lift-instances hs-source-dirs: src default-language: Haskell2010 ghc-options: -Wall@@ -35,6 +34,7 @@ test-suite parse main-is: parse.hs hs-source-dirs: test+ default-language: Haskell2010 type: exitcode-stdio-1.0 build-depends: base, bytestring, damnpacket, HUnit, hspec, QuickCheck
src/Network/Damn.hs view
@@ -1,7 +1,13 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE RankNTypes #-}++#define PATTERNS (__GLASGOW_HASKELL__ >= 710)++#if PATTERNS {-# LANGUAGE ViewPatterns #-}+#endif -- | This module provides a datatype and convenience functions for parsing, -- manipulating, and rendering deviantART Message Network messages.@@ -15,7 +21,9 @@ toBody, toBodyText, -- *** Working with sub-messages subMessage,+#if PATTERNS pattern SubM,+#endif -- *** Parsing parseMessage, messageP,@@ -42,6 +50,9 @@ import Network.Damn.Format.Damn.Internal (textToBytes) import Network.Damn.Tablumps import Prelude hiding (fail)+#if __GLASGOW_HASKELL__ <= 708+import Data.Foldable (foldMap)+#endif -- | A top-level dAmn message. --@@ -113,6 +124,7 @@ instance Eq MessageBody where MessageBody b _ == MessageBody b1 _ = b == b1 +#if PATTERNS -- | 'subMessage' as a pattern. -- -- @@@ -133,6 +145,7 @@ -- @ pattern SubM :: SubMessage -> Maybe MessageBody pattern SubM pkt <- ((>>= subMessage) -> Just pkt)+#endif -- | Convert a 'MessageBody' to some stringlike representation using the -- given 'Formatter'. (See 'Network.Damn.Format.Damn.damnFormat').
src/Network/Damn/Format/IRC.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE OverloadedStrings #-} @@ -13,6 +14,9 @@ import Data.Text.Encoding import Network.Damn.Format.Base import Network.Damn.Format.Damn.Internal+#if __GLASGOW_HASKELL__ <= 708+import Data.Monoid+#endif newtype Lines = Lines ByteString deriving (Show, Monoid, IsString)
src/Network/Damn/Tablumps.hs view
@@ -1,4 +1,3 @@-{-# OPTIONS_GHC -ddump-splices #-} {-# LANGUAGE NoMonomorphismRestriction #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE TemplateHaskell #-}@@ -25,7 +24,7 @@ -- data Lump = Lump deriving (Eq, Show) tablumpP :: Parser [Either ByteString Lump]-tablumpP = many $ (Left <$> (C.takeWhile1 (/= '&')))+tablumpP = many $ (Left <$> C.takeWhile1 (/= '&')) <|> lump <|> fmap Left (C.string "&") @@ -97,10 +96,6 @@ , $(ary 0 "/ul" 'C_Ul) ] where- -- ary n s = do- -- string s- -- C.char '\t'- -- fmap (Right . (,) s) $ count n arg link = do _ <- string "link" _ <- C.char '\t'
src/Network/Damn/Tablumps/TH.hs view
@@ -1,16 +1,17 @@-{-# OPTIONS_GHC -fno-warn-orphans #-} {-# LANGUAGE CPP #-}-{-# LANGUAGE DeriveLift #-} {-# LANGUAGE TemplateHaskell #-} #define ARG ByteString module Network.Damn.Tablumps.TH where +import Data.Attoparsec.ByteString (string) import qualified Data.Attoparsec.ByteString.Char8 as C-import Data.ByteString (ByteString, unpack)+import Data.ByteString (ByteString) import Language.Haskell.TH-import Language.Haskell.TH.Syntax+#if __GLASGOW_HASKELL__ <= 708+import Control.Applicative+#endif ary :: Int -> String -> Name -> ExpQ ary n s con = [e|do@@ -67,8 +68,6 @@ | C_U | Ul | C_Ul- deriving (Lift, Eq, Show)+ deriving (Eq, Show) -instance Lift ByteString where- lift b = [e|pack ws|]- where ws = unpack b+{-# ANN module ("HLint: ignore Use camelCase" :: String) #-}