fast-tagsoup 1.0.6 → 1.0.7
raw patch · 2 files changed
+18/−23 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- Text/HTML/TagSoup/Fast.hs +16/−21
- fast-tagsoup.cabal +2/−2
Text/HTML/TagSoup/Fast.hs view
@@ -111,34 +111,30 @@ script _ 0 0 = [] script _ 0 n = [mkText False 0 n] script !p !l !n- | l >= 9 && r p == "<" && ri p 1 == "/" &&+ | l >= 8 && r p == "<" && ri p 1 == "/" && (ri p 2 == "s" || ri p 2 == "S") && (ri p 3 == "c" || ri p 3 == "C") && (ri p 4 == "r" || ri p 4 == "R") && (ri p 5 == "i" || ri p 5 == "I") && (ri p 6 == "p" || ri p 6 == "P") &&- (ri p 7 == "t" || ri p 7 == "T") &&- ri p 8 == ">" =- -- it seems that there is no much difference- -- between nextIC and low level code--- nextIC p l (toLowerUpperPairs "</script>") =- mkText False l n : TagClose "script"- : dat (p `plusPtr` 9) (l - 9) 0+ (ri p 7 == "t" || ri p 7 == "T")+ -- it seems that there is no much difference+ -- between nextIC and low level code+-- | nextIC p l (toLowerUpperPairs "</script") =+ = mkText False l n : tagName False (p `plusPtr` 8) (l - 8) 6 | otherwise = script (pp p) (mm l) (p1 n) style :: P -> Int -> Int -> [Tag B.ByteString] style _ 0 0 = [] style _ 0 n = [mkText False 0 n] style !p !l !n- | l >= 8 && r p == "<" && ri p 1 == "/" &&+ | l >= 7 && r p == "<" && ri p 1 == "/" && (ri p 2 == "s" || ri p 2 == "S") && (ri p 3 == "t" || ri p 3 == "T") && (ri p 4 == "y" || ri p 4 == "Y") && (ri p 5 == "l" || ri p 5 == "L") &&- (ri p 6 == "e" || ri p 6 == "E") &&- ri p 7 == ">" =--- | nextIC p l (toLowerUpperPairs "</style>") =- mkText False l n : TagClose "style"- : dat (p `plusPtr` 8) (l - 8) 0+ (ri p 6 == "e" || ri p 6 == "E")+-- | nextIC p l (toLowerUpperPairs "</style") =+ = mkText False l n : tagName False (p `plusPtr` 7) (l - 7) 5 | otherwise = style (pp p) (mm l) (p1 n) dat :: P -> Int -> Int -> [Tag B.ByteString]@@ -161,8 +157,8 @@ closeTagOpen !p !left | alphaBQ (r p) = tagName False (pp p) (mm left) 1 | otherwise = dat p 0 2- tagName _ _ 0 _ = [] -- ouput nothing on EOF before tag closing bracket tagName !o !p !left !n+ | left == 0 = [tag] -- output tag on EOF before closing bracket | space (r p) = beforeAttName tag (pp p) (mm left) | r p == ">" = tdat tag (pp p) (mm left) | r p == "?" || r p == "/" =@@ -189,16 +185,16 @@ | r p == "?" || r p == "/" = selfClosingStartTag t (pp p) (mm l) -- | r p == "'" || r p == "\"" = attValue (r p) t "" (pp p) (mm l) 0 | otherwise = attName t (pp p) (mm l) 1- attName t _ 0 _ = [t] attName !t !p !l !n+ | l == 0 = [addAttr t (mkS l n) ""] -- "<a href" | space (r p) = afterAttName t (mkS l n) (pp p) (mm l) | r p == ">" = tdat (addAttr t (mkS l n) "") (pp p) (mm l) | r p == "?" || r p == "/" = selfClosingStartTag (addAttr t (mkS l n) "") (pp p) (mm l) | r p == "=" = beforeAttValue t (mkS l n) (pp p) (mm l) | otherwise = attName t (pp p) (mm l) (p1 n)- afterAttName t _ _ 0 = [t] afterAttName !t !a !p !l+ | l == 0 = [addAttr t a ""] -- "<a href " | space (r p) = afterAttName t a (pp p) (mm l) | r p == "=" = beforeAttValue t a (pp p) (mm l) | r p == ">" = tdat (addAttr t a "") (pp p) (mm l)@@ -206,8 +202,8 @@ selfClosingStartTag (addAttr t a "") (pp p) (mm l) | r p == "'" || r p == "\"" = attValue (r p) t a (pp p) (mm l) 0 | otherwise = attName (addAttr t a "") (pp p) (mm l) 1- beforeAttValue t _ _ 0 = [t] beforeAttValue !t !a !p !l+ | l == 0 = [addAttr t a ""] -- "<a href=" or "<a href= " | space (r p) = beforeAttValue t a (pp p) (mm l) | r p == ">" = tdat (addAttr t a "") (pp p) (mm l) -- | (r p == "?" || r p == "/") &&@@ -215,12 +211,12 @@ -- selfClosingStartTag (addAttr t a "") (pp p) (mm l) | r p == "'" || r p == "\"" = attValue (r p) t a (pp p) (mm l) 0 | otherwise = attValueUnquoted t a (pp p) (mm l) 1- attValue _ t _ _ 0 _ = [t] attValue !end !t !a !p !l !n+ | l == 0 = [addAttr t a (mkS l n)] -- "<a href='..." | r p == end = beforeAttName (addAttr t a (mkS l n)) (pp p) (mm l) | otherwise = attValue end t a (pp p) (mm l) (p1 n)- attValueUnquoted t _ _ 0 _ = [t] attValueUnquoted !t !a !p !l !n+ | l == 0 = [addAttr t a (mkS l n)] -- "<a href=..." | space (r p) = beforeAttName (addAttr t a (mkS l n)) (pp p) (mm l) | r p == ">" -- || r p == "/" = beforeAttName (addAttr t a (mkS l n)) p l@@ -425,4 +421,3 @@ -- TL.lenientDecode s where isText (TagText _) = True isText _ = False-wb addr byte = poke (intPtrToPtr addr) (byte :: Word8)
fast-tagsoup.cabal view
@@ -1,7 +1,7 @@ cabal-version: >= 1.6 name: fast-tagsoup-version: 1.0.6-copyright: Vladimir Shabanov 2011-2012+version: 1.0.7+copyright: Vladimir Shabanov 2011-2015 author: Vladimir Shabanov <vshabanoff@gmail.com> maintainer: Vladimir Shabanov <vshabanoff@gmail.com> homepage: https://github.com/vshabanov/fast-tagsoup