summaryrefslogtreecommitdiff
path: root/pygments/lexers/compiled.py
diff options
context:
space:
mode:
Diffstat (limited to 'pygments/lexers/compiled.py')
-rw-r--r--pygments/lexers/compiled.py109
1 files changed, 1 insertions, 108 deletions
diff --git a/pygments/lexers/compiled.py b/pygments/lexers/compiled.py
index 1465c6c3..450a9c4d 100644
--- a/pygments/lexers/compiled.py
+++ b/pygments/lexers/compiled.py
@@ -27,8 +27,7 @@ __all__ = ['CLexer', 'CppLexer', 'DLexer', 'DelphiLexer', 'ECLexer',
'DylanLexer', 'ObjectiveCLexer', 'FortranLexer', 'GLShaderLexer',
'PrologLexer', 'CythonLexer', 'ValaLexer', 'OocLexer', 'GoLexer',
'FelixLexer', 'AdaLexer', 'Modula2Lexer', 'BlitzMaxLexer',
- 'NimrodLexer', 'FantomLexer', 'RustLexer', 'CUDALexer',
- 'SourcePawnLexer']
+ 'NimrodLexer', 'FantomLexer', 'RustLexer', 'CUDALexer']
class CLexer(RegexLexer):
@@ -3051,109 +3050,3 @@ class CUDALexer(CLexer):
elif value in self.functions:
token = Name.Function
yield index, token, value
-
-
-class SourcePawnLexer(RegexLexer):
- """
- For SourcePawn source code with preprocessor directives.
- """
- name = 'SourcePawn'
- aliases = ['sp']
- filenames = ['*.sp']
- mimetypes = ['text/x-sourcepawn']
-
- #: optional Comment or Whitespace
- _ws = r'(?:\s|//.*?\n|/[*].*?[*]/)+'
-
- tokens = {
- 'root': [
- # preprocessor directives: without whitespace
- ('^#if\s+0', Comment.Preproc, 'if0'),
- ('^#', Comment.Preproc, 'macro'),
- # or with whitespace
- ('^' + _ws + r'#if\s+0', Comment.Preproc, 'if0'),
- ('^' + _ws + '#', Comment.Preproc, 'macro'),
- (r'\n', Text),
- (r'\s+', Text),
- (r'\\\n', Text), # line continuation
- (r'/(\\\n)?/(\n|(.|\n)*?[^\\]\n)', Comment.Single),
- (r'/(\\\n)?[*](.|\n)*?[*](\\\n)?/', Comment.Multiline),
- (r'[{}]', Punctuation),
- (r'L?"', String, 'string'),
- (r"L?'(\\.|\\[0-7]{1,3}|\\x[a-fA-F0-9]{1,2}|[^\\\'\n])'", String.Char),
- (r'(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+[LlUu]*', Number.Float),
- (r'(\d+\.\d*|\.\d+|\d+[fF])[fF]?', Number.Float),
- (r'0x[0-9a-fA-F]+[LlUu]*', Number.Hex),
- (r'0[0-7]+[LlUu]*', Number.Oct),
- (r'\d+[LlUu]*', Number.Integer),
- (r'\*/', Error),
- (r'[~!%^&*+=|?:<>/-]', Operator),
- (r'[()\[\],.;]', Punctuation),
- (r'(case|const|continue|native|'
- r'default|else|enum|for|if|new|operator|'
- r'public|return|sizeof|static|decl|struct|switch)\b', Keyword),
- (r'(bool|Float)\b', Keyword.Type),
- (r'(true|false)\b', Keyword.Constant),
- ('[a-zA-Z_][a-zA-Z0-9_]*', Name),
- ],
- 'string': [
- (r'"', String, '#pop'),
- (r'\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|[0-7]{1,3})', String.Escape),
- (r'[^\\"\n]+', String), # all other characters
- (r'\\\n', String), # line continuation
- (r'\\', String), # stray backslash
- ],
- 'macro': [
- (r'[^/\n]+', Comment.Preproc),
- (r'/[*](.|\n)*?[*]/', Comment.Multiline),
- (r'//.*?\n', Comment.Single, '#pop'),
- (r'/', Comment.Preproc),
- (r'(?<=\\)\n', Comment.Preproc),
- (r'\n', Comment.Preproc, '#pop'),
- ],
- 'if0': [
- (r'^\s*#if.*?(?<!\\)\n', Comment.Preproc, '#push'),
- (r'^\s*#endif.*?(?<!\\)\n', Comment.Preproc, '#pop'),
- (r'.*?\n', Comment),
- ]
- }
-
- sm_types = ['Action', 'bool', 'Float', 'Plugin', 'String', 'any',
- 'AdminFlag','OverrideType','OverrideRule','ImmunityType',
- 'GroupId','AdminId','AdmAccessMode','AdminCachePart',
- 'CookieAccess','CookieMenu','CookieMenuAction','NetFlow',
- 'ConVarBounds','QueryCookie','ReplySource','ConVarQueryResult',
- 'ConVarQueryFinished','Function','Action','Identity','PluginStatus',
- 'PluginInfo','DBResult','DBBindType','DBPriority','PropType',
- 'PropFieldType', 'MoveType','RenderMode','RenderFx','EventHookMode',
- 'EventHook','FileType', 'FileTimeMode','PathType','ParamType',
- 'ExecType','DialogType','Handle', 'KvDataTypes','NominateResult',
- 'MapChange','MenuStyle','MenuAction', 'MenuSource','RegexError',
- 'SDKCallType','SDKLibrary','SDKFuncConfSource','SDKType',
- 'SDKPassMethod','RayType','TraceEntityFilter','ListenOverride',
- 'SortOrder','SortType','SortFunc2D','APLRes','FeatureType',
- 'FeatureStatus','SMCResult','SMCError','TFClassType','TFTeam',
- 'TFCond','TFResourceType','Timer','TopMenuAction','TopMenuObjectType',
- 'TopMenuPosition','TopMenuObject','UserMsg']
-
- def __init__(self, **options):
- self.smhighlighting = get_bool_opt(options,
- 'sourcemod', True)
-
- self._functions = list()
- if self.smhighlighting:
- from pygments.lexers._sourcemodbuiltins import FUNCTIONS
- for func in FUNCTIONS:
- self._functions.append(func)
- RegexLexer.__init__(self, **options)
-
- def get_tokens_unprocessed(self, text):
- for index, token, value in \
- RegexLexer.get_tokens_unprocessed(self, text):
- if token is Name:
- if self.smhighlighting:
- if value in self.sm_types:
- token = Keyword.Type
- elif value in self._functions:
- tokens = Name.Builtin
- yield index, token, value