1
0
Эх сурвалжийг харах

Help: Workaround pygments reporting an error for genexes.

Without the workaround, CMake code snippets are not highlighted
at all because pygments can not lex the generator expressions.
Stephen Kelly 12 жил өмнө
parent
commit
0de81bba8c

+ 10 - 0
Utilities/Sphinx/cmake.py

@@ -12,6 +12,16 @@
 import os
 import re
 
+# Monkey patch for pygments reporting an error when generator expressions are
+# used.
+# https://bitbucket.org/birkenfeld/pygments-main/issue/942/cmake-generator-expressions-not-handled
+from pygments.lexers import CMakeLexer
+from pygments.token import Name, Operator
+from pygments.lexer import bygroups
+CMakeLexer.tokens["args"].append(('(\\$<)(.+?)(>)',
+                                  bygroups(Operator, Name.Variable, Operator)))
+
+
 from docutils.parsers.rst import Directive, directives
 from docutils.transforms import Transform
 try: