diff options
author | John MacFarlane <jgm@berkeley.edu> | 2017-11-28 13:35:49 -0800 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2017-11-28 13:35:49 -0800 |
commit | 845b6c8670a6d1a11c1a31ec15ec2f0831883cbe (patch) | |
tree | 600be732d34508be96fa568fe514c0430cd0cfe3 /src/Text | |
parent | 00561b1bb956a5b4de291e80001cf752c38c4549 (diff) | |
download | pandoc-845b6c8670a6d1a11c1a31ec15ec2f0831883cbe.tar.gz |
Added --print-highlight-style option.
This generates a JSON version of a highlighting style, which can be
saved as a .theme file, modified, and used with `--highlight-style`.
Closes #4106.
Closes #4096.
Diffstat (limited to 'src/Text')
-rw-r--r-- | src/Text/Pandoc/App.hs | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/src/Text/Pandoc/App.hs b/src/Text/Pandoc/App.hs index 3c52e4247..f1c21c69a 100644 --- a/src/Text/Pandoc/App.hs +++ b/src/Text/Pandoc/App.hs @@ -63,7 +63,10 @@ import qualified Data.Yaml as Yaml import GHC.Generics import Network.URI (URI (..), parseURI) import Paths_pandoc (getDataDir) -import Skylighting (Style, Syntax (..), defaultSyntaxMap, parseTheme) +import Data.Aeson.Encode.Pretty (encodePretty', Config(..), keyOrder, + defConfig, Indent(..), NumberFormat(..)) +import Skylighting (Style, Syntax (..), defaultSyntaxMap, parseTheme, + pygments) import Skylighting.Parser (addSyntaxDefinition, missingIncludes, parseSyntaxDefinition) import System.Console.GetOpt @@ -1047,6 +1050,28 @@ options = "FILE") "" -- "Print default data file" + , Option "" ["print-highlight-style"] + (ReqArg + (\arg _ -> do + sty <- fromMaybe pygments <$> + lookupHighlightStyle (Just arg) + B.putStr $ encodePretty' + defConfig{confIndent = Spaces 4 + ,confCompare = keyOrder + (map T.pack + ["text-color" + ,"background-color" + ,"line-numbers" + ,"bold" + ,"italic" + ,"underline" + ,"text-styles"]) + ,confNumFormat = Generic + ,confTrailingNewline = True} sty + exitSuccess) + "STYLE|FILE") + "" -- "Print default template for FORMAT" + , Option "" ["dpi"] (ReqArg (\arg opt -> |