mirror of
https://github.com/AdaCore/gprbuild.git
synced 2026-02-12 12:30:13 -08:00
Q614-059 Update list of GPR keywords in UG and highlighting
Also update ada_pygments.py, which was outdated. Change-Id: Iceeb252dfdad02f5b507750080d9d3a235980b51
This commit is contained in:
committed by
Nicolas Roche
parent
af0bd0e07e
commit
de6bf27c3f
@@ -3179,7 +3179,10 @@ The additional project file reserved words are:
|
||||
|
||||
::
|
||||
|
||||
extends external external_as_list project
|
||||
extends external external_as_list project
|
||||
|
||||
Note that ``aggregate`` and ``library`` are qualifiers that may appear before
|
||||
the keyword ``project``, but they are not themselves keywords.
|
||||
|
||||
To avoid possible compatibility issues in the future, we recommend that
|
||||
the reserved words introduced by Ada 2005 and Ada 2012 not be used as
|
||||
|
||||
@@ -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,7 +7,7 @@ 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
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user