summaryrefslogtreecommitdiff
path: root/gcc/ada/doc/share/ada_pygments.py
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@adacore.com>2017-09-08 12:35:58 +0000
committerArnaud Charlet <charlet@gcc.gnu.org>2017-09-08 14:35:58 +0200
commit4bd3809078fee7f16cefac724db4439c75c2b74f (patch)
treeab2f1389361fd5fee0acd3a34d90c929a97f7fe3 /gcc/ada/doc/share/ada_pygments.py
parent08705a15833a3df17b372fcf2a03ea9b017b2453 (diff)
conf.py, [...]: Improve support for Ada highlighting.
* doc/share/conf.py, doc/share/latex_elements.py, doc/share/ada_pygments.py, doc/Makefile: Improve support for Ada highlighting. From-SVN: r251890
Diffstat (limited to 'gcc/ada/doc/share/ada_pygments.py')
-rw-r--r--gcc/ada/doc/share/ada_pygments.py22
1 files changed, 12 insertions, 10 deletions
diff --git a/gcc/ada/doc/share/ada_pygments.py b/gcc/ada/doc/share/ada_pygments.py
index c23005dd290..66f6a2045f0 100644
--- a/gcc/ada/doc/share/ada_pygments.py
+++ b/gcc/ada/doc/share/ada_pygments.py
@@ -1,4 +1,4 @@
-"""Alternate Ada and Project Files parsers for Sphinx/Rest"""
+"""Alternate Ada and Project Files parsers for Sphinx/Rest."""
import re
from pygments.lexer import RegexLexer, bygroups
@@ -7,12 +7,12 @@ from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
def get_lexer_tokens(tag_highlighting=False, project_support=False):
- """Return the tokens needed for RegexLexer
+ """Return the tokens needed for RegexLexer.
:param tag_highlighting: if True we support tag highlighting. See
AdaLexerWithTags documentation
:type tag_highlighting: bool
- :param project_support: if True support additional keywors associated
+ :param project_support: if True support additional keywords associated
with project files.
:type project_support: bool
@@ -21,7 +21,8 @@ def get_lexer_tokens(tag_highlighting=False, project_support=False):
"""
if project_support:
project_pattern = r'project\s+|'
- project_pattern2 = r'project|'
+ project_pattern2 = \
+ r'aggregate|extends|external|external_as_list|library|project|'
else:
project_pattern = r''
project_pattern2 = r''
@@ -46,7 +47,7 @@ def get_lexer_tokens(tag_highlighting=False, project_support=False):
# Match use and with statements
# The first part of the pattern is be sure we don't match
# for/use constructs.
- (r'(\n\s*|;\s*)(with|use)(\s+[\w\.]+)',
+ (r'(\n\s*|;\s*)(with|use)(\s+[\w\.]+\s*;)',
bygroups(Punctuation, Keyword.Reserved, Name.Namespace)),
# Match procedure, package and function declarations
(r'end\s+(if|loop|record)', Keyword),
@@ -62,7 +63,7 @@ def get_lexer_tokens(tag_highlighting=False, project_support=False):
r'Version|Value_Size|Value|Valid_Scalars|VADS_Size|Valid|Val|'
r'Update|Unrestricted_Access|Universal_Literal_String|'
r'Unconstrained_Array|Unchecked_Access|Unbiased_Rounding|'
- r'Truncation|Type_Class|To_Address|Tick|Terminated|'
+ r'UET_Address|Truncation|Type_Class|To_Address|Tick|Terminated|'
r'Target_Name|Tag|System_Allocator_Alignment|Succ|Stub_Type|'
r'Stream_Size|Storage_Unit|Storage_Size|Storage_Pool|Small|Size|'
r'Simple_Storage_Pool|Signed_Zeros|Scaling|Scale|'
@@ -112,7 +113,8 @@ def get_lexer_tokens(tag_highlighting=False, project_support=False):
# Builtin values
(r'False|True', Keyword.Constant),
# Identifiers
- (r'[\w\.]+', Name)], }
+ (r'[\w\.]+', Name),
+ (r'.', Text)]}
# Insert tag highlighting before identifiers
if tag_highlighting:
@@ -122,7 +124,7 @@ def get_lexer_tokens(tag_highlighting=False, project_support=False):
class AdaLexer(RegexLexer):
- """Alternate Pygments lexer for Ada source code and project files
+ """Alternate Pygments lexer for Ada source code and project files.
The default pygments lexer always fails causing disabling of syntax
highlighting in Sphinx. This lexer is simpler but safer.
@@ -149,7 +151,7 @@ class AdaLexer(RegexLexer):
class TaggedAdaLexer(AdaLexer):
- """Alternate Pygments lexer for Ada source code with tags
+ """Alternate Pygments lexer for Ada source code with tags.
A tag is a string of the form::
@@ -165,7 +167,7 @@ class TaggedAdaLexer(AdaLexer):
class GNATProjectLexer(RegexLexer):
- """Pygment lexer for project files
+ """Pygment lexer for project files.
This is the same as the AdaLexer but with support of ``project``
keyword.