diff options
author | Matth?us G. Chajdas <dev@anteru.net> | 2019-11-10 13:56:53 +0100 |
---|---|---|
committer | Matth?us G. Chajdas <dev@anteru.net> | 2019-11-10 13:56:53 +0100 |
commit | 1dd3124a9770e11b6684e5dd1e6bc15a0aa3bc67 (patch) | |
tree | 87a171383266dd1f64196589af081bc2f8e497c3 /pygments/lexers/go.py | |
parent | f1c080e184dc1bbc36eaa7cd729ff3a499de568a (diff) | |
download | pygments-master.tar.gz |
Diffstat (limited to 'pygments/lexers/go.py')
-rw-r--r-- | pygments/lexers/go.py | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/pygments/lexers/go.py b/pygments/lexers/go.py deleted file mode 100644 index f6bb7fc8..00000000 --- a/pygments/lexers/go.py +++ /dev/null @@ -1,101 +0,0 @@ -# -*- coding: utf-8 -*- -""" - pygments.lexers.go - ~~~~~~~~~~~~~~~~~~ - - Lexers for the Google Go language. - - :copyright: Copyright 2006-2019 by the Pygments team, see AUTHORS. - :license: BSD, see LICENSE for details. -""" - -import re - -from pygments.lexer import RegexLexer, bygroups, words -from pygments.token import Text, Comment, Operator, Keyword, Name, String, \ - Number, Punctuation - -__all__ = ['GoLexer'] - - -class GoLexer(RegexLexer): - """ - For `Go <http://golang.org>`_ source. - - .. versionadded:: 1.2 - """ - name = 'Go' - filenames = ['*.go'] - aliases = ['go'] - mimetypes = ['text/x-gosrc'] - - flags = re.MULTILINE | re.UNICODE - - tokens = { - 'root': [ - (r'\n', Text), - (r'\s+', Text), - (r'\\\n', Text), # line continuations - (r'//(.*?)\n', Comment.Single), - (r'/(\\\n)?[*](.|\n)*?[*](\\\n)?/', Comment.Multiline), - (r'(import|package)\b', Keyword.Namespace), - (r'(var|func|struct|map|chan|type|interface|const)\b', - Keyword.Declaration), - (words(( - 'break', 'default', 'select', 'case', 'defer', 'go', - 'else', 'goto', 'switch', 'fallthrough', 'if', 'range', - 'continue', 'for', 'return'), suffix=r'\b'), - Keyword), - (r'(true|false|iota|nil)\b', Keyword.Constant), - # It seems the builtin types aren't actually keywords, but - # can be used as functions. So we need two declarations. - (words(( - 'uint', 'uint8', 'uint16', 'uint32', 'uint64', - 'int', 'int8', 'int16', 'int32', 'int64', - 'float', 'float32', 'float64', - 'complex64', 'complex128', 'byte', 'rune', - 'string', 'bool', 'error', 'uintptr', - 'print', 'println', 'panic', 'recover', 'close', 'complex', - 'real', 'imag', 'len', 'cap', 'append', 'copy', 'delete', - 'new', 'make'), suffix=r'\b(\()'), - bygroups(Name.Builtin, Punctuation)), - (words(( - 'uint', 'uint8', 'uint16', 'uint32', 'uint64', - 'int', 'int8', 'int16', 'int32', 'int64', - 'float', 'float32', 'float64', - 'complex64', 'complex128', 'byte', 'rune', - 'string', 'bool', 'error', 'uintptr'), suffix=r'\b'), - Keyword.Type), - # imaginary_lit - (r'\d+i', Number), - (r'\d+\.\d*([Ee][-+]\d+)?i', Number), - (r'\.\d+([Ee][-+]\d+)?i', Number), - (r'\d+[Ee][-+]\d+i', Number), - # float_lit - (r'\d+(\.\d+[eE][+\-]?\d+|' - r'\.\d*|[eE][+\-]?\d+)', Number.Float), - (r'\.\d+([eE][+\-]?\d+)?', Number.Float), - # int_lit - # -- octal_lit - (r'0[0-7]+', Number.Oct), - # -- hex_lit - (r'0[xX][0-9a-fA-F]+', Number.Hex), - # -- decimal_lit - (r'(0|[1-9][0-9]*)', Number.Integer), - # char_lit - (r"""'(\\['"\\abfnrtv]|\\x[0-9a-fA-F]{2}|\\[0-7]{1,3}""" - r"""|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}|[^\\])'""", - String.Char), - # StringLiteral - # -- raw_string_lit - (r'`[^`]*`', String), - # -- interpreted_string_lit - (r'"(\\\\|\\"|[^"])*"', String), - # Tokens - (r'(<<=|>>=|<<|>>|<=|>=|&\^=|&\^|\+=|-=|\*=|/=|%=|&=|\|=|&&|\|\|' - r'|<-|\+\+|--|==|!=|:=|\.\.\.|[+\-*/%&])', Operator), - (r'[|^<>=!()\[\]{}.,;:]', Punctuation), - # identifier - (r'[^\W\d]\w*', Name.Other), - ] - } |