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.
This commit is contained in:
parent
00561b1bb9
commit
845b6c8670
2 changed files with 36 additions and 3 deletions
12
MANUAL.txt
12
MANUAL.txt
|
@ -685,8 +685,16 @@ General writer options
|
|||
Instead of a *STYLE* name, a JSON file with extension
|
||||
`.theme` may be supplied. This will be parsed as a KDE
|
||||
syntax highlighting theme and (if valid) used as the
|
||||
highlighting style. To see a sample theme that can be
|
||||
modified, `pandoc --print-default-data-file default.theme`.
|
||||
highlighting style.
|
||||
|
||||
To generate the JSON version of an existing style,
|
||||
use `--print-highlight-style`.
|
||||
|
||||
`--print-highlight-style=`*STYLE*|*FILE*
|
||||
|
||||
: Prints a JSON version of a highlighting style, which can
|
||||
be modified, saved with a `.theme` extension, and used
|
||||
with `--highlight-style`.
|
||||
|
||||
`--syntax-definition=`*FILE*
|
||||
|
||||
|
|
|
@ -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 ->
|
||||
|
|
Loading…
Add table
Reference in a new issue