haskell-gi-0.20.1: lib/Data/GI/GIR/Documentation.hs
-- | Parsing of documentation nodes.
module Data.GI.GIR.Documentation
( Documentation(..)
, queryDocumentation
) where
import Data.Text (Text)
import Text.XML (Element)
import Data.GI.GIR.XMLUtils (firstChildWithLocalName, getElementContent,
lookupAttr)
-- | Documentation for a given element. The documentation text is
-- typically encoded in the gtk-doc format, see
-- https://developer.gnome.org/gtk-doc-manual/ . This can be parsed
-- with `Data.GI.GIR.parseGtkDoc`.
data Documentation = Documentation { rawDocText :: Maybe Text
, sinceVersion :: Maybe Text
} deriving (Show, Eq, Ord)
-- | Parse the documentation node for the given element of the GIR file.
queryDocumentation :: Element -> Documentation
queryDocumentation element = Documentation {
rawDocText = firstChildWithLocalName "doc" element >>= getElementContent,
sinceVersion = lookupAttr "version" element
}