mdoc-0.1.0.0: src/Mdoc/Parse/Interpolation.hs
-- |
--
-- Module : Mdoc.Parse.Interpolation
-- Copyright : (c) 2026 Patrick Brisbin
-- License : AGPL-3
-- Maintainer : pbrisbin@gmail.com
-- Stability : experimental
-- Portability : POSIX
module Mdoc.Parse.Interpolation
( parseInterpolationArg
, parseInterpolationLine
) where
import Mdoc.Prelude
import Mdoc.Interpolation
import Mdoc.Parse
parseInterpolationArg :: Parser Interpolation
parseInterpolationArg =
string "{{" *> choice names <* string "}}" <?> "valid interpolation"
where
names :: [Parser Interpolation]
names = map (parseAs interpolationToText) [DocTitle, DocSection]
parseInterpolationLine :: Parser Interpolation
parseInterpolationLine =
string "{{" *> choice (map try names) <* string "}}" <?> "valid interpolation"
where
names :: [Parser Interpolation]
names =
map
(parseAs interpolationToText)
[ Name
, Synopsis
, Description
, Environment
, Files
, ExitStatus
, SeeAlso
]