module Text.Authoring.Combinator.Meta where
import Control.Monad.Writer
import Data.Text (Text)
import Text.Authoring.Document
import Text.Authoring.Combinator.Writer
braces :: (MonadWriter t m, HasDocument t) => m () -> m ()
braces con = do
raw "{"
con
raw "}"
command0 :: (MonadWriter t m, HasDocument t) => Text -> m ()
command0 x = do
raw "\\"
raw x
raw "{}"
command1 :: (MonadWriter t m, HasDocument t) => Text -> m () -> m ()
command1 x con = do
raw "\\"
raw x
raw "{"
con
raw "}"
commandI :: (MonadWriter t m, HasDocument t) => Text -> m () -> m ()
commandI x con = do
raw "{\\"
raw x
raw " "
con
raw "}"
environment :: (MonadWriter t m, HasDocument t) => Text -> m () -> m ()
environment x con = do
raw "\\begin{"
raw x
raw "}"
con
raw "\\end{"
raw x
raw "}"