ALlow multiple comma-separated files for --defaults
.
This commit is contained in:
parent
1b69d5ed94
commit
e96f3fd813
2 changed files with 10 additions and 8 deletions
|
@ -356,11 +356,12 @@ 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*, `--defaults=`*FILE*
|
||||
`-d` *FILE*[,*FILE*,...], `--defaults=`*FILE*[,*FILE*,...]
|
||||
|
||||
: Specify a set of default option settings. *FILE* is a YAML
|
||||
file whose fields correspond to command-line option
|
||||
settings. All options for document conversion, including input
|
||||
settings. (Multiple files may be specified, separated by
|
||||
commas.) 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
|
||||
|
|
|
@ -64,6 +64,7 @@ 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
|
||||
|
@ -161,11 +162,8 @@ options =
|
|||
|
||||
, Option "d" ["defaults"]
|
||||
(ReqArg
|
||||
(\arg opt -> do
|
||||
let fp' = if null (takeExtension arg)
|
||||
then addExtension arg "yaml"
|
||||
else arg
|
||||
foldM applyDefaults opt [fp']
|
||||
(\arg opt ->
|
||||
foldM applyDefaults opt (splitWhen (==',') arg)
|
||||
)
|
||||
"FILE")
|
||||
""
|
||||
|
@ -982,7 +980,10 @@ splitField s =
|
|||
|
||||
-- | Apply defaults from --defaults file.
|
||||
applyDefaults :: Opt -> FilePath -> IO Opt
|
||||
applyDefaults opt fp = runIOorExplode $ do
|
||||
applyDefaults opt filepath = runIOorExplode $ do
|
||||
let fp = if null (takeExtension filepath)
|
||||
then addExtension filepath "yaml"
|
||||
else filepath
|
||||
setVerbosity $ optVerbosity opt
|
||||
dataDirs <- liftIO defaultUserDataDirs
|
||||
let fps = case optDataDir opt of
|
||||
|
|
Loading…
Add table
Reference in a new issue