-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Parser for Org Mode documents. -- -- org-parser provides a parser for Org Mode documents. The Org document -- is parsed into an AST similar to org-element's, and aims to be -- accurate and performant where possible. The types have -- multiwalk instances that allow traversing and querying the AST, -- as well as ordering the AST semantically by its leaf text. It also -- features a test suite comparing it with org-element against many -- corner cases. @package org-parser @version 0.1.0.0 module Org.Data.Entities data Entity Entity :: Text -> Text -> Bool -> Text -> Text -> Text -> Text -> Entity [entityName] :: Entity -> Text [latexReplacement] :: Entity -> Text [latexMathP] :: Entity -> Bool [htmlReplacement] :: Entity -> Text [asciiReplacement] :: Entity -> Text [latin1Replacement] :: Entity -> Text [utf8Replacement] :: Entity -> Text defaultEntitiesNames :: [Text] defaultEntitiesMap :: Map Text Entity defaultEntities :: [Entity] instance GHC.Generics.Generic Org.Data.Entities.Entity instance GHC.Read.Read Org.Data.Entities.Entity instance GHC.Classes.Ord Org.Data.Entities.Entity instance GHC.Classes.Eq Org.Data.Entities.Entity instance GHC.Show.Show Org.Data.Entities.Entity module Org.Types data OrgDocument OrgDocument :: Properties -> [OrgElement] -> [OrgSection] -> OrgDocument [documentProperties] :: OrgDocument -> Properties [documentChildren] :: OrgDocument -> [OrgElement] [documentSections] :: OrgDocument -> [OrgSection] type Properties = Map Text Text lookupProperty :: Text -> OrgDocument -> Maybe Text data OrgSection OrgSection :: Int -> Properties -> Maybe TodoKeyword -> Bool -> Maybe Priority -> [OrgObject] -> Text -> Id -> [Tag] -> PlanningInfo -> [OrgElement] -> [OrgSection] -> OrgSection [sectionLevel] :: OrgSection -> Int [sectionProperties] :: OrgSection -> Properties [sectionTodo] :: OrgSection -> Maybe TodoKeyword [sectionIsComment] :: OrgSection -> Bool [sectionPriority] :: OrgSection -> Maybe Priority [sectionTitle] :: OrgSection -> [OrgObject] [sectionRawTitle] :: OrgSection -> Text -- | Section custom ID (Warning: this field is not populated by the parser! -- in the near future, fields like this one and the Id type will -- be removed in favor of AST extensibility). See also the documentation -- for LinkTarget [sectionAnchor] :: OrgSection -> Id [sectionTags] :: OrgSection -> [Tag] [sectionPlanning] :: OrgSection -> PlanningInfo [sectionChildren] :: OrgSection -> [OrgElement] [sectionSubsections] :: OrgSection -> [OrgSection] -- | A to-do keyword like TODO or DONE. data TodoKeyword TodoKeyword :: TodoState -> Text -> TodoKeyword [todoState] :: TodoKeyword -> TodoState [todoName] :: TodoKeyword -> Text -- | The states in which a todo item can be data TodoState Todo :: TodoState Done :: TodoState type Tag = Text data Priority LetterPriority :: Char -> Priority NumericPriority :: Int -> Priority -- | Planning information for a subtree/headline. data PlanningInfo PlanningInfo :: Maybe TimestampData -> Maybe TimestampData -> Maybe TimestampData -> PlanningInfo [planningClosed] :: PlanningInfo -> Maybe TimestampData [planningDeadline] :: PlanningInfo -> Maybe TimestampData [planningScheduled] :: PlanningInfo -> Maybe TimestampData lookupSectionProperty :: Text -> OrgSection -> Maybe Text type OrgContent = ([OrgElement], [OrgSection]) documentContent :: OrgDocument -> OrgContent mapContentM :: Monad m => (OrgContent -> m OrgContent) -> OrgDocument -> m OrgDocument mapContent :: (OrgContent -> OrgContent) -> OrgDocument -> OrgDocument sectionContent :: OrgSection -> OrgContent mapSectionContentM :: Monad m => (OrgContent -> m OrgContent) -> OrgSection -> m OrgSection mapSectionContent :: (OrgContent -> OrgContent) -> OrgSection -> OrgSection -- | Org element. Like a Pandoc Block. data OrgElement OrgElement :: Keywords -> OrgElementData -> OrgElement [affiliatedKeywords] :: OrgElement -> Keywords [elementData] :: OrgElement -> OrgElementData data OrgElementData -- | Clock Clock :: TimestampData -> Maybe Time -> OrgElementData -- | Greater block GreaterBlock :: GreaterBlockType -> [OrgElement] -> OrgElementData -- | Greater block type [blkType] :: OrgElementData -> GreaterBlockType -- | Greater block elements [blkElements] :: OrgElementData -> [OrgElement] -- | Drawer Drawer :: Text -> [OrgElement] -> OrgElementData -- | Drawer name [drawerName] :: OrgElementData -> Text -- | Drawer elements [drawerElements] :: OrgElementData -> [OrgElement] -- | Plain list PlainList :: ListType -> [ListItem] -> OrgElementData -- | List types [listType] :: OrgElementData -> ListType -- | List items [listItems] :: OrgElementData -> [ListItem] -- | Export block ExportBlock :: Text -> Text -> OrgElementData -- | Example block ExampleBlock :: Map Text Text -> [SrcLine] -> OrgElementData -- | Source blocks SrcBlock :: Text -> Map Text Text -> [(Text, Text)] -> [SrcLine] -> OrgElementData -- | Language [srcBlkLang] :: OrgElementData -> Text -- | Switches [srcBlkSwitches] :: OrgElementData -> Map Text Text -- | Header arguments [srcBlkArguments] :: OrgElementData -> [(Text, Text)] -- | Contents [srcBlkLines] :: OrgElementData -> [SrcLine] VerseBlock :: [[OrgObject]] -> OrgElementData HorizontalRule :: OrgElementData Keyword :: Text -> KeywordValue -> OrgElementData [keywordKey] :: OrgElementData -> Text [keywordValue] :: OrgElementData -> KeywordValue LaTeXEnvironment :: Text -> Text -> OrgElementData Paragraph :: [OrgObject] -> OrgElementData Table :: [TableRow] -> OrgElementData FootnoteDef :: Text -> [OrgElement] -> OrgElementData Comment :: OrgElementData data GreaterBlockType Center :: GreaterBlockType Quote :: GreaterBlockType Special :: Text -> GreaterBlockType data SrcLine SrcLine :: Text -> SrcLine RefLine :: Id -> Text -> Text -> SrcLine srcLineContent :: SrcLine -> Text srcLinesToText :: [SrcLine] -> Text srcLineMap :: (Text -> Text) -> SrcLine -> SrcLine data ListType Ordered :: OrderedStyle -> ListType Descriptive :: ListType Unordered :: Char -> ListType data OrderedStyle OrderedNum :: OrderedStyle OrderedAlpha :: OrderedStyle orderedStyle :: Text -> OrderedStyle -- | One item of a list. Parameters are bullet, counter cookie, checkbox -- and tag. data ListItem ListItem :: Bullet -> Maybe Int -> Maybe Checkbox -> [OrgObject] -> [OrgElement] -> ListItem data Bullet Bullet :: Char -> Bullet Counter :: Text -> Char -> Bullet data Checkbox BoolBox :: Bool -> Checkbox PartialBox :: Checkbox listItemType :: ListItem -> ListType type Keywords = Map Text KeywordValue data KeywordValue ValueKeyword :: Text -> KeywordValue ParsedKeyword :: [OrgObject] -> KeywordValue BackendKeyword :: [(Text, Text)] -> KeywordValue lookupValueKeyword :: Text -> Keywords -> Text lookupParsedKeyword :: Text -> Keywords -> [OrgObject] lookupBackendKeyword :: Text -> Keywords -> [(Text, Text)] keywordsFromList :: [(Text, KeywordValue)] -> Keywords data TableRow StandardRow :: [TableCell] -> TableRow ColumnPropsRow :: [Maybe ColumnAlignment] -> TableRow RuleRow :: TableRow type TableCell = [OrgObject] data ColumnAlignment AlignLeft :: ColumnAlignment AlignCenter :: ColumnAlignment AlignRight :: ColumnAlignment -- | Objects (inline elements). data OrgObject Plain :: Text -> OrgObject LineBreak :: OrgObject Italic :: [OrgObject] -> OrgObject Underline :: [OrgObject] -> OrgObject Bold :: [OrgObject] -> OrgObject Strikethrough :: [OrgObject] -> OrgObject Superscript :: [OrgObject] -> OrgObject Subscript :: [OrgObject] -> OrgObject Quoted :: QuoteType -> [OrgObject] -> OrgObject Code :: Text -> OrgObject Verbatim :: Text -> OrgObject Timestamp :: TimestampData -> OrgObject -- | Entity (e.g. \alpha{}) Entity :: Text -> OrgObject LaTeXFragment :: FragmentType -> Text -> OrgObject -- | Inline export snippet (e.g. @@html:<br/>@@) ExportSnippet :: Text -> Text -> OrgObject -- | Footnote reference. FootnoteRef :: FootnoteRefData -> OrgObject Cite :: Citation -> OrgObject InlBabelCall :: BabelCall -> OrgObject -- | Inline source (e.g. src_html[:foo bar]{<br/>}) Src :: Text -> Text -> Text -> OrgObject Link :: LinkTarget -> [OrgObject] -> OrgObject -- | Inline target (e.g. <<<foo>>>) Target :: Id -> Text -> OrgObject -- | Org inline macro (e.g. {{{poem(red,blue)}}}) Macro :: Text -> [Text] -> OrgObject -- | Statistic cookies. StatisticCookie :: Either (Int, Int) Int -> OrgObject -- | Link target. Note that the parser does not resolve internal links. -- Instead, they should be resolved using the functions in -- org-exporters package. In the near future, the -- InternalLink constructor and Id type will be removed in -- favor of AST extensibility. See also the documentation for -- Target. data LinkTarget URILink :: Protocol -> Text -> LinkTarget InternalLink :: Id -> LinkTarget UnresolvedLink :: Text -> LinkTarget type Protocol = Text type Id = Text linkTargetToText :: LinkTarget -> Text data FragmentType RawFragment :: FragmentType InlMathFragment :: FragmentType DispMathFragment :: FragmentType data Citation Citation :: Text -> Text -> [OrgObject] -> [OrgObject] -> [CiteReference] -> Citation [citationStyle] :: Citation -> Text [citationVariant] :: Citation -> Text [citationPrefix] :: Citation -> [OrgObject] [citationSuffix] :: Citation -> [OrgObject] [citationReferences] :: Citation -> [CiteReference] data CiteReference CiteReference :: Text -> [OrgObject] -> [OrgObject] -> CiteReference [refId] :: CiteReference -> Text [refPrefix] :: CiteReference -> [OrgObject] [refSuffix] :: CiteReference -> [OrgObject] -- | Data for a footnote reference. data FootnoteRefData -- | Label-only footnote reference (e.g. [fn:foo]) FootnoteRefLabel :: Text -> FootnoteRefData -- | Inline footnote definition (e.g. [fn:foo::bar]) FootnoteRefDef :: Maybe Text -> [OrgObject] -> FootnoteRefData -- | An Org timestamp, including repetition marks. data TimestampData TimestampData :: Bool -> DateTime -> TimestampData TimestampRange :: Bool -> DateTime -> DateTime -> TimestampData type DateTime = (Date, Maybe Time, Maybe TimestampMark, Maybe TimestampMark) type TimestampMark = (Text, Int, Char) type Date = (Int, Int, Int, Maybe Text) type Time = (Int, Int) data QuoteType SingleQuote :: QuoteType DoubleQuote :: QuoteType data BabelCall BabelCall :: Text -> Text -> Text -> Text -> BabelCall [babelCallName] :: BabelCall -> Text [babelCallHeader1] :: BabelCall -> Text [babelCallHeader2] :: BabelCall -> Text [babelCallArguments] :: BabelCall -> Text instance Control.DeepSeq.NFData Org.Types.TodoState instance GHC.Generics.Generic Org.Types.TodoState instance Data.Data.Data Org.Types.TodoState instance GHC.Read.Read Org.Types.TodoState instance GHC.Show.Show Org.Types.TodoState instance GHC.Classes.Ord Org.Types.TodoState instance GHC.Classes.Eq Org.Types.TodoState instance Control.DeepSeq.NFData Org.Types.TodoKeyword instance GHC.Generics.Generic Org.Types.TodoKeyword instance Data.Data.Data Org.Types.TodoKeyword instance GHC.Read.Read Org.Types.TodoKeyword instance GHC.Classes.Ord Org.Types.TodoKeyword instance GHC.Classes.Eq Org.Types.TodoKeyword instance GHC.Show.Show Org.Types.TodoKeyword instance Control.DeepSeq.NFData Org.Types.Priority instance GHC.Generics.Generic Org.Types.Priority instance Data.Data.Data Org.Types.Priority instance GHC.Read.Read Org.Types.Priority instance GHC.Classes.Ord Org.Types.Priority instance GHC.Classes.Eq Org.Types.Priority instance GHC.Show.Show Org.Types.Priority instance Control.DeepSeq.NFData Org.Types.TimestampData instance GHC.Generics.Generic Org.Types.TimestampData instance Data.Data.Data Org.Types.TimestampData instance GHC.Read.Read Org.Types.TimestampData instance GHC.Classes.Ord Org.Types.TimestampData instance GHC.Classes.Eq Org.Types.TimestampData instance GHC.Show.Show Org.Types.TimestampData instance Control.DeepSeq.NFData Org.Types.PlanningInfo instance GHC.Generics.Generic Org.Types.PlanningInfo instance Data.Data.Data Org.Types.PlanningInfo instance GHC.Read.Read Org.Types.PlanningInfo instance GHC.Classes.Ord Org.Types.PlanningInfo instance GHC.Classes.Eq Org.Types.PlanningInfo instance GHC.Show.Show Org.Types.PlanningInfo instance Control.DeepSeq.NFData Org.Types.QuoteType instance GHC.Generics.Generic Org.Types.QuoteType instance Data.Data.Data Org.Types.QuoteType instance GHC.Show.Show Org.Types.QuoteType instance GHC.Read.Read Org.Types.QuoteType instance GHC.Classes.Ord Org.Types.QuoteType instance GHC.Classes.Eq Org.Types.QuoteType instance Control.DeepSeq.NFData Org.Types.GreaterBlockType instance GHC.Generics.Generic Org.Types.GreaterBlockType instance Data.Data.Data Org.Types.GreaterBlockType instance GHC.Show.Show Org.Types.GreaterBlockType instance GHC.Read.Read Org.Types.GreaterBlockType instance GHC.Classes.Ord Org.Types.GreaterBlockType instance GHC.Classes.Eq Org.Types.GreaterBlockType instance Control.DeepSeq.NFData Org.Types.OrderedStyle instance GHC.Generics.Generic Org.Types.OrderedStyle instance Data.Data.Data Org.Types.OrderedStyle instance GHC.Show.Show Org.Types.OrderedStyle instance GHC.Read.Read Org.Types.OrderedStyle instance GHC.Classes.Ord Org.Types.OrderedStyle instance GHC.Classes.Eq Org.Types.OrderedStyle instance Control.DeepSeq.NFData Org.Types.ListType instance GHC.Generics.Generic Org.Types.ListType instance Data.Data.Data Org.Types.ListType instance GHC.Show.Show Org.Types.ListType instance GHC.Read.Read Org.Types.ListType instance GHC.Classes.Ord Org.Types.ListType instance GHC.Classes.Eq Org.Types.ListType instance Control.DeepSeq.NFData Org.Types.Bullet instance GHC.Generics.Generic Org.Types.Bullet instance Data.Data.Data Org.Types.Bullet instance GHC.Show.Show Org.Types.Bullet instance GHC.Read.Read Org.Types.Bullet instance GHC.Classes.Ord Org.Types.Bullet instance GHC.Classes.Eq Org.Types.Bullet instance Control.DeepSeq.NFData Org.Types.Checkbox instance GHC.Generics.Generic Org.Types.Checkbox instance Data.Data.Data Org.Types.Checkbox instance GHC.Show.Show Org.Types.Checkbox instance GHC.Read.Read Org.Types.Checkbox instance GHC.Classes.Ord Org.Types.Checkbox instance GHC.Classes.Eq Org.Types.Checkbox instance Control.DeepSeq.NFData Org.Types.BabelCall instance GHC.Generics.Generic Org.Types.BabelCall instance Data.Data.Data Org.Types.BabelCall instance GHC.Show.Show Org.Types.BabelCall instance GHC.Read.Read Org.Types.BabelCall instance GHC.Classes.Ord Org.Types.BabelCall instance GHC.Classes.Eq Org.Types.BabelCall instance Control.DeepSeq.NFData Org.Types.ColumnAlignment instance GHC.Generics.Generic Org.Types.ColumnAlignment instance Data.Data.Data Org.Types.ColumnAlignment instance GHC.Show.Show Org.Types.ColumnAlignment instance GHC.Read.Read Org.Types.ColumnAlignment instance GHC.Classes.Ord Org.Types.ColumnAlignment instance GHC.Classes.Eq Org.Types.ColumnAlignment instance Control.DeepSeq.NFData Org.Types.SrcLine instance GHC.Generics.Generic Org.Types.SrcLine instance Data.Data.Data Org.Types.SrcLine instance GHC.Show.Show Org.Types.SrcLine instance GHC.Read.Read Org.Types.SrcLine instance GHC.Classes.Ord Org.Types.SrcLine instance GHC.Classes.Eq Org.Types.SrcLine instance Control.DeepSeq.NFData Org.Types.LinkTarget instance GHC.Generics.Generic Org.Types.LinkTarget instance Data.Data.Data Org.Types.LinkTarget instance GHC.Read.Read Org.Types.LinkTarget instance GHC.Classes.Ord Org.Types.LinkTarget instance GHC.Classes.Eq Org.Types.LinkTarget instance GHC.Show.Show Org.Types.LinkTarget instance Control.DeepSeq.NFData Org.Types.FragmentType instance GHC.Generics.Generic Org.Types.FragmentType instance Data.Data.Data Org.Types.FragmentType instance GHC.Read.Read Org.Types.FragmentType instance GHC.Classes.Ord Org.Types.FragmentType instance GHC.Classes.Eq Org.Types.FragmentType instance GHC.Show.Show Org.Types.FragmentType instance Control.DeepSeq.NFData Org.Types.FootnoteRefData instance GHC.Generics.Generic Org.Types.FootnoteRefData instance Data.Data.Data Org.Types.FootnoteRefData instance GHC.Read.Read Org.Types.FootnoteRefData instance GHC.Classes.Ord Org.Types.FootnoteRefData instance GHC.Classes.Eq Org.Types.FootnoteRefData instance GHC.Show.Show Org.Types.FootnoteRefData instance Control.DeepSeq.NFData Org.Types.Citation instance GHC.Generics.Generic Org.Types.Citation instance Data.Data.Data Org.Types.Citation instance GHC.Read.Read Org.Types.Citation instance GHC.Classes.Ord Org.Types.Citation instance GHC.Classes.Eq Org.Types.Citation instance GHC.Show.Show Org.Types.Citation instance Control.DeepSeq.NFData Org.Types.OrgObject instance GHC.Generics.Generic Org.Types.OrgObject instance Data.Data.Data Org.Types.OrgObject instance GHC.Read.Read Org.Types.OrgObject instance GHC.Classes.Ord Org.Types.OrgObject instance GHC.Classes.Eq Org.Types.OrgObject instance GHC.Show.Show Org.Types.OrgObject instance Control.DeepSeq.NFData Org.Types.CiteReference instance GHC.Generics.Generic Org.Types.CiteReference instance Data.Data.Data Org.Types.CiteReference instance GHC.Read.Read Org.Types.CiteReference instance GHC.Classes.Ord Org.Types.CiteReference instance GHC.Classes.Eq Org.Types.CiteReference instance GHC.Show.Show Org.Types.CiteReference instance Control.DeepSeq.NFData Org.Types.TableRow instance GHC.Generics.Generic Org.Types.TableRow instance Data.Data.Data Org.Types.TableRow instance GHC.Show.Show Org.Types.TableRow instance GHC.Read.Read Org.Types.TableRow instance GHC.Classes.Ord Org.Types.TableRow instance GHC.Classes.Eq Org.Types.TableRow instance Control.DeepSeq.NFData Org.Types.KeywordValue instance GHC.Generics.Generic Org.Types.KeywordValue instance Data.Data.Data Org.Types.KeywordValue instance GHC.Show.Show Org.Types.KeywordValue instance GHC.Read.Read Org.Types.KeywordValue instance GHC.Classes.Ord Org.Types.KeywordValue instance GHC.Classes.Eq Org.Types.KeywordValue instance Control.DeepSeq.NFData Org.Types.OrgElement instance GHC.Generics.Generic Org.Types.OrgElement instance Data.Data.Data Org.Types.OrgElement instance GHC.Show.Show Org.Types.OrgElement instance GHC.Read.Read Org.Types.OrgElement instance GHC.Classes.Ord Org.Types.OrgElement instance GHC.Classes.Eq Org.Types.OrgElement instance Control.DeepSeq.NFData Org.Types.ListItem instance GHC.Generics.Generic Org.Types.ListItem instance Data.Data.Data Org.Types.ListItem instance GHC.Show.Show Org.Types.ListItem instance GHC.Read.Read Org.Types.ListItem instance GHC.Classes.Ord Org.Types.ListItem instance GHC.Classes.Eq Org.Types.ListItem instance Control.DeepSeq.NFData Org.Types.OrgElementData instance GHC.Generics.Generic Org.Types.OrgElementData instance Data.Data.Data Org.Types.OrgElementData instance GHC.Show.Show Org.Types.OrgElementData instance GHC.Read.Read Org.Types.OrgElementData instance GHC.Classes.Ord Org.Types.OrgElementData instance GHC.Classes.Eq Org.Types.OrgElementData instance Control.DeepSeq.NFData Org.Types.OrgSection instance GHC.Generics.Generic Org.Types.OrgSection instance Data.Data.Data Org.Types.OrgSection instance GHC.Show.Show Org.Types.OrgSection instance GHC.Read.Read Org.Types.OrgSection instance GHC.Classes.Ord Org.Types.OrgSection instance GHC.Classes.Eq Org.Types.OrgSection instance Control.DeepSeq.NFData Org.Types.OrgDocument instance GHC.Generics.Generic Org.Types.OrgDocument instance GHC.Show.Show Org.Types.OrgDocument instance GHC.Read.Read Org.Types.OrgDocument instance GHC.Classes.Ord Org.Types.OrgDocument instance GHC.Classes.Eq Org.Types.OrgDocument instance GHC.Base.Semigroup Org.Types.KeywordValue instance Data.Aeson.Types.ToJSON.ToJSON Org.Types.TodoKeyword instance Data.Aeson.Types.FromJSON.FromJSON Org.Types.TodoKeyword instance Data.Aeson.Types.ToJSON.ToJSON Org.Types.TodoState instance Data.Aeson.Types.FromJSON.FromJSON Org.Types.TodoState module Org.Builder newtype Many a Many :: Seq a -> Many a [unMany] :: Many a -> Seq a type OrgObjects = Many OrgObject type OrgElements = Many OrgElement element :: OrgElementData -> OrgElements element' :: [(Text, KeywordValue)] -> OrgElementData -> OrgElements para :: OrgObjects -> OrgElementData export :: Text -> Text -> OrgElementData example :: Map Text Text -> [SrcLine] -> OrgElementData srcBlock :: Text -> Map Text Text -> [(Text, Text)] -> [SrcLine] -> OrgElementData greaterBlock :: GreaterBlockType -> OrgElements -> OrgElementData drawer :: Text -> OrgElements -> OrgElementData latexEnvironment :: Text -> Text -> OrgElementData listItemUnord :: Char -> OrgElements -> ListItem list :: ListType -> [ListItem] -> OrgElementData orderedList :: OrderedStyle -> Char -> [OrgElements] -> OrgElementData descriptiveList :: [(OrgObjects, OrgElements)] -> OrgElementData parsedKeyword :: OrgObjects -> KeywordValue valueKeyword :: Text -> KeywordValue attrKeyword :: [(Text, Text)] -> KeywordValue keyword :: Text -> KeywordValue -> OrgElementData clock :: TimestampData -> Maybe Time -> OrgElementData footnoteDef :: Text -> OrgElements -> OrgElementData horizontalRule :: OrgElementData table :: [TableRow] -> OrgElementData standardRow :: [OrgObjects] -> TableRow plain :: Text -> OrgObjects italic :: OrgObjects -> OrgObjects underline :: OrgObjects -> OrgObjects bold :: OrgObjects -> OrgObjects strikethrough :: OrgObjects -> OrgObjects superscript :: OrgObjects -> OrgObjects subscript :: OrgObjects -> OrgObjects singleQuoted :: OrgObjects -> OrgObjects doubleQuoted :: OrgObjects -> OrgObjects quoted :: QuoteType -> OrgObjects -> OrgObjects citation :: Citation -> OrgObjects citation' :: Text -> Text -> OrgObjects -> OrgObjects -> [CiteReference] -> OrgObjects timestamp :: TimestampData -> OrgObjects -- | Plain inline code. code :: Text -> OrgObjects -- | Inline verbatim. verbatim :: Text -> OrgObjects linebreak :: OrgObjects entity :: Text -> OrgObjects fragment :: Text -> OrgObjects inlMath :: Text -> OrgObjects dispMath :: Text -> OrgObjects exportSnippet :: Text -> Text -> OrgObjects inlBabel :: Text -> Text -> Text -> Text -> OrgObjects macro :: Text -> [Text] -> OrgObjects inlSrc :: Text -> Text -> Text -> OrgObjects link :: LinkTarget -> OrgObjects -> OrgObjects uriLink :: Text -> Text -> OrgObjects -> OrgObjects target :: Id -> Text -> OrgObjects footnoteLabel :: Text -> OrgObjects footnoteInlDef :: Maybe Text -> OrgObjects -> OrgObjects statisticCookie :: Either (Int, Int) Int -> OrgObjects instance GHC.Read.Read a => GHC.Read.Read (Org.Builder.Many a) instance GHC.Show.Show a => GHC.Show.Show (Org.Builder.Many a) instance GHC.Base.Functor Org.Builder.Many instance Data.Traversable.Traversable Org.Builder.Many instance Data.Foldable.Foldable Org.Builder.Many instance GHC.Classes.Eq a => GHC.Classes.Eq (Org.Builder.Many a) instance GHC.Classes.Ord a => GHC.Classes.Ord (Org.Builder.Many a) instance GHC.Generics.Generic (Org.Builder.Many a) instance GHC.Base.Semigroup Org.Builder.OrgElements instance GHC.Base.Monoid Org.Builder.OrgElements instance Data.String.IsString Org.Builder.OrgElements instance GHC.Base.Semigroup Org.Builder.OrgObjects instance GHC.Base.Monoid Org.Builder.OrgObjects instance Data.String.IsString Org.Builder.OrgObjects instance Relude.Container.One.One (Org.Builder.Many a) instance GHC.Exts.IsList (Org.Builder.Many a) -- | Parsers for Org objects. module Org.Parser.Objects minimalSet :: Marked OrgParser OrgObjects standardSet :: Marked OrgParser OrgObjects data Marked m a Marked :: String -> m a -> Marked m a [getMarks] :: Marked m a -> String [getParser] :: Marked m a -> m a -- | Parse inside a "context": text that is not captured by the parser -- elems gets converted to the type k via the function -- f. markupContext :: Monoid k => (Text -> k) -> Marked OrgParser k -> OrgParser k -- | Parse inside a "plain context", i.e., plain text not matched by any -- parsers gets converted to Plain objects. -- --
--   plainMarkupContext = markupContext plain
--   
plainMarkupContext :: Marked OrgParser OrgObjects -> OrgParser OrgObjects markup :: (OrgObjects -> OrgObjects) -> Char -> Marked OrgParser OrgObjects rawMarkup :: (Text -> OrgObjects) -> Char -> Marked OrgParser OrgObjects -- | Parse a code object. code :: Marked OrgParser OrgObjects -- | Parse a verbatim object. verbatim :: Marked OrgParser OrgObjects -- | Parse an italic object. italic :: Marked OrgParser OrgObjects -- | Parse an underline object. underline :: Marked OrgParser OrgObjects -- | Parse a bold object. bold :: Marked OrgParser OrgObjects -- | Parse a strikethrough object. strikethrough :: Marked OrgParser OrgObjects -- | Parse a single-quoted object. singleQuoted :: Marked OrgParser OrgObjects -- | Parse a double-quoted object. doubleQuoted :: Marked OrgParser OrgObjects -- | Parse an entity object. entity :: Marked OrgParser OrgObjects -- | Parse a LaTeX fragment object. latexFragment :: Marked OrgParser OrgObjects -- | Parse a TeX math fragment object. texMathFragment :: Marked OrgParser OrgObjects -- | Parse an export snippet object. exportSnippet :: Marked OrgParser OrgObjects -- | Parse a citation object. citation :: Marked OrgParser OrgObjects -- | Parse an inline babel call object. inlBabel :: Marked OrgParser OrgObjects -- | Parse an inline source object. inlSrc :: Marked OrgParser OrgObjects -- | Parse a linebreak object. linebreak :: Marked OrgParser OrgObjects -- | Parse a angle link object. angleLink :: Marked OrgParser OrgObjects -- | Parse a regular link object. regularLink :: Marked OrgParser OrgObjects -- | Parse a target object. target :: Marked OrgParser OrgObjects -- | Parse a subscript or a superscript object. suscript :: Marked OrgParser OrgObjects -- | Parse a macro object. macro :: Marked OrgParser OrgObjects -- | Parse a footnote reference object. footnoteReference :: Marked OrgParser OrgObjects -- | Parse a timestamp object. timestamp :: Marked OrgParser OrgObjects -- | Parse a statistic cookie object. statisticCookie :: Marked OrgParser OrgObjects -- | Transform the link text into a link target. linkToTarget :: Text -> LinkTarget -- | Parse a timestamp. parseTimestamp :: OrgParser TimestampData -- | Parsers for Org elements. module Org.Parser.Elements -- | Parse zero or more Org elements. elements :: OrgParser OrgElements -- | Parse a plain list. plainList :: OrgParser OrgElementData -- | Parse a greater block. greaterBlock :: OrgParser OrgElementData -- | Parse a drawer. drawer :: OrgParser OrgElementData -- | Parse a footnote definition. footnoteDef :: OrgParser OrgElementData -- | Parse a table. table :: OrgParser OrgElementData clock :: OrgParser OrgElementData -- | Parse an example block. exampleBlock :: OrgParser OrgElementData -- | Parse a fixed width block. fixedWidth :: OrgParser OrgElementData -- | Parse a source block. srcBlock :: OrgParser OrgElementData -- | Parse an export block. exportBlock :: OrgParser OrgElementData -- | Parse a LaTeX environment. latexEnvironment :: OrgParser OrgElementData -- | Parse a keyword. keyword :: OrgParser OrgElementData -- | Parse a horizontal rule. horizontalRule :: OrgParser OrgElementData -- | Parse a comment. commentLine :: OrgParser OrgElementData -- | Parse a comment block. commentBlock :: OrgParser OrgElementData -- | Parsers for Org documents. module Org.Parser.Document -- | Parse an Org document. orgDocument :: OrgParser OrgDocument -- | Parse an Org section and its contents. lvl gives the minimum -- acceptable level of the heading. section :: Int -> OrgParser OrgSection -- | Parse a :PROPERTIES: drawer and return the key/value pairs contained -- within. propertyDrawer :: OrgParser Properties module Org.Parser data OrgParser a type OrgParseError = ParseErrorBundle Text Void data OrgOptions OrgOptions :: Bool -> Int -> TodoSequence -> Set Text -> Set Text -> Set Text -> OrgOptions [orgSrcPreserveIndentation] :: OrgOptions -> Bool [orgSrcTabWidth] :: OrgOptions -> Int [orgTodoKeywords] :: OrgOptions -> TodoSequence [orgElementParsedKeywords] :: OrgOptions -> Set Text [orgElementDualKeywords] :: OrgOptions -> Set Text [orgElementAffiliatedKeywords] :: OrgOptions -> Set Text -- | Collection of todo markers in the order in which items should progress type TodoSequence = [TodoKeyword] defaultOrgOptions :: OrgOptions -- | Evaluate the Org Parser state with the desired options. Returns -- Nothing in case of parse failure. parseOrgMaybe :: OrgOptions -> OrgParser a -> Text -> Maybe a -- | Wrapper around parse that evaluates the Org Parser state with -- the desired options. parseOrg :: OrgOptions -> OrgParser a -> FilePath -> Text -> Either OrgParseError a -- | Parse an Org document fully, with given options, and a filepath for -- error messages. parseOrgDoc :: OrgOptions -> FilePath -> Text -> Either OrgParseError OrgDocument -- | Parse an Org document in a UTF8 file, with given options. parseOrgDocIO :: MonadIO m => OrgOptions -> FilePath -> m OrgDocument module Org.Walk type DoubleList a = MatchWith [[a]] (Trav (Compose [] []) a) type List a = Trav [] a type Query m = Query MWTag m type WalkM m = Walk MWTag m type Walk = Walk MWTag Identity data MWTag query :: (MultiWalk MWTag c, MultiWalk MWTag t, Monoid m) => (t -> m) -> c -> m walkM :: (MultiWalk MWTag c, MultiWalk MWTag t, Monad m) => (t -> m t) -> c -> m c walk :: (MultiWalk MWTag c, MultiWalk MWTag t) => (t -> t) -> c -> c buildMultiQ :: (MultiWalk MWTag a, Monoid m) => (Query m -> QList m (MultiTypes MWTag) -> QList m (MultiTypes MWTag)) -> a -> m buildMultiW :: (MultiWalk MWTag a, Applicative m) => (WalkM m -> FList m (MultiTypes MWTag) -> FList m (MultiTypes MWTag)) -> a -> m a type MultiWalk tag t = (AllMods TContains MultiTypes tag SubTypes tag t, QContains MultiTypes tag t, FContains MultiTypes tag t, HasSub HasSubTag tag t SubTypes tag t t) (.>) :: forall (ls :: [Type]) t m. FContains ls t => FList m ls -> (t -> m t) -> FList m ls (?>) :: forall (ls :: [Type]) t m. QContains ls t => QList m ls -> (t -> m) -> QList m ls instance Control.MultiWalk.MultiSub Org.Walk.MWTag Org.Types.OrgElementData instance Control.MultiWalk.MultiSub Org.Walk.MWTag Org.Types.OrgDocument instance Control.MultiWalk.MultiSub Org.Walk.MWTag Org.Types.OrgElement instance Control.MultiWalk.MultiSub Org.Walk.MWTag Org.Types.ListItem instance Control.MultiWalk.MultiSub Org.Walk.MWTag Org.Types.OrgSection instance Control.MultiWalk.MultiSub Org.Walk.MWTag Org.Types.OrgObject instance Control.MultiWalk.MultiSub Org.Walk.MWTag Org.Types.Citation instance Control.MultiWalk.MultiTag Org.Walk.MWTag -- | This module implements comparasion of Org contents, using multiwalk. -- You should use this instead of the default Ord instances when you want -- to compare Org content semantically. module Org.Compare compareContent :: MultiWalk MWTag a => a -> a -> Ordering compareContents :: MultiWalk MWTag a => [a] -> [a] -> Ordering toAtoms :: MultiWalk MWTag a => a -> [Atom] data Atom instance GHC.Classes.Ord Org.Compare.Atom instance GHC.Classes.Eq Org.Compare.Atom