git.iko.soy/typeable/pandoc
on master help sign in
Add parseOptionsFromArgs [API change, addition].

Exported by Text.Pandoc.App.

commitec8509295a8de19462ecd352a22b2784158e9ec6 authorJohn MacFarlane <jgm@berkeley.edu> dateTue 2 Feb 2021, 17:00 (6 years ago) parentaf77241
2 files changed+9−2
src/Text/Pandoc/App.hs+3−1 src/Text/Pandoc/App/CommandLineOptions.hs+6−1
src/Text/Pandoc/App.hs+3−1
@@ -19,6 +19,7 @@ module Text.Pandoc.App (
1919 , Filter(..)
2020 , defaultOpts
2121 , parseOptions
22+ , parseOptionsFromArgs
2223 , options
2324 , applyFilters
2425 ) where
@@ -47,7 +48,8 @@ import Text.Pandoc
4748import Text.Pandoc.App.FormatHeuristics (formatFromFilePaths)
4849import Text.Pandoc.App.Opt (Opt (..), LineEnding (..), defaultOpts,
4950 IpynbOutput (..) )
50−import Text.Pandoc.App.CommandLineOptions (parseOptions, options)
51+import Text.Pandoc.App.CommandLineOptions (parseOptions, parseOptionsFromArgs,
52+ options)
5153import Text.Pandoc.App.OutputSettings (OutputSettings (..), optToOutputSettings)
5254import Text.Pandoc.BCP47 (Lang (..), parseBCP47)
5355import Text.Pandoc.Filter (Filter (JSONFilter, LuaFilter), applyFilters)
src/Text/Pandoc/App/CommandLineOptions.hs+6−1
@@ -17,6 +17,7 @@ Does a pandoc conversion based on command-line options.
1717-}
1818module Text.Pandoc.App.CommandLineOptions (
1919 parseOptions
20+ , parseOptionsFromArgs
2021 , options
2122 , engines
2223 , lookupHighlightStyle
@@ -73,9 +74,13 @@ parseOptions :: [OptDescr (Opt -> IO Opt)] -> Opt -> IO Opt
7374parseOptions options' defaults = do
7475 rawArgs <- map UTF8.decodeArg <$> getArgs
7576 prg <- getProgName
77+ parseOptionsFromArgs options' defaults prg rawArgs
7678
79+parseOptionsFromArgs
80+ :: [OptDescr (Opt -> IO Opt)] -> Opt -> String -> [String] -> IO Opt
81+parseOptionsFromArgs options' defaults prg rawArgs = do
7782 let (actions, args, unrecognizedOpts, errors) =
78− getOpt' Permute options' rawArgs
83+ getOpt' Permute options' (map UTF8.decodeArg rawArgs)
7984
8085 let unknownOptionErrors =
8186 foldr (handleUnrecognizedOption . takeWhile (/= '=')) []