mirror of
https://github.com/jgm/pandoc.git
synced 2026-09-29 02:45:35 +00:00
Refine command line option preprocessor and add tests for #8956.
The substantive change here is the `-strue` will now work instead of being interpreted as `-s -true`. This is somewhat ad hoc, but I don't think we'll ever have an output format named `rue`, so it's probably okay.
This commit is contained in:
@@ -238,8 +238,16 @@ pdfEngines = nubOrd $ map snd engines
|
||||
preprocessArgs :: [String] -> [String]
|
||||
preprocessArgs [] = []
|
||||
preprocessArgs ("--":xs) = "--" : xs -- a bare '--' ends option parsing
|
||||
-- note that -strue is interpreted as -strue while
|
||||
-- -stmarkdown is interpreted as -s -tmarkdown
|
||||
preprocessArgs (('-':c:d:cs):xs)
|
||||
| isShortBooleanOpt c
|
||||
, case toLower <$> (d:cs) of
|
||||
"true" -> True
|
||||
"false" -> True
|
||||
_ -> False
|
||||
= ('-':c:d:cs) : preprocessArgs xs
|
||||
| isShortBooleanOpt c
|
||||
, isShortOpt d = splitArg (c:d:cs) ++ preprocessArgs xs
|
||||
preprocessArgs (x:xs) = x : preprocessArgs xs
|
||||
|
||||
|
||||
Reference in New Issue
Block a user