Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
A parser for gtk-doc formatted documentation, see https://developer.gnome.org/gtk-doc-manual/ for the spec.
Synopsis
- parseGtkDoc :: Text -> GtkDoc
- newtype GtkDoc = GtkDoc [Token]
- data Token
- newtype Language = Language Text
- data Link = Link {
- linkName :: Text
- linkAddress :: Text
- data ListItem = ListItem GtkDoc [GtkDoc]
- data CRef
- = FunctionRef Name
- | OldFunctionRef Text
- | MethodRef Name Text
- | ParamRef Text
- | ConstantRef Text
- | SignalRef Name Text
- | OldSignalRef Text Text
- | LocalSignalRef Text
- | PropertyRef Name Text
- | OldPropertyRef Text Text
- | VMethodRef Text Text
- | VFuncRef Name Text
- | StructFieldRef Text Text
- | CTypeRef Text
- | TypeRef Name
Documentation
parseGtkDoc :: Text -> GtkDoc Source #
Parse the given gtk-doc formatted documentation.
Examples
>>>
parseGtkDoc ""
GtkDoc []
>>>
parseGtkDoc "func()"
GtkDoc [SymbolRef (OldFunctionRef "func")]
>>>
parseGtkDoc "literal"
GtkDoc [Literal "literal"]
>>>
parseGtkDoc "This is a long literal"
GtkDoc [Literal "This is a long literal"]
>>>
parseGtkDoc "Call foo() for free cookies"
GtkDoc [Literal "Call ",SymbolRef (OldFunctionRef "foo"),Literal " for free cookies"]
>>>
parseGtkDoc "The signal ::activate is related to gtk_button_activate()."
GtkDoc [Literal "The signal ",SymbolRef (LocalSignalRef "activate"),Literal " is related to ",SymbolRef (OldFunctionRef "gtk_button_activate"),Literal "."]
>>>
parseGtkDoc "The signal ##%#GtkButton::activate is related to gtk_button_activate()."
GtkDoc [Literal "The signal ##%",SymbolRef (OldSignalRef "GtkButton" "activate"),Literal " is related to ",SymbolRef (OldFunctionRef "gtk_button_activate"),Literal "."]
>>>
parseGtkDoc "# A section\n\n## and a subsection ##\n"
GtkDoc [SectionHeader 1 (GtkDoc [Literal "A section"]),Literal "\n",SectionHeader 2 (GtkDoc [Literal "and a subsection "])]
>>>
parseGtkDoc "Compact list:\n- First item\n- Second item"
GtkDoc [Literal "Compact list:\n",List [ListItem (GtkDoc [Literal "First item"]) [],ListItem (GtkDoc [Literal "Second item"]) []]]
>>>
parseGtkDoc "Spaced list:\n\n- First item\n\n- Second item"
GtkDoc [Literal "Spaced list:\n",List [ListItem (GtkDoc [Literal "First item"]) [],ListItem (GtkDoc [Literal "Second item"]) []]]
>>>
parseGtkDoc "List with urls:\n- [test](http://test)\n- ![](image.png)"
GtkDoc [Literal "List with urls:\n",List [ListItem (GtkDoc [ExternalLink (Link {linkName = "test", linkAddress = "http://test"})]) [],ListItem (GtkDoc [Image (Link {linkName = "", linkAddress = "image.png"})]) []]]
A parsed representation of gtk-doc formatted documentation.
A parsed gtk-doc token.
The language for an embedded code block.
A link to a resource, either offline or a section of the documentation.
Link | |
|
An item in a list, given by a list of lines (not including ending newlines). The list is always non-empty, so we represent it by the first line and then a possibly empty list with the rest of the lines.
A reference to some symbol in the API.