From 73fe7c129e065bb5852def89a83bf8a6e474dc7e Mon Sep 17 00:00:00 2001
From: John MacFarlane <jgm@berkeley.edu>
Date: Wed, 19 Jan 2022 10:20:15 -0800
Subject: [PATCH] Docx reader:  add skeleton for parsing zotero ADDINs.

So far this just adds a constructor for FieldInfo;
we'll need to adjust the rest of the reader code to
parse the JSON and do something with it.

See #7840.
---
 src/Text/Pandoc/Readers/Docx/Fields.hs | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/src/Text/Pandoc/Readers/Docx/Fields.hs b/src/Text/Pandoc/Readers/Docx/Fields.hs
index 5f090b6be..4d7bc3757 100644
--- a/src/Text/Pandoc/Readers/Docx/Fields.hs
+++ b/src/Text/Pandoc/Readers/Docx/Fields.hs
@@ -26,6 +26,7 @@ type Anchor = T.Text
 data FieldInfo = HyperlinkField URL
                 -- The boolean indicates whether the field is a hyperlink.
                | PagerefField Anchor Bool
+               | ZoteroField T.Text
                | UnknownField
                deriving (Show)
 
@@ -38,8 +39,21 @@ fieldInfo =
   <|>
   try ((uncurry PagerefField) <$> pageref) 
   <|>
+  try (ZoteroField <$> zotero)
+  <|>
   return UnknownField
 
+zotero :: Parser T.Text
+zotero = do
+  spaces
+  string "ADDIN"
+  spaces
+  string "ZOTERO_ITEM"
+  spaces
+  string "CSL_CITATION"
+  spaces
+  getInput
+
 escapedQuote :: Parser T.Text
 escapedQuote = string "\\\"" $> "\\\""