o
    \h?  ã                   @   sf   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„ deƒZdS )zã
    pygments.lexers.inferno
    ~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for Inferno os and all the related stuff.

    :copyright: Copyright 2006-2025 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                   @   s  e Zd ZdZdZdZdgZdgZdgZd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jfdej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$d%„ Z d&S )'r   z§
    Lexer for Limbo programming language

    TODO:
        - maybe implement better var declaration highlighting
        - some simple syntax error highlighting
    ÚLimboz+http://www.vitanuova.com/inferno/limbo.htmlÚlimboz*.bz
text/limboz2.0z^(\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                 C   s   t  d| t j¡r
dS d S )Nz^implement \w+;gffffffæ?)ÚreÚsearchÚ	MULTILINE)Útext© r   úZ/home/air/segue/gemini/backup/venv/lib/python3.10/site-packages/pygments/lexers/inferno.pyÚanalyse_textP   s   ÿzLimboLexer.analyse_textN)!Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesÚ	mimetypesÚversion_addedr   r   r
   ÚLabelr   ÚSingler   ÚEscapeÚCharr   ÚFloatÚHexÚOctÚIntegerr   r   r	   ÚTypeÚConstantr   r   Útokensr   r   r   r   r   r      sd    ÿûÿûþÿðüþÙ-)r"   r   Úpygments.lexerr   r   r   r   Úpygments.tokenr   r   r   r	   r
   r   r   r   Ú__all__r   r   r   r   r   Ú<module>   s    
(