3 ��Xu � @ sb d Z ddlZddlmZmZmZ ddlmZmZm Z m Z mZmZm Z mZ dgZG dd� de�ZdS )z� pygments.lexers.go ~~~~~~~~~~~~~~~~~~ Lexers for the Google Go language. :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. � N)� RegexLexer�bygroups�words)�Text�Comment�Operator�Keyword�Name�String�Number�Punctuation�GoLexerc / @ s e Zd ZdZdZdgZdgZdgZej ej B Zddefdefd efd e jfde jfdejfd ejfedTdd�efdejfedUdCd�eeje�fedVdd�ejfdDefdEefdFefdGefdHejfdIejfdJejfdKejfdLejfdMej fdNefdOefdPe!fdQefdRej"fgiZ#dSS )Wr zJ For `Go <http://golang.org>`_ source. .. versionadded:: 1.2 ZGoz*.go�goztext/x-gosrc�rootz\nz\s+z\\\nz //(.*?)\nz/(\\\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�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"(\\\\|\\"|[^"])*"zc(<<=|>>=|<<|>>|<=|>=|&\^=|&\^|\+=|-=|\*=|/=|%=|&=|\|=|&&|\|\||<-|\+\+|--|==|!=|:=|\.\.\.|[+\-*/%&])z[|^<>=!()\[\]{}.,;:]z [^\W\d]\w*N)r r r r r r r r r r r r r r r )$r r r! r"