3
V'íc± ã @ s^ d Z ddlmZmZmZ ddlmZmZmZm Z m
Z
mZmZm
Z
mZ dgZG dd deZdS )zË
pygments.lexers.go
~~~~~~~~~~~~~~~~~~
Lexers for the Google Go language.
:copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
é )Ú
RegexLexerÚbygroupsÚwords) ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚ
WhitespaceÚGoLexerc 1 @ s e Zd ZdZdZdZdgZddgZdgZdd e fd
e fde
ee fdej
fd
ejfdejfdejfedXddefd ejfedYdGde
ejefedZddejfdHefdIefdJefdKefdLejfdMejfdNejfdOejfdPejfdQejfdRefdSefdTefdUefdVej fgiZ!dWS )[r z3
For Go source.
.. versionadded:: 1.2
ZGozhttps://go.dev/z*.goÚgoZgolangztext/x-gosrcÚrootz\nz\s+z(\\)(\n)z//(.*?)$z/(\\\n)?[*](.|\n)*?[*](\\\n)?/z(import|package)\bz1(var|func|struct|map|chan|type|interface|const)\bÚbreakÚdefaultÚselectÚcaseÚdeferÚelseÚgotoÚswitchÚfallthroughÚifÚrangeÚcontinueÚforÚreturnz\b)Úsuffixz(true|false|iota|nil)\bÚuintÚuint8Úuint16Úuint32Úuint64ÚintÚint8Úint16Úint32Úint64ÚfloatÚfloat32Úfloat64Ú complex64Ú
complex128ÚbyteÚruneÚstringÚboolÚerrorÚuintptrÚanyÚ
comparableÚprintÚprintlnÚpanicÚrecoverÚcloseÚcomplexÚrealÚimagÚlenÚcapÚappendÚcopyÚdeleteÚnewÚmakez\b(\()z\d+iz\d+\.\d*([Ee][-+]\d+)?iz\.\d+([Ee][-+]\d+)?iz\d+[Ee][-+]\d+iz+\d+(\.\d+[eE][+\-]?\d+|\.\d*|[eE][+\-]?\d+)z\.\d+([eE][+\-]?\d+)?z0[0-7]+z0[xX][0-9a-fA-F]+z(0|[1-9][0-9]*)z\'(\\['"\\abfnrtv]|\\x[0-9a-fA-F]{2}|\\[0-7]{1,3}|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}|[^\\])'z`[^`]*`z"(\\\\|\\[^\\]|[^"\\])*"zh(<<=|>>=|<<|>>|<=|>=|&\^=|&\^|\+=|-=|\*=|/=|%=|&=|\|=|&&|\|\||<-|\+\+|--|==|!=|:=|\.\.\.|[+\-*/%&]|~|\|)z[|^<>=!()\[\]{}.,;:]z
[^\W\d]\w*N)r r r r r r r r r r r r r r r )&r r! r"