@@ -56,7 +56,7 @@ import Data.Yaml (decode)
5656import qualified Data.Yaml as Yaml
5757import Network.URI (URI (..), isURI, parseURI)
5858import Paths_pandoc (getDataDir)
59−import Skylighting (Style, Syntax (..), defaultSyntaxMap)
59+import Skylighting (Style, Syntax (..), defaultSyntaxMap, parseTheme)
6060import Skylighting.Parser (missingIncludes, parseSyntaxDefinition,
6161 addSyntaxDefinition)
6262import System.Console.GetOpt
@@ -802,7 +802,13 @@ writerFn f = liftIO . UTF8.writeFile f
802802
803803lookupHighlightStyle :: Maybe String -> IO (Maybe Style)
804804lookupHighlightStyle Nothing = return Nothing
805−lookupHighlightStyle (Just s) =
805+lookupHighlightStyle (Just s)
806+ | takeExtension s == ".theme" = -- attempt to load KDE theme
807+ do contents <- B.readFile s
808+ case parseTheme contents of
809+ Left _ -> err 69 $ "Could not read highlighting theme " ++ s
810+ Right sty -> return (Just sty)
811+ | otherwise =
806812 case lookup (map toLower s) highlightingStyles of
807813 Just sty -> return (Just sty)
808814 Nothing -> err 68 $ "Unknown highlight-style " ++ s