| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Mikan.Syntax.Parser.Literate
Description
Preprocessors for literate code formats.
Synopsis
- literateProcessors :: Bool -> [(String, Processor, FileType)]
- literateTeX :: Processor
- literateRsT :: Processor
- literateMd :: Bool -> Processor
- literateOrg :: Processor
- illiterate :: [Layer] -> Text
- atomizeLayers :: Layers -> [(LayerRole, Char)]
- type Processor = PositionWithoutFile -> Text -> [Layer]
- type Layers = [Layer]
- data Layer = Layer {}
- data LayerRole
- isCode :: LayerRole -> Bool
- isCodeLayer :: Layer -> Bool
Documentation
List of valid extensions for literate Agda files, and their corresponding preprocessors. If you add new extensions, remember to update test/Utils.hs so that test cases ending in the new extensions are found.
literateTeX :: Processor Source #
Preprocessor for literate TeX.
literateRsT :: Processor Source #
Preprocessor for reStructuredText.
Arguments
| :: Bool | The value of Controls whether code blocks with no class are interpreted as code
( |
| -> Processor |
Preprocessor for Markdown.
literateOrg :: Processor Source #
Preprocessor for Org mode documents.
illiterate :: [Layer] -> Text Source #
Blanks the non-code parts of a given file, preserving positions of characters corresponding to code. This way, there is a direct correspondence between source positions and positions in the processed result.
type Processor = PositionWithoutFile -> Text -> [Layer] Source #
Type of a literate preprocessor: Invariants:
f : Processor
proposition> f pos s /= []
proposition> f pos s >>= layerContent == s
isCodeLayer :: Layer -> Bool Source #
Returns True if the layer contains Agda code.