Skip to content

Commit 3bb3301

Browse files
committed
UG: Use latest RF lexer to gain RF 3.1 support. Fixes robotframework#3052.
1 parent 49d5a4f commit 3bb3301

File tree

2 files changed

+19
-4
lines changed

2 files changed

+19
-4
lines changed

doc/userguide/ug2html.py

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -93,16 +93,28 @@
9393
from pygments import highlight, __version__ as pygments_version
9494
from pygments.lexers import get_lexer_by_name
9595

96+
# Use latest version, not version bundled with Pygments
97+
import robotframeworklexer
9698

97-
pygments_version = tuple(int(v) for v in pygments_version.split('.')[:2])
98-
if pygments_version < (2, 1):
99-
sys.exit('Pygments version 2.1 or newer is required.')
99+
100+
def too_old(version_string, minimum):
101+
version = tuple(int(v) for v in version_string.split('.')[:2])
102+
return version < minimum
103+
104+
105+
if too_old(getattr(robotframeworklexer, '__version__', '1.0'), (1, 1)):
106+
sys.exit('robotframeworklexer >= 1.1 is required.')
107+
if too_old(pygments_version, (2, 1)):
108+
sys.exit('Pygments >= 2.1 is required.')
100109

101110

102111
def pygments_directive(name, arguments, options, content, lineno,
103112
content_offset, block_text, state, state_machine):
104113
try:
105-
lexer = get_lexer_by_name(arguments[0])
114+
if arguments[0] == 'robotframework':
115+
lexer = robotframeworklexer.RobotFrameworkLexer()
116+
else:
117+
lexer = get_lexer_by_name(arguments[0])
106118
except ValueError as err:
107119
raise ValueError(f'Invalid syntax highlighting language "{arguments[0]}".')
108120
# take an arbitrary option if more than one is given

requirements-build.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,6 @@ invoke >= 0.20
33
rellu >= 0.7
44
twine >= 1.12
55
wheel
6+
docutils
7+
pygments >= 2.1
8+
robotframeworklexer >= 1.1

0 commit comments

Comments
 (0)