diff options
author | John MacFarlane <jgm@berkeley.edu> | 2017-02-04 10:09:20 +0100 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2017-02-04 10:09:20 +0100 |
commit | 7d3702e807abbb1c987157b47135bf9efdcaff98 (patch) | |
tree | 18b18329ab73f64f057743adf495bb72dad7f066 /pandoc.hs | |
parent | 3a332fa07674d27644c67a5c0259b40c5838fb24 (diff) |
Simplified Opt structure in cli option parsing.
We should make this closer to the actual options,
and do processing outside.
Diffstat (limited to 'pandoc.hs')
-rw-r--r-- | pandoc.hs | 19 |
1 files changed, 10 insertions, 9 deletions
@@ -124,7 +124,7 @@ convertWithOpts opts args = do , optVariables = variables , optMetadata = metadata , optTableOfContents = toc - , optTransforms = transforms + , optBaseHeaderLevel = baseHeaderLevel , optTemplate = templatePath , optOutputFile = outputFile , optNumberSections = numberSections @@ -354,6 +354,10 @@ convertWithOpts opts args = do "Specify an output file using the -o option." + let transforms = if baseHeaderLevel > 1 + then [headerShift (baseHeaderLevel - 1)] + else [] + let convertTabs = tabFilter (if preserveTabs || readerName' == "t2t" then 0 else tabStop) @@ -526,7 +530,7 @@ data Opt = Opt , optWriter :: String -- ^ Writer format , optParseRaw :: Bool -- ^ Parse unconvertable HTML and TeX , optTableOfContents :: Bool -- ^ Include table of contents - , optTransforms :: [Transform] -- ^ Doc transforms to apply + , optBaseHeaderLevel :: Int -- ^ Base header level , optTemplate :: Maybe FilePath -- ^ Custom template , optVariables :: [(String,String)] -- ^ Template variables to set , optMetadata :: M.Map String MetaValue -- ^ Metadata fields to set @@ -585,7 +589,7 @@ defaultOpts = Opt , optWriter = "" -- null for default writer , optParseRaw = False , optTableOfContents = False - , optTransforms = [] + , optBaseHeaderLevel = 1 , optTemplate = Nothing , optVariables = [] , optMetadata = M.empty @@ -671,13 +675,10 @@ options = (ReqArg (\arg opt -> case safeRead arg of - Just t | t > 0 -> do - let oldTransforms = optTransforms opt - let shift = t - 1 - return opt{ optTransforms = - headerShift shift : oldTransforms } + Just t | t > 0 && t < 6 -> do + return opt{ optBaseHeaderLevel = t } _ -> err 19 - "base-header-level must be a number > 0") + "base-header-level must be 1-5") "NUMBER") "" -- "Headers base level" |