diff options
author | Owen McGrath <7798336+owm111@users.noreply.github.com> | 2019-08-24 11:41:25 -0500 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2019-08-24 09:41:25 -0700 |
commit | 92debe4b9e4bd578290cb24375693d644acb1744 (patch) | |
tree | cd0dc6846c714b043b5bed4f3ad02813c7d27d7b /src/Text/Pandoc/App | |
parent | 5b11ca03e11a99e5514800644e6f8dc761c68026 (diff) | |
download | pandoc-92debe4b9e4bd578290cb24375693d644acb1744.tar.gz |
Change optMetadataFile type from Maybe to List (#5702)
Changed optMetadataFile from `Maybe FilePath` to `[FilePath]`. This allows
for multiple YAML metadata files to be added. The new default value has
been changed from `Nothing` to `[]`.
To account for this change in `Text.Pandoc.App`, `metaDataFromFile` now
operates on two `mapM` calls (for `readFileLazy` and `yamlToMeta`) and a fold.
Added a test (command/5700.md) which tests this functionality and
updated MANUAL.txt, as per the contributing guidelines.
With the current behavior, using `foldr1 (<>)`, values within files
specified first will be used over those in later files. (If the reverse
of this behavior would be preferred, it should be fixed by changing
foldr1 to foldl1.)
Diffstat (limited to 'src/Text/Pandoc/App')
-rw-r--r-- | src/Text/Pandoc/App/CommandLineOptions.hs | 2 | ||||
-rw-r--r-- | src/Text/Pandoc/App/Opt.hs | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/src/Text/Pandoc/App/CommandLineOptions.hs b/src/Text/Pandoc/App/CommandLineOptions.hs index 0757e77ff..7e3910aaa 100644 --- a/src/Text/Pandoc/App/CommandLineOptions.hs +++ b/src/Text/Pandoc/App/CommandLineOptions.hs @@ -181,7 +181,7 @@ options = , Option "" ["metadata-file"] (ReqArg (\arg opt -> return opt{ optMetadataFile = - Just (normalizePath arg) }) + (optMetadataFile opt) <> [normalizePath arg] }) "FILE") "" diff --git a/src/Text/Pandoc/App/Opt.hs b/src/Text/Pandoc/App/Opt.hs index d2d86e960..0b7bb7f2c 100644 --- a/src/Text/Pandoc/App/Opt.hs +++ b/src/Text/Pandoc/App/Opt.hs @@ -54,7 +54,7 @@ data Opt = Opt , optTemplate :: Maybe FilePath -- ^ Custom template , optVariables :: [(String,String)] -- ^ Template variables to set , optMetadata :: [(String, String)] -- ^ Metadata fields to set - , optMetadataFile :: Maybe FilePath -- ^ Name of YAML metadata file + , optMetadataFile :: [FilePath] -- ^ Name of YAML metadata file , optOutputFile :: Maybe FilePath -- ^ Name of output file , optInputFiles :: [FilePath] -- ^ Names of input files , optNumberSections :: Bool -- ^ Number sections in LaTeX @@ -128,7 +128,7 @@ defaultOpts = Opt , optTemplate = Nothing , optVariables = [] , optMetadata = [] - , optMetadataFile = Nothing + , optMetadataFile = [] , optOutputFile = Nothing , optInputFiles = [] , optNumberSections = False |