summaryrefslogtreecommitdiff
path: root/Utilities/Sphinx/colors.py
diff options
context:
space:
mode:
authorJoachim Wuttke (o) <j.wuttke@fz-juelich.de>2018-10-10 09:39:17 +0200
committerCraig Scott <craig.scott@crascit.com>2018-10-19 07:25:34 +1100
commitfc7ee1ca459c3b231aa1fb64aeeaee590c019513 (patch)
tree77525a7817e1d2be7cb55c91ff0357bc9e284fc4 /Utilities/Sphinx/colors.py
parent74b3eacdc755bc056aac65bf5c0b45aa02d097d4 (diff)
downloadcmake-fc7ee1ca459c3b231aa1fb64aeeaee590c019513.tar.gz
Help: Override pygments CMakeLexer to support <..> and [..]
* The code snippets in the docs consist of CMake code mixed with syntax definition punctuation like < > [ ] ... Therefore a pure CMake lexer is inadequate. Here it is replaced by a CMake syntax definition parser. * Fixed syntax definition snippets in FindPkgConfig.cmake to make best use of syntax highlighting. This source file is the hardest to support because it contains comparison operators <= = >=, which need special attention to avoid confusion with the placeholder indicators <...>. * Fixed syntax in execute_process.rst (there were unbalanced brackets). * Disabled syntax highlighting for long string examples in cmake-language.7.rst. * No highlighting of removed syntax in CMP0049 * To inspect the outcome of this patch, see e.g. the pages * manual/cmake-buildsystem.7.html * module/ExternalProject.html * module/FindPkgConfig.html which are particularly rich in complex code snippets.
Diffstat (limited to 'Utilities/Sphinx/colors.py')
-rw-r--r--Utilities/Sphinx/colors.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/Utilities/Sphinx/colors.py b/Utilities/Sphinx/colors.py
new file mode 100644
index 0000000000..f98a4831fd
--- /dev/null
+++ b/Utilities/Sphinx/colors.py
@@ -0,0 +1,29 @@
+# -*- coding: utf-8 -*-
+
+from pygments.style import Style
+from pygments.token import Name, Comment, String, Number, Operator, Whitespace
+
+class CMakeTemplateStyle(Style):
+ """
+ for more token names, see pygments/styles.default
+ """
+
+ background_color = "#f8f8f8"
+ default_style = ""
+
+ styles = {
+ Whitespace: "#bbbbbb",
+ Comment: "italic #408080",
+ Operator: "bold #000000",
+ String: "#217A21",
+ Number: "#105030",
+ Name.Builtin: "#400080", # anything lowercase
+ Name.Function: "bold #1010A0", # function
+ Name.Variable: "#1080B0", # <..>
+ Name.Tag: "#19177C", # ${..}
+ Name.Constant: "#6020E0", # uppercase only
+ Name.Entity: "italic #70A020", # @..@
+ Name.Attribute: "#906060", # paths, URLs
+ Name.Label: "#A0A000", # anything left over
+ Name.Exception: "bold #FF0000", # for debugging only
+ }