docvim-0.3.0.0: lib/Text/Docvim/Visitor/Footer.hs
module Text.Docvim.Visitor.Footer (extractFooter) where
import Control.Applicative
import Text.Docvim.AST
import Text.Docvim.Visitor
-- | Extracts a list of nodes (if any exist) from the `@footer` section(s) of
-- the source code.
--
-- It is not recommended to have multiple footers in a project. If multiple
-- footers (potentially across multiple translation units) exist, there are no
-- guarantees about order but they just get concatenated in the order we see
-- them.
extractFooter :: Alternative f => [Node] -> (f [Node], [Node])
extractFooter = extractBlocks f
where
f x = if x == FooterAnnotation
then Just endSection
else Nothing