3
V'íc ã @ s^ d Z ddlmZmZmZ ddlmZmZmZm Z m
Z
mZmZm
Z
mZ dgZG dd deZdS )zÖ
pygments.lexers.thingsdb
~~~~~~~~~~~~~~~~~~~~~~~~
Lexers for the ThingsDB language.
:copyright: Copyright 2006-2022 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 @ s\ e Zd ZdZdZddgZdgZedgededd ej fd
ej
fdejfdejfd
ej
fdejfdejfdejfdejfdejfeddefdefgdeejejedfdeejedfdeejeefdejfdeejeefdejfgdefdefgdejfd ejd!fgd"ejfd ejd#fd$ejd%fd&ejfgedd'efd(ed#fd)ed%fgd*Z d+S ),r zQ
Lexer for the ThingsDB programming language.
.. versionadded:: 2.9
ZThingsDBZtiZthingsdbz*.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 ZBinÚOctZHexZIntegerZFloatr ÚDoubleÚSingler ÚConstantÚRegexr ZPreprocr r r r ZFunctionÚ Attributer