
    |e@                     l    d Z ddlZddlmZmZmZmZ ddlmZm	Z	m
Z
mZmZmZmZmZ dgZ G d de      Zy)z
    pygments.lexers.inferno
    ~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for Inferno os and all the related stuff.

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)
RegexLexerincludebygroupsdefault)PunctuationCommentOperatorKeywordNameStringNumber
Whitespace
LimboLexerc                      e Zd ZdZdZdZdgZdgZdgZd e	e
ej                  e
      fde
fd	e
fd
ej                  fgdedfdej                   fdefdefgdedfdej"                  fdej&                  fdej&                  fdej(                  fdej*                  fdej,                  fdefdefdefdej4                  fdej6                  fdefg ed       ed      defd edfg ed       ed!      gd"Zd# Zy$)%r   z
    Lexer for Limbo programming language

    TODO:
        - maybe implement better var declaration highlighting
        - some simple syntax error highlighting

    .. versionadded:: 2.0
    Limboz+http://www.vitanuova.com/inferno/limbo.htmllimboz*.bz
text/limboz^(\s*)([a-zA-Z_]\w*:)(\s*\n)z\nz\s+z#(\n|(.|\n)*?[^\\]\n)"z#popzO\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8}|[0-7]{1,3})z	[^\\"\n]+z\\stringz2'(\\.|\\[0-7]{1,3}|\\x[a-fA-F0-9]{1,2}|[^\\\'\n])'z (\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+z(\d+\.\d*|\.\d+|\d+[fF])z16r[0-9a-fA-F]+z8r[0-7]+z((([1-3]\d)|([2-9]))r)?(\d+)z
[()\[\],.]z%[~!%^&*+=|?:<>/-]|(->)|(<-)|(=>)|(::)z(alt|break|case|continue|cyclic|do|else|exitfor|hd|if|implement|import|include|len|load|orpick|return|spawn|tagof|tl|to|while)\bzK(byte|int|big|real|string|array|chan|list|adt|fn|ref|of|module|self|type)\bz(con|iota|nil)\bz[a-zA-Z_]\w*
whitespace
statementsz[{}];	statement)r   r   r   r   rootc                 P    t        j                  d| t         j                        ryy )Nz^implement \w+;gffffff?)research	MULTILINE)texts    9/usr/lib/python3/dist-packages/pygments/lexers/inferno.pyanalyse_textzLimboLexer.analyse_textQ   s    99'r||< =    N) __name__
__module____qualname____doc__nameurlaliases	filenames	mimetypesr   r   r   Labelr   Singler   EscapeCharr   FloatHexOctIntegerr   r	   r
   TypeConstantr   r   tokensr     r!   r   r   r      s    D
7CiGII -j$**j9;JZ %w~~6
 66"<=C]]L6"FO
 68$BFKKP0&,,?(&,,7,&**%,fnn=K(5x@78?A/07> '"2"23d#!
& L!L![!+v&	
 L!K 
O+FZr!   )r%   r   pygments.lexerr   r   r   r   pygments.tokenr   r   r	   r
   r   r   r   r   __all__r   r6   r!   r   <module>r:      s;    
 A A% % % .@ @r!   