diff options
author | Tim Hatch <tim@timhatch.com> | 2012-10-06 17:29:58 -0700 |
---|---|---|
committer | Tim Hatch <tim@timhatch.com> | 2012-10-06 17:29:58 -0700 |
commit | f58735fc00d9e80f7d5a1210305c04af4ad6e3e6 (patch) | |
tree | 29262cd117830130be4ad61033dd4d97ba8d230c | |
parent | c8b0ecf270ac7b361e5540154c4d276b0b5605f3 (diff) | |
download | pygments-f58735fc00d9e80f7d5a1210305c04af4ad6e3e6.tar.gz |
Add VGL Lexer (pull request #12)
-rw-r--r-- | AUTHORS | 1 | ||||
-rw-r--r-- | pygments/lexers/_mapping.py | 1 | ||||
-rw-r--r-- | pygments/lexers/other.py | 36 |
3 files changed, 37 insertions, 1 deletions
@@ -23,6 +23,7 @@ Other contributors, listed alphabetically, are: * Frits van Bommel -- assembler lexers * Pierre Bourdon -- bugfixes * Hiram Chirino -- Scaml and Jade lexers +* Ian Cooper -- VGL lexer * Leaf Corcoran -- MoonScript lexer * Christopher Creutzig -- MuPAD lexer * Pete Curry -- bugfixes diff --git a/pygments/lexers/_mapping.py b/pygments/lexers/_mapping.py index a0301055..2d66aee4 100644 --- a/pygments/lexers/_mapping.py +++ b/pygments/lexers/_mapping.py @@ -251,6 +251,7 @@ LEXERS = { 'TexLexer': ('pygments.lexers.text', 'TeX', ('tex', 'latex'), ('*.tex', '*.aux', '*.toc'), ('text/x-tex', 'text/x-latex')), 'TextLexer': ('pygments.lexers.special', 'Text only', ('text',), ('*.txt',), ('text/plain',)), 'UrbiscriptLexer': ('pygments.lexers.other', 'UrbiScript', ('urbiscript',), ('*.u',), ('application/x-urbiscript',)), + 'VGLLexer': ('pygments.lexers.other', 'VGL', ('vgl',), ('*.rpf',), ()), 'ValaLexer': ('pygments.lexers.compiled', 'Vala', ('vala', 'vapi'), ('*.vala', '*.vapi'), ('text/x-vala',)), 'VbNetAspxLexer': ('pygments.lexers.dotnet', 'aspx-vb', ('aspx-vb',), ('*.aspx', '*.asax', '*.ascx', '*.ashx', '*.asmx', '*.axd'), ()), 'VbNetLexer': ('pygments.lexers.dotnet', 'VB.net', ('vb.net', 'vbnet'), ('*.vb', '*.bas'), ('text/x-vbnet', 'text/x-vba')), diff --git a/pygments/lexers/other.py b/pygments/lexers/other.py index 7320672a..49d432e3 100644 --- a/pygments/lexers/other.py +++ b/pygments/lexers/other.py @@ -30,7 +30,7 @@ __all__ = ['BrainfuckLexer', 'BefungeLexer', 'RedcodeLexer', 'MOOCodeLexer', 'AutohotkeyLexer', 'GoodDataCLLexer', 'MaqlLexer', 'ProtoBufLexer', 'HybrisLexer', 'AwkLexer', 'Cfengine3Lexer', 'SnobolLexer', 'ECLLexer', 'UrbiscriptLexer', 'OpenEdgeLexer', 'BroLexer', - 'MscgenLexer', 'KconfigLexer'] + 'MscgenLexer', 'KconfigLexer', 'VGLLexer'] class ECLLexer(RegexLexer): @@ -3481,3 +3481,37 @@ class KconfigLexer(RegexLexer): 'indent2': do_indent(2), 'indent1': do_indent(1), } + + +class VGLLexer(RegexLexer): + """ + For `SampleManager VGL <http://www.thermoscientific.com/samplemanager>`_ + source code. + + *New in Pygments 1.6.* + """ + name = 'VGL' + aliases = ['vgl'] + filenames = ['*.rpf'] + + flags = re.MULTILINE | re.DOTALL | re.IGNORECASE + + tokens = { + 'root': [ + (r'\{[^\}]*\}', Comment.Multiline), + (r'declare', Keyword.Constant), + (r'(if|then|else|endif|while|do|endwhile|and|or|prompt|object' + r'|create|on|line|with|global|routine|value|endroutine|constant' + r'|global|set|join|library|compile_option|file|exists|create|copy' + r'|delete|enable|windows|name|notprotected)(?! *[=<>.,()])', + Keyword), + (r'(true|false|null|empty|error|locked)', Keyword.Constant), + (r'[~\^\*\#!%&\[\]\(\)<>\|+=:;,./?-]', Operator), + (r'"[^"]*"', String), + (r'(\.)([a-z_\$][a-z0-9_\$]*)', bygroups(Operator, Name.Attribute)), + (r'[0-9][0-9]*(\.[0-9]+(e[+\-]?[0-9]+)?)?', Number), + (r'[a-z_\$][a-z0-9_\$]*', Name), + (r'[\r\n]+', Text), + (r'\s+', Text) + ] + } |