Data.GraphViz.Parsing

graphviz-2999.18.1.2: Bindings to Graphviz for graph visualisation.

Copyright | (c) Matthew Sackman Ivan Lazar Miljenovic
License | 3-Clause BSD-style
Maintainer | Ivan.Miljenovic@gmail.com
Safe Haskell | Safe
Language | Haskell2010

Data.GraphViz.Parsing

Contents

- Re-exporting pertinent parts of Polyparse.
- The ParseDot class.
- Convenience parsing combinators.

Description

This module defines simple helper functions for use with Text.ParserCombinators.Poly.Lazy.

Note that the `ParseDot` instances for `Bool`, etc. match those specified for use with Graphviz (e.g. non-zero integers are equivalent to `True`).

You should not be using this module; rather, it is here for informative/documentative reasons. If you want to parse a ``DotRepr``, you should use ``parseDotGraph`` rather than its `ParseDot` instance.

Synopsis

- module Text.ParserCombinators.Poly.StateText
- type Parse a = Parser GraphvizState a
- class ParseDot a where
- parseIt :: ParseDot a => Text -> (a, Text)
- parseIt' :: ParseDot a => Text -> a
- runParser :: Parse a -> Text -> (Either String a, Text)
- runParser' :: Parse a -> Text -> a
- runParserWith :: (GraphvizState -> GraphvizState) -> Parse a -> Text -> (Either String a, Text)
- parseLiberally :: GraphvizState -> GraphvizState
- checkValidParse :: Either String a -> a
- ignoreSep :: (a -> b -> c) -> Parse a -> Parse sep -> Parse b -> Parse c
- onlyBool :: Parse Bool
- quotelessString :: Parse Text
- stringBlock :: Parse Text
- numString :: Bool -> Parse Text
- isNumString :: Text -> Bool
- isIntString :: Text -> Bool
- quotedString :: Parse Text
- parseEscaped :: Bool -> [Char] -> [Char] -> Parse Text
- parseAndSpace :: Parse a -> Parse a
- string :: String -> Parse ()
- strings :: [String] -> Parse ()
- character :: Char -> Parse Char
- parseStrictFloat :: Bool -> Parse Double
- parseSignedFloat :: Bool -> Parse Double
- noneOf :: [Char] -> Parse Char
- whitespace1 :: Parse ()
- whitespace :: Parse ()
- wrapWhitespace :: Parse a -> Parse a
- optionalQuotedString :: String -> Parse ()
- optionalQuoted :: Parse a -> Parse a
- quotedParse :: Parse a -> Parse a
- orQuote :: Parse Char -> Parse Char
- quoteChar :: Char
- newline :: Parse ()
- newline' :: Parse ()
- parseComma :: Parse ()
- parseEq :: Parse ()
- tryParseList :: ParseDot a => Parse [a]
- tryParseList' :: Parse [a] -> Parse [a]
- consumeLine :: Parse Text
- commaSep :: (ParseDot a, ParseDot b) => Parse (a, b)
- commaSepUnqt :: (ParseDot a, ParseDot b) => Parse (a, b)
- commaSep' :: Parse a -> Parse b -> Parse (a, b)
- stringRep :: a -> String -> Parse a
- stringReps :: a -> [String] -> Parse a
- stringParse :: [(String, Parse a)] -> Parse a
- stringValue :: [(String, a)] -> Parse a
- parseAngled :: Parse a -> Parse a
- parseBraced :: Parse a -> Parse a
- parseColorScheme :: Bool -> Parse ColorScheme

# Re-exporting pertinent parts of Polyparse.

module Text.ParserCombinators.Poly.StateText

# The ParseDot class.

type Parse a = Parser GraphvizState a #

A `ReadS`-like type alias.

class ParseDot a where #

Minimal complete definition

parseUnqt

Methods

parseUnqt :: Parse a #

parse :: Parse a #

parseUnqtList :: Parse [a] #

parseList :: Parse [a] #

Instances

ParseDot Bool # |
Methods parseUnqt :: Parse Bool # parse :: Parse Bool # parseUnqtList :: Parse [Bool] # parseList :: Parse [Bool] #
ParseDot Char # |
Methods parseUnqt :: Parse Char # parse :: Parse Char # parseUnqtList :: Parse [Char] # parseList :: Parse [Char] #
ParseDot Double # |
Methods parseUnqt :: Parse Double # parse :: Parse Double # parseUnqtList :: Parse [Double] # parseList :: Parse [Double] #
ParseDot Int # |
Methods parseUnqt :: Parse Int # parse :: Parse Int # parseUnqtList :: Parse [Int] # parseList :: Parse [Int] #
ParseDot Integer # |
Methods parseUnqt :: Parse Integer # parse :: Parse Integer # parseUnqtList :: Parse [Integer] # parseList :: Parse [Integer] #
ParseDot Word8 # |
Methods parseUnqt :: Parse Word8 # parse :: Parse Word8 # parseUnqtList :: Parse [Word8] # parseList :: Parse [Word8] #
ParseDot Word16 # |
Methods parseUnqt :: Parse Word16 # parse :: Parse Word16 # parseUnqtList :: Parse [Word16] # parseList :: Parse [Word16] #
ParseDot Version # | Ignores `versionTags` and assumes 'not . null . versionBranch' (usually you want 'length . versionBranch == 2') and that all such values are non-negative.
Methods parseUnqt :: Parse Version # parse :: Parse Version # parseUnqtList :: Parse [Version] # parseList :: Parse [Version] #
ParseDot Text # |
Methods parseUnqt :: Parse Text # parse :: Parse Text # parseUnqtList :: Parse [Text] # parseList :: Parse [Text] #
ParseDot BrewerName # |
Methods parseUnqt :: Parse BrewerName # parse :: Parse BrewerName # parseUnqtList :: Parse [BrewerName] # parseList :: Parse [BrewerName] #
ParseDot BrewerScheme # |
Methods parseUnqt :: Parse BrewerScheme # parse :: Parse BrewerScheme # parseUnqtList :: Parse [BrewerScheme] # parseList :: Parse [BrewerScheme] #
ParseDot ColorScheme # |
Methods parseUnqt :: Parse ColorScheme # parse :: Parse ColorScheme # parseUnqtList :: Parse [ColorScheme] # parseList :: Parse [ColorScheme] #
ParseDot GraphvizCommand # |
Methods parseUnqt :: Parse GraphvizCommand # parse :: Parse GraphvizCommand # parseUnqtList :: Parse [GraphvizCommand] # parseList :: Parse [GraphvizCommand] #
ParseDot CompassPoint # |
Methods parseUnqt :: Parse CompassPoint # parse :: Parse CompassPoint # parseUnqtList :: Parse [CompassPoint] # parseList :: Parse [CompassPoint] #
ParseDot PortPos # |
Methods parseUnqt :: Parse PortPos # parse :: Parse PortPos # parseUnqtList :: Parse [PortPos] # parseList :: Parse [PortPos] #
ParseDot PortName # |
Methods parseUnqt :: Parse PortName # parse :: Parse PortName # parseUnqtList :: Parse [PortName] # parseList :: Parse [PortName] #
ParseDot X11Color # |
Methods parseUnqt :: Parse X11Color # parse :: Parse X11Color # parseUnqtList :: Parse [X11Color] # parseList :: Parse [X11Color] #
ParseDot SVGColor # |
Methods parseUnqt :: Parse SVGColor # parse :: Parse SVGColor # parseUnqtList :: Parse [SVGColor] # parseList :: Parse [SVGColor] #
ParseDot WeightedColor # |
Methods parseUnqt :: Parse WeightedColor # parse :: Parse WeightedColor # parseUnqtList :: Parse [WeightedColor] # parseList :: Parse [WeightedColor] #
ParseDot Color # |
Methods parseUnqt :: Parse Color # parse :: Parse Color # parseUnqtList :: Parse [Color] # parseList :: Parse [Color] #
ParseDot Scale # |
Methods parseUnqt :: Parse Scale # parse :: Parse Scale # parseUnqtList :: Parse [Scale] # parseList :: Parse [Scale] #
ParseDot VAlign # |
Methods parseUnqt :: Parse VAlign # parse :: Parse VAlign # parseUnqtList :: Parse [VAlign] # parseList :: Parse [VAlign] #
ParseDot Align # |
Methods parseUnqt :: Parse Align # parse :: Parse Align # parseUnqtList :: Parse [Align] # parseList :: Parse [Align] #
ParseDot Attribute # |
Methods parseUnqt :: Parse Attribute # parse :: Parse Attribute # parseUnqtList :: Parse [Attribute] # parseList :: Parse [Attribute] #
ParseDot Img # |
Methods parseUnqt :: Parse Img # parse :: Parse Img # parseUnqtList :: Parse [Img] # parseList :: Parse [Img] #
ParseDot Cell # |
Methods parseUnqt :: Parse Cell # parse :: Parse Cell # parseUnqtList :: Parse [Cell] # parseList :: Parse [Cell] #
ParseDot Row # |
Methods parseUnqt :: Parse Row # parse :: Parse Row # parseUnqtList :: Parse [Row] # parseList :: Parse [Row] #
ParseDot Table # |
Methods parseUnqt :: Parse Table # parse :: Parse Table # parseUnqtList :: Parse [Table] # parseList :: Parse [Table] #
ParseDot Format # |
Methods parseUnqt :: Parse Format # parse :: Parse Format # parseUnqtList :: Parse [Format] # parseList :: Parse [Format] #
ParseDot TextItem # |
Methods parseUnqt :: Parse TextItem # parse :: Parse TextItem # parseUnqtList :: Parse [TextItem] # parseList :: Parse [TextItem] #
ParseDot Label # |
Methods parseUnqt :: Parse Label # parse :: Parse Label # parseUnqtList :: Parse [Label] # parseList :: Parse [Label] #
ParseDot NodeSize # |
Methods parseUnqt :: Parse NodeSize # parse :: Parse NodeSize # parseUnqtList :: Parse [NodeSize] # parseList :: Parse [NodeSize] #
ParseDot Normalized # |
Methods parseUnqt :: Parse Normalized # parse :: Parse Normalized # parseUnqtList :: Parse [Normalized] # parseList :: Parse [Normalized] #
ParseDot Number # |
Methods parseUnqt :: Parse Number # parse :: Parse Number # parseUnqtList :: Parse [Number] # parseList :: Parse [Number] #
ParseDot Ratios # |
Methods parseUnqt :: Parse Ratios # parse :: Parse Ratios # parseUnqtList :: Parse [Ratios] # parseList :: Parse [Ratios] #
ParseDot Justification # |
Methods parseUnqt :: Parse Justification # parse :: Parse Justification # parseUnqtList :: Parse [Justification] # parseList :: Parse [Justification] #
ParseDot ScaleType # |
Methods parseUnqt :: Parse ScaleType # parse :: Parse ScaleType # parseUnqtList :: Parse [ScaleType] # parseList :: Parse [ScaleType] #
ParseDot Paths # |
Methods parseUnqt :: Parse Paths # parse :: Parse Paths # parseUnqtList :: Parse [Paths] # parseList :: Parse [Paths] #
ParseDot VerticalPlacement # |
Methods parseUnqt :: Parse VerticalPlacement # parse :: Parse VerticalPlacement # parseUnqtList :: Parse [VerticalPlacement] # parseList :: Parse [VerticalPlacement] #
ParseDot FocusType # |
Methods parseUnqt :: Parse FocusType # parse :: Parse FocusType # parseUnqtList :: Parse [FocusType] # parseList :: Parse [FocusType] #
ParseDot ViewPort # |
Methods parseUnqt :: Parse ViewPort # parse :: Parse ViewPort # parseUnqtList :: Parse [ViewPort] # parseList :: Parse [ViewPort] #
ParseDot StyleName # |
Methods parseUnqt :: Parse StyleName # parse :: Parse StyleName # parseUnqtList :: Parse [StyleName] # parseList :: Parse [StyleName] #
ParseDot StyleItem # |
Methods parseUnqt :: Parse StyleItem # parse :: Parse StyleItem # parseUnqtList :: Parse [StyleItem] # parseList :: Parse [StyleItem] #
ParseDot STStyle # |
Methods parseUnqt :: Parse STStyle # parse :: Parse STStyle # parseUnqtList :: Parse [STStyle] # parseList :: Parse [STStyle] #
ParseDot StartType # |
Methods parseUnqt :: Parse StartType # parse :: Parse StartType # parseUnqtList :: Parse [StartType] # parseList :: Parse [StartType] #
ParseDot SmoothType # |
Methods parseUnqt :: Parse SmoothType # parse :: Parse SmoothType # parseUnqtList :: Parse [SmoothType] # parseList :: Parse [SmoothType] #
ParseDot Shape # |
Methods parseUnqt :: Parse Shape # parse :: Parse Shape # parseUnqtList :: Parse [Shape] # parseList :: Parse [Shape] #
ParseDot RankDir # |
Methods parseUnqt :: Parse RankDir # parse :: Parse RankDir # parseUnqtList :: Parse [RankDir] # parseList :: Parse [RankDir] #
ParseDot RankType # |
Methods parseUnqt :: Parse RankType # parse :: Parse RankType # parseUnqtList :: Parse [RankType] # parseList :: Parse [RankType] #
ParseDot Root # |
Methods parseUnqt :: Parse Root # parse :: Parse Root # parseUnqtList :: Parse [Root] # parseList :: Parse [Root] #
ParseDot QuadType # |
Methods parseUnqt :: Parse QuadType # parse :: Parse QuadType # parseUnqtList :: Parse [QuadType] # parseList :: Parse [QuadType] #
ParseDot Spline # |
Methods parseUnqt :: Parse Spline # parse :: Parse Spline # parseUnqtList :: Parse [Spline] # parseList :: Parse [Spline] #
ParseDot PageDir # |
Methods parseUnqt :: Parse PageDir # parse :: Parse PageDir # parseUnqtList :: Parse [PageDir] # parseList :: Parse [PageDir] #
ParseDot EdgeType # |
Methods parseUnqt :: Parse EdgeType # parse :: Parse EdgeType # parseUnqtList :: Parse [EdgeType] # parseList :: Parse [EdgeType] #
ParseDot Pos # |
Methods parseUnqt :: Parse Pos # parse :: Parse Pos # parseUnqtList :: Parse [Pos] # parseList :: Parse [Pos] #
ParseDot PackMode # |
Methods parseUnqt :: Parse PackMode # parse :: Parse PackMode # parseUnqtList :: Parse [PackMode] # parseList :: Parse [PackMode] #
ParseDot Pack # |
Methods parseUnqt :: Parse Pack # parse :: Parse Pack # parseUnqtList :: Parse [Pack] # parseList :: Parse [Pack] #
ParseDot OutputMode # |
Methods parseUnqt :: Parse OutputMode # parse :: Parse OutputMode # parseUnqtList :: Parse [OutputMode] # parseList :: Parse [OutputMode] #
ParseDot Order # |
Methods parseUnqt :: Parse Order # parse :: Parse Order # parseUnqtList :: Parse [Order] # parseList :: Parse [Order] #
ParseDot LayerList # |
Methods parseUnqt :: Parse LayerList # parse :: Parse LayerList # parseUnqtList :: Parse [LayerList] # parseList :: Parse [LayerList] #
ParseDot LayerID # |
Methods parseUnqt :: Parse LayerID # parse :: Parse LayerID # parseUnqtList :: Parse [LayerID] # parseList :: Parse [LayerID] #
ParseDot LayerRangeElem # |
Methods parseUnqt :: Parse LayerRangeElem # parse :: Parse LayerRangeElem # parseUnqtList :: Parse [LayerRangeElem] # parseList :: Parse [LayerRangeElem] #
ParseDot LayerListSep # |
Methods parseUnqt :: Parse LayerListSep # parse :: Parse LayerListSep # parseUnqtList :: Parse [LayerListSep] # parseList :: Parse [LayerListSep] #
ParseDot LayerSep # |
Methods parseUnqt :: Parse LayerSep # parse :: Parse LayerSep # parseUnqtList :: Parse [LayerSep] # parseList :: Parse [LayerSep] #
ParseDot Overlap # | Note that `overlap=false` defaults to ``PrismOverlap` Nothing`, but if the Prism library isn't available then it is equivalent to `VoronoiOverlap`.
Methods parseUnqt :: Parse Overlap # parse :: Parse Overlap # parseUnqtList :: Parse [Overlap] # parseList :: Parse [Overlap] #
ParseDot Point # |
Methods parseUnqt :: Parse Point # parse :: Parse Point # parseUnqtList :: Parse [Point] # parseList :: Parse [Point] #
ParseDot LabelScheme # |
Methods parseUnqt :: Parse LabelScheme # parse :: Parse LabelScheme # parseUnqtList :: Parse [LabelScheme] # parseList :: Parse [LabelScheme] #
ParseDot RecordField # |
Methods parseUnqt :: Parse RecordField # parse :: Parse RecordField # parseUnqtList :: Parse [RecordField] # parseList :: Parse [RecordField] #
ParseDot Label # |
Methods parseUnqt :: Parse Label # parse :: Parse Label # parseUnqtList :: Parse [Label] # parseList :: Parse [Label] #
ParseDot Model # |
Methods parseUnqt :: Parse Model # parse :: Parse Model # parseUnqtList :: Parse [Model] # parseList :: Parse [Model] #
ParseDot ModeType # |
Methods parseUnqt :: Parse ModeType # parse :: Parse ModeType # parseUnqtList :: Parse [ModeType] # parseList :: Parse [ModeType] #
ParseDot GraphSize # |
Methods parseUnqt :: Parse GraphSize # parse :: Parse GraphSize # parseUnqtList :: Parse [GraphSize] # parseList :: Parse [GraphSize] #
ParseDot SVGFontNames # |
Methods parseUnqt :: Parse SVGFontNames # parse :: Parse SVGFontNames # parseUnqtList :: Parse [SVGFontNames] # parseList :: Parse [SVGFontNames] #
ParseDot DPoint # |
Methods parseUnqt :: Parse DPoint # parse :: Parse DPoint # parseUnqtList :: Parse [DPoint] # parseList :: Parse [DPoint] #
ParseDot DEConstraints # |
Methods parseUnqt :: Parse DEConstraints # parse :: Parse DEConstraints # parseUnqtList :: Parse [DEConstraints] # parseList :: Parse [DEConstraints] #
ParseDot DirType # |
Methods parseUnqt :: Parse DirType # parse :: Parse DirType # parseUnqtList :: Parse [DirType] # parseList :: Parse [DirType] #
ParseDot ClusterMode # |
Methods parseUnqt :: Parse ClusterMode # parse :: Parse ClusterMode # parseUnqtList :: Parse [ClusterMode] # parseList :: Parse [ClusterMode] #
ParseDot Rect # |
Methods parseUnqt :: Parse Rect # parse :: Parse Rect # parseUnqtList :: Parse [Rect] # parseList :: Parse [Rect] #
ParseDot ArrowSide # |
Methods parseUnqt :: Parse ArrowSide # parse :: Parse ArrowSide # parseUnqtList :: Parse [ArrowSide] # parseList :: Parse [ArrowSide] #
ParseDot ArrowFill # |
Methods parseUnqt :: Parse ArrowFill # parse :: Parse ArrowFill # parseUnqtList :: Parse [ArrowFill] # parseList :: Parse [ArrowFill] #
ParseDot ArrowModifier # |
Methods parseUnqt :: Parse ArrowModifier # parse :: Parse ArrowModifier # parseUnqtList :: Parse [ArrowModifier] # parseList :: Parse [ArrowModifier] #
ParseDot ArrowShape # |
Methods parseUnqt :: Parse ArrowShape # parse :: Parse ArrowShape # parseUnqtList :: Parse [ArrowShape] # parseList :: Parse [ArrowShape] #
ParseDot ArrowType # |
Methods parseUnqt :: Parse ArrowType # parse :: Parse ArrowType # parseUnqtList :: Parse [ArrowType] # parseList :: Parse [ArrowType] #
ParseDot Attribute # |
Methods parseUnqt :: Parse Attribute # parse :: Parse Attribute # parseUnqtList :: Parse [Attribute] # parseList :: Parse [Attribute] #
ParseDot GlobalAttributes # |
Methods parseUnqt :: Parse GlobalAttributes # parse :: Parse GlobalAttributes # parseUnqtList :: Parse [GlobalAttributes] # parseList :: Parse [GlobalAttributes] #
ParseDot GraphID # |
Methods parseUnqt :: Parse GraphID # parse :: Parse GraphID # parseUnqtList :: Parse [GraphID] # parseList :: Parse [GraphID] #
ParseDot a => ParseDot [a] # |
Methods parseUnqt :: Parse [a] # parse :: Parse [a] # parseUnqtList :: Parse [[a]] # parseList :: Parse [[a]] #
ParseDot n => ParseDot (DotEdge n) # |
Methods parseUnqt :: Parse (DotEdge n) # parse :: Parse (DotEdge n) # parseUnqtList :: Parse [DotEdge n] # parseList :: Parse [DotEdge n] #
ParseDot n => ParseDot (DotNode n) # |
Methods parseUnqt :: Parse (DotNode n) # parse :: Parse (DotNode n) # parseUnqtList :: Parse [DotNode n] # parseList :: Parse [DotNode n] #
ParseDot n => ParseDot (DotSubGraph n) # |
Methods parseUnqt :: Parse (DotSubGraph n) # parse :: Parse (DotSubGraph n) # parseUnqtList :: Parse [DotSubGraph n] # parseList :: Parse [DotSubGraph n] #
ParseDot n => ParseDot (DotStatements n) # |
Methods parseUnqt :: Parse (DotStatements n) # parse :: Parse (DotStatements n) # parseUnqtList :: Parse [DotStatements n] # parseList :: Parse [DotStatements n] #
ParseDot n => ParseDot (DotGraph n) # |
Methods parseUnqt :: Parse (DotGraph n) # parse :: Parse (DotGraph n) # parseUnqtList :: Parse [DotGraph n] # parseList :: Parse [DotGraph n] #
ParseDot n => ParseDot (DotSubGraph n) # |
Methods parseUnqt :: Parse (DotSubGraph n) # parse :: Parse (DotSubGraph n) # parseUnqtList :: Parse [DotSubGraph n] # parseList :: Parse [DotSubGraph n] #
ParseDot n => ParseDot (DotStatement n) # |
Methods parseUnqt :: Parse (DotStatement n) # parse :: Parse (DotStatement n) # parseUnqtList :: Parse [DotStatement n] # parseList :: Parse [DotStatement n] #
ParseDot n => ParseDot (DotGraph n) # |
Methods parseUnqt :: Parse (DotGraph n) # parse :: Parse (DotGraph n) # parseUnqtList :: Parse [DotGraph n] # parseList :: Parse [DotGraph n] #
(Ord n, ParseDot n) => ParseDot (DotGraph n) # | Uses the ParseDot instance for generalised `DotGraph`s.
Methods parseUnqt :: Parse (DotGraph n) # parse :: Parse (DotGraph n) # parseUnqtList :: Parse [DotGraph n] # parseList :: Parse [DotGraph n] #

parseIt :: ParseDot a => Text -> (a, Text) #

Parse the required value, returning also the rest of the input `Text` that hasn't been parsed (for debugging purposes).

parseIt' :: ParseDot a => Text -> a #

Parse the required value with the assumption that it will parse all of the input `Text`.

runParser :: Parse a -> Text -> (Either String a, Text) #

runParser' :: Parse a -> Text -> a #

A variant of `runParser` where it is assumed that the provided parsing function consumes all of the `Text` input (with the exception of whitespace at the end).

runParserWith :: (GraphvizState -> GraphvizState) -> Parse a -> Text -> (Either String a, Text) #

parseLiberally :: GraphvizState -> GraphvizState #

checkValidParse :: Either String a -> a #

If unable to parse Dot code properly, `throw` a `GraphvizException`.

# Convenience parsing combinators.

ignoreSep :: (a -> b -> c) -> Parse a -> Parse sep -> Parse b -> Parse c #

The opposite of `bracket`.

onlyBool :: Parse Bool #

Use this when you do not want numbers to be treated as `Bool` values.

quotelessString :: Parse Text #

Parse a `Text` that doesn't need to be quoted.

stringBlock :: Parse Text #

numString :: Bool -> Parse Text #

isNumString :: Text -> Bool #

Determine if this String represents a number.

isIntString :: Text -> Bool #

quotedString :: Parse Text #

Used when quotes are explicitly required;

parseEscaped :: Bool -> [Char] -> [Char] -> Parse Text #

Parse a `Text` where the provided `Char`s (as well as `"` and `\`) are escaped and the second list of `Char`s are those that are not permitted. Note: does not parse surrounding quotes. The `Bool` value indicates whether empty `Text`s are allowed or not.

parseAndSpace :: Parse a -> Parse a #

string :: String -> Parse () #

strings :: [String] -> Parse () #

character :: Char -> Parse Char #

Assumes that any letter is ASCII for case-insensitive comparisons.

parseStrictFloat :: Bool -> Parse Double #

Parse a floating point number that actually contains decimals. Bool flag indicates whether values that need to be quoted are parsed.

parseSignedFloat :: Bool -> Parse Double #

noneOf :: [Char] -> Parse Char #

whitespace1 :: Parse () #

Parses at least one whitespace character.

whitespace :: Parse () #

Parses zero or more whitespace characters.

wrapWhitespace :: Parse a -> Parse a #

Parse and discard optional surrounding whitespace.

optionalQuotedString :: String -> Parse () #

optionalQuoted :: Parse a -> Parse a #

quotedParse :: Parse a -> Parse a #

orQuote :: Parse Char -> Parse Char #

quoteChar :: Char #

newline :: Parse () #

Parses a newline.

newline' :: Parse () #

Consume all whitespace and newlines until a line with non-whitespace is reached. The whitespace on that line is not consumed.

parseComma :: Parse () #

parseEq :: Parse () #

tryParseList :: ParseDot a => Parse [a] #

Try to parse a list of the specified type; returns an empty list if parsing fails.

tryParseList' :: Parse [a] -> Parse [a] #

Return an empty list if parsing a list fails.

consumeLine :: Parse Text #

Parses and returns all characters up till the end of the line, but does not touch the newline characters.

commaSep :: (ParseDot a, ParseDot b) => Parse (a, b) #

commaSepUnqt :: (ParseDot a, ParseDot b) => Parse (a, b) #

commaSep' :: Parse a -> Parse b -> Parse (a, b) #

stringRep :: a -> String -> Parse a #

stringReps :: a -> [String] -> Parse a #

stringParse :: [(String, Parse a)] -> Parse a #

stringValue :: [(String, a)] -> Parse a #

parseAngled :: Parse a -> Parse a #

parseBraced :: Parse a -> Parse a #

parseColorScheme :: Bool -> Parse ColorScheme #