@@ -64,6 +64,7 @@ import Data.Text (Text)
64import Text.DocTemplates (ToContext(toVal), Context(..))
64import Text.DocTemplates (ToContext(toVal), Context(..))
65import qualified Text.Pandoc.UTF8 as UTF8
65import qualified Text.Pandoc.UTF8 as UTF8
66import qualified Data.YAML as Y
66import qualified Data.YAML as Y
67+import Data.List.Split (splitWhen)
68parseOptions :: [OptDescr (Opt -> IO Opt)] -> Opt -> IO Opt
69parseOptions :: [OptDescr (Opt -> IO Opt)] -> Opt -> IO Opt
69parseOptions options' defaults = do
70parseOptions options' defaults = do
@@ -161,11 +162,8 @@ options =
162 , Option "d" ["defaults"]
163 , Option "d" ["defaults"]
164− (\arg opt -> do
165+ (\arg opt ->
165− let fp' = if null (takeExtension arg)
166− then addExtension arg "yaml"
168− foldM applyDefaults opt [fp']
166+ foldM applyDefaults opt (splitWhen (==',') arg)
@@ -982,7 +980,10 @@ splitField s =
983-- | Apply defaults from --defaults file.
981-- | Apply defaults from --defaults file.
984applyDefaults :: Opt -> FilePath -> IO Opt
982applyDefaults :: 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 setVerbosity $ optVerbosity opt
987 setVerbosity $ optVerbosity opt
987 dataDirs <- liftIO defaultUserDataDirs
988 dataDirs <- liftIO defaultUserDataDirs
988 let fps = case optDataDir opt of
989 let fps = case optDataDir opt of