Text.Trifecta.Highlight

trifecta-1.5.2: A modern parser combinator library with convenient diagnostics

Copyright | (C) 2011-2014 Edward Kmett
License | BSD-style (see the file LICENSE)
Maintainer | Edward Kmett <ekmett@gmail.com>
Stability | experimental
Portability | non-portable
Safe Haskell | None
Language | Haskell2010

Text.Trifecta.Highlight

Description

Synopsis

- data Highlight :: *
- data HighlightedRope = HighlightedRope !(IntervalMap Delta Highlight) !Rope
- class HasHighlightedRope c where
  - highlightedRope :: Lens' c HighlightedRope
  - ropeContent :: Lens' c Rope
  - ropeHighlights :: Lens' c (IntervalMap Delta Highlight)
- withHighlight :: Highlight -> Doc -> Doc
- data HighlightDoc = HighlightDoc String String HighlightedRope
- class HasHighlightDoc c where
  - highlightDoc :: Lens' c HighlightDoc
  - docContent :: Lens' c HighlightedRope
  - docCss :: Lens' c String
  - docTitle :: Lens' c String
- doc :: String -> HighlightedRope -> HighlightDoc

# Documentation

data Highlight :: *

Tags used by the `TokenParsing` `highlight` combinator.

Instances

Bounded Highlight |
Enum Highlight |
Eq Highlight |
Ord Highlight |
Read Highlight |
Show Highlight |

data HighlightedRope

A `HighlightedRope` is a `Rope` with an associated `IntervalMap` full of highlighted regions.

Constructors

HighlightedRope !(IntervalMap Delta Highlight) !Rope |

Instances

Pretty HighlightedRope |
Monoid HighlightedRope |
ToMarkup HighlightedRope |
Semigroup HighlightedRope |
HasDelta HighlightedRope |
HasBytes HighlightedRope |
HasHighlightedRope HighlightedRope |

class HasHighlightedRope c where

Minimal complete definition

highlightedRope

Methods

highlightedRope :: Lens' c HighlightedRope

ropeContent :: Lens' c Rope

ropeHighlights :: Lens' c (IntervalMap Delta Highlight)

Instances

HasHighlightedRope HighlightedRope |

withHighlight :: Highlight -> Doc -> Doc

Convert a `Highlight` into a coloration on a `Doc`.

data HighlightDoc

Represents a source file like an HsColour rendered document

Constructors

HighlightDoc String String HighlightedRope |

Instances

ToMarkup HighlightDoc |
HasHighlightDoc HighlightDoc |

class HasHighlightDoc c where

Minimal complete definition

highlightDoc

Methods

highlightDoc :: Lens' c HighlightDoc

docContent :: Lens' c HighlightedRope

docCss :: Lens' c String

docTitle :: Lens' c String

Instances

HasHighlightDoc HighlightDoc |

doc :: String -> HighlightedRope -> HighlightDoc

Generate an HTML document from a title and a `HighlightedRope`.