aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Readers/LaTeX
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2018-08-14 00:03:55 -0700
committerJohn MacFarlane <jgm@berkeley.edu>2018-08-14 00:03:55 -0700
commitc27ce1e70e72302d6cdc05ad59f45d0d04bda363 (patch)
tree9d36c953c6edc3b425930d0c23cb3d73efa3d856 /src/Text/Pandoc/Readers/LaTeX
parent919c50162ccc3d7a347a9427ca23887e54e8a333 (diff)
downloadpandoc-c27ce1e70e72302d6cdc05ad59f45d0d04bda363.tar.gz
LaTeX reader: handle parameter patterns for `\def`.
For example: `\def\foo#1[#2]{#1 and #2}`. Closes #4768. Also fixes #4771. API change: in Text.Pandoc.Readers.LaTeX.Types, new type ArgSpec added. Second parameter of Macro constructor is now `[ArgSpec]` instead of `Int`.
Diffstat (limited to 'src/Text/Pandoc/Readers/LaTeX')
-rw-r--r--src/Text/Pandoc/Readers/LaTeX/Types.hs6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/Text/Pandoc/Readers/LaTeX/Types.hs b/src/Text/Pandoc/Readers/LaTeX/Types.hs
index fa832114b..e3a302d49 100644
--- a/src/Text/Pandoc/Readers/LaTeX/Types.hs
+++ b/src/Text/Pandoc/Readers/LaTeX/Types.hs
@@ -31,6 +31,7 @@ Types for LaTeX tokens and macros.
module Text.Pandoc.Readers.LaTeX.Types ( Tok(..)
, TokType(..)
, Macro(..)
+ , ArgSpec(..)
, ExpansionPoint(..)
, SourcePos
)
@@ -49,5 +50,8 @@ data Tok = Tok SourcePos TokType Text
data ExpansionPoint = ExpandWhenDefined | ExpandWhenUsed
deriving (Eq, Ord, Show)
-data Macro = Macro ExpansionPoint Int (Maybe [Tok]) [Tok]
+data Macro = Macro ExpansionPoint [ArgSpec] (Maybe [Tok]) [Tok]
+ deriving Show
+
+data ArgSpec = ArgNum Int | Pattern [Tok]
deriving Show