@@ -64,6 +64,7 @@ import Data.Text (Text)
6464import Text.DocTemplates (ToContext(toVal), Context(..))
6565import qualified Text.Pandoc.UTF8 as UTF8
6666import qualified Data.YAML as Y
67+import Data.List.Split (splitWhen)
6768
6869parseOptions :: [OptDescr (Opt -> IO Opt)] -> Opt -> IO Opt
6970parseOptions options' defaults = do
@@ -161,11 +162,8 @@ options =
161162
162163 , Option "d" ["defaults"]
163164 (ReqArg
164− (\arg opt -> do
165− let fp' = if null (takeExtension arg)
166− then addExtension arg "yaml"
167− else arg
168− foldM applyDefaults opt [fp']
165+ (\arg opt ->
166+ foldM applyDefaults opt (splitWhen (==',') arg)
169167 )
170168 "FILE")
171169 ""
@@ -982,7 +980,10 @@ splitField s =
982980
983981-- | Apply defaults from --defaults file.
984982applyDefaults :: Opt -> FilePath -> IO Opt
985−applyDefaults opt fp = runIOorExplode $ do
983+applyDefaults opt filepath = runIOorExplode $ do
984+ let fp = if null (takeExtension filepath)
985+ then addExtension filepath "yaml"
986+ else filepath
986987 setVerbosity $ optVerbosity opt
987988 dataDirs <- liftIO defaultUserDataDirs
988989 let fps = case optDataDir opt of