aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MANUAL.txt5
-rw-r--r--src/Text/Pandoc/App/CommandLineOptions.hs13
2 files changed, 8 insertions, 10 deletions
diff --git a/MANUAL.txt b/MANUAL.txt
index 92c439f32..de6c48446 100644
--- a/MANUAL.txt
+++ b/MANUAL.txt
@@ -356,12 +356,11 @@ header when requesting a document from a URL:
`slidy`, `slideous`, or `s5` directory
placed in this directory will override pandoc's normal defaults.
-`-d` *FILE*[,*FILE*,...], `--defaults=`*FILE*[,*FILE*,...]
+`-d` *FILE*, `--defaults=`*FILE*
: Specify a set of default option settings. *FILE* is a YAML
file whose fields correspond to command-line option
- settings. (Multiple files may be specified, separated by
- commas.) All options for document conversion, including input
+ settings. All options for document conversion, including input
and output files, can be set using a defaults file. The file will
be searched for first in the working directory, and then in
the `defaults` subdirectory of the user data directory
diff --git a/src/Text/Pandoc/App/CommandLineOptions.hs b/src/Text/Pandoc/App/CommandLineOptions.hs
index cf5fb51dc..019ec9220 100644
--- a/src/Text/Pandoc/App/CommandLineOptions.hs
+++ b/src/Text/Pandoc/App/CommandLineOptions.hs
@@ -64,7 +64,6 @@ import Data.Text (Text)
import Text.DocTemplates (ToContext(toVal), Context(..))
import qualified Text.Pandoc.UTF8 as UTF8
import qualified Data.YAML as Y
-import Data.List.Split (splitWhen)
parseOptions :: [OptDescr (Opt -> IO Opt)] -> Opt -> IO Opt
parseOptions options' defaults = do
@@ -162,8 +161,11 @@ options =
, Option "d" ["defaults"]
(ReqArg
- (\arg opt ->
- foldM applyDefaults opt (splitWhen (==',') arg)
+ (\arg opt -> do
+ let fp' = if null (takeExtension arg)
+ then addExtension arg "yaml"
+ else arg
+ foldM applyDefaults opt [fp']
)
"FILE")
""
@@ -980,10 +982,7 @@ splitField s =
-- | Apply defaults from --defaults file.
applyDefaults :: Opt -> FilePath -> IO Opt
-applyDefaults opt filepath = runIOorExplode $ do
- let fp = if null (takeExtension filepath)
- then addExtension filepath "yaml"
- else filepath
+applyDefaults opt fp = runIOorExplode $ do
setVerbosity $ optVerbosity opt
dataDirs <- liftIO defaultUserDataDirs
let fps = case optDataDir opt of