commonmark-0.2.6.1: Pure Haskell commonmark parser.

Safe Haskell | None
Language | Haskell2010

Commonmark.Tokens

Synopsis

- data Tok = Tok {
  - tokType :: !TokType
  - tokPos :: !SourcePos
  - tokContents :: !Text
  }
- data TokType
  - = Spaces
  - | UnicodeSpace
  - | LineEnd
  - | WordChars
  - | Symbol !Char
- data SourcePos
- tokenize :: String -> Text -> [Tok]
- untokenize :: [Tok] -> Text

# Documentation

data Tok #

Constructors

Tok |

Fields

- tokType :: !TokType
- tokPos :: !SourcePos
- tokContents :: !Text

#### Instances

Instances details

Data Tok # |

Instance details

Defined in Commonmark.Tokens

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Tok -> c Tok #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Tok #

toConstr :: Tok -> Constr #

dataTypeOf :: Tok -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Tok) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Tok) #

gmapT :: (forall b. Data b => b -> b) -> Tok -> Tok #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Tok -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Tok -> r #

gmapQ :: (forall d. Data d => d -> u) -> Tok -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Tok -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Tok -> m Tok #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Tok -> m Tok #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Tok -> m Tok #

Show Tok # |
Instance details Defined in Commonmark.Tokens Methods showsPrec :: Int -> Tok -> ShowS # show :: Tok -> String # showList :: [Tok] -> ShowS #
Eq Tok # |
Instance details Defined in Commonmark.Tokens Methods (==) :: Tok -> Tok -> Bool # (/=) :: Tok -> Tok -> Bool #

data TokType #

Constructors

Spaces |
UnicodeSpace |
LineEnd |
WordChars |
Symbol !Char |

#### Instances

Instances details

Data TokType # |

Instance details

Defined in Commonmark.Tokens

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TokType -> c TokType #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TokType #

toConstr :: TokType -> Constr #

dataTypeOf :: TokType -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TokType) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TokType) #

gmapT :: (forall b. Data b => b -> b) -> TokType -> TokType #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TokType -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TokType -> r #

gmapQ :: (forall d. Data d => d -> u) -> TokType -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> TokType -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> TokType -> m TokType #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TokType -> m TokType #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TokType -> m TokType #

Show TokType # |
Instance details Defined in Commonmark.Tokens Methods showsPrec :: Int -> TokType -> ShowS # show :: TokType -> String # showList :: [TokType] -> ShowS #
Eq TokType # |
Instance details Defined in Commonmark.Tokens Methods (==) :: TokType -> TokType -> Bool # (/=) :: TokType -> TokType -> Bool #
Ord TokType # |
Instance details Defined in Commonmark.Tokens Methods compare :: TokType -> TokType -> Ordering # (<) :: TokType -> TokType -> Bool # (<=) :: TokType -> TokType -> Bool # (>) :: TokType -> TokType -> Bool # (>=) :: TokType -> TokType -> Bool # max :: TokType -> TokType -> TokType # min :: TokType -> TokType -> TokType #

data SourcePos #

The abstract data type `SourcePos` represents source positions. It contains the name of the source (i.e. file name), a line number and a column number. `SourcePos` is an instance of the `Show`, `Eq` and `Ord` class.

#### Instances

Instances details

Data SourcePos |

Instance details

Defined in Text.Parsec.Pos

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SourcePos -> c SourcePos #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SourcePos #

toConstr :: SourcePos -> Constr #

dataTypeOf :: SourcePos -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SourcePos) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SourcePos) #

gmapT :: (forall b. Data b => b -> b) -> SourcePos -> SourcePos #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SourcePos -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SourcePos -> r #

gmapQ :: (forall d. Data d => d -> u) -> SourcePos -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SourcePos -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SourcePos -> m SourcePos #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SourcePos -> m SourcePos #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SourcePos -> m SourcePos #

Show SourcePos |
Instance details Defined in Text.Parsec.Pos Methods showsPrec :: Int -> SourcePos -> ShowS # show :: SourcePos -> String # showList :: [SourcePos] -> ShowS #
Eq SourcePos |
Instance details Defined in Text.Parsec.Pos Methods (==) :: SourcePos -> SourcePos -> Bool # (/=) :: SourcePos -> SourcePos -> Bool #
Ord SourcePos |
Instance details Defined in Text.Parsec.Pos Methods compare :: SourcePos -> SourcePos -> Ordering # (<) :: SourcePos -> SourcePos -> Bool # (<=) :: SourcePos -> SourcePos -> Bool # (>) :: SourcePos -> SourcePos -> Bool # (>=) :: SourcePos -> SourcePos -> Bool # max :: SourcePos -> SourcePos -> SourcePos # min :: SourcePos -> SourcePos -> SourcePos #

tokenize :: String -> Text -> [Tok] #

Convert a `Text` into a list of `Tok`. The first parameter species the source name.

untokenize :: [Tok] -> Text #

Reverses `tokenize`. `untokenize . tokenize` should be the identity.