
    |e                     d    d Z ddl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mZ dgZ G d de      Zy)z
    pygments.lexers.thingsdb
    ~~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for the ThingsDB language.

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    )
RegexLexerincludebygroups)	CommentKeywordNameNumberStringTextOperatorPunctuation
WhitespaceThingsDBLexerc                   B   e Zd ZdZdZddgZdgZ ed      g ed       ed      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j                   fdej$                  fdej&                  fdej*                  f ed      defdefgd eej4                  ej4                  e      dfd eej4                  e      dfd eej6                  ee      fdej6                  fd eej:                  ee      fdej:                  fgdefdefgdej                   fd ej>                  d!fgd"ej>                  fd ej>                  d#fd$ej>                  d%fd&ej>                  fg ed      d'efd(ed#fd)ed%fgd*Z y+),r   zQ
    Lexer for the ThingsDB programming language.

    .. versionadded:: 2.9
    ThingsDBtithingsdbz*.ti
expressioncomments
whitespacez[-+]?0b[01]+z[-+]?0o[0-8]+z([-+]?0x[0-9a-fA-F]+)z[-+]?[0-9]+z>[-+]?((inf|nan)([^0-9A-Za-z_]|$)|[0-9]*\.[0-9]+(e[+-][0-9]+)?)z(?:"(?:[^"]*)")+z(?:'(?:[^']*)')+z(true|false|nil)\bz(/[^/\\]*(?:\\.[^/\\]*)*/i?)z#[0-9]+namesz[(){}\[\],;]z[+\-*/%&|<>^!~@=:?]z(\.)(add|call|contains|del|endswith|extend|filter|find|findindex|get|has|id|indexof|keys|len|lower|map|pop|push|remove|set|sort|splice|startswith|test|unwrap|upper|values|wrap)(\()	argumentsaV  (array|assert|assert_err|auth_err|backup_info|backups_info|bad_data_err|bool|closure|collection_info|collections_info|counters|deep|del_backup|del_collection|del_expired|del_node|del_procedure|del_token|del_type|del_user|err|float|forbidden_err|grant|int|isarray|isascii|isbool|isbytes|iserr|isfloat|isinf|isint|islist|isnan|isnil|israw|isset|isstr|isthing|istuple|isutf8|lookup_err|max_quota_err|mod_type|new|new_backup|new_collection|new_node|new_procedure|new_token|new_type|new_user|node_err|node_info|nodes_info|now|num_arguments_err|operation_err|overflow_err|procedure_doc|procedure_info|procedures_info|raise|refs|rename_collection|rename_user|reset_counters|return|revoke|run|set_log_level|set|set_quota|set_type|shutdown|str|syntax_err|thing|try|type|type_err|type_count|type_info|types_info|user_info|users_info|value_err|wse|zero_div_err)(\()z"(\.[A-Za-z_][0-9A-Za-z_]*)(\s*)(=)z\.[A-Za-z_][0-9A-Za-z_]*z ([A-Za-z_][0-9A-Za-z_]*)(\s*)(=)z[A-Za-z_][0-9A-Za-z_]*z\nz\s+z	//(.*?)\nz/\*commentz[^*/]+z#pushz\*/z#popz[*/],z\(z\))rootr   r   r   r   r   r   N)!__name__
__module____qualname____doc__namealiases	filenamesr   r	   BinOctHexIntegerFloatr
   DoubleSingler   ConstantRegexr   Preprocr   r   r   r   Function	Attributer   Variabler   	Multilinetokens     :/usr/lib/python3/dist-packages/pygments/lexers/thingsdb.pyr   r      s*   
 DZ GI L!
 JL! fjj)vzz*%vzz2V^^,NLL !&--0 &--0 #G$4$45 -fll; ) Gk*#X.;
@
 dmmT]]K@+O  dmm[1#$dnndH57 )$..90T]]D(35&6? 
D JZ 

 7>>*W&&	2

 ))*W&&0W&&/g''(	
 L!+K)K(	
eXFr3   N)r   pygments.lexerr   r   r   pygments.tokenr   r   r   r	   r
   r   r   r   r   __all__r   r2   r3   r4   <module>r8      s9    9 8& & & 
bJ br3   