YBFjldZddlZddlmZmZddlmZmZmZm Z m Z m Z m Z m Z dgZGddeZdS)z pygments.lexers.urbi ~~~~~~~~~~~~~~~~~~~~ Lexers for UrbiScript language. :copyright: Copyright 2006-present by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. N)ExtendedRegexLexerwords)TextCommentOperatorKeywordNameStringNumber PunctuationUrbiscriptLexerceZdZdZdZdgZdgZdgZdZdZ e j Z dZ d efd efd ejd fd efeddefeddejfdefdefdejfdejfeddejfdejjfdefdejfdefdefdejfdejfdejfde j!d fd!e j"d"fgd#e fd$e j!d%fgd&e fd'e j"d%fgd(ejfd ejd)fd*ejd%fd+ejfgd,Z#d-Z$d.S)/r z% For UrbiScript source code. UrbiScript urbiscriptz*.uzapplication/x-urbiscriptz!https://github.com/urbiforge/urbiz1.5c#K|d}|d}|d}t|}|t|fV|xjt |z c_|j||zdkrEd|zdz}|t|fV|xjt |z c_dS||j|||zzdz}|tj|fV||zdz|_dS)N)z\B(z)() groupintstartr poslentextendEscape) lexermatchctxtext_before_blob blob_start blob_size_str blob_sizeresult blob_texts BC:\PYTHON\_runtimes\venv\Lib\site-packages\pygments/lexers/urbi.py blob_callbackzUrbiscriptLexer.blob_callback&sH ;;q>>[[^^  A  && kkmmV%55555 3'((( 8EIIKK)+ , 3 3m+d2F++--/ / / / GGs6{{ "GG F%))++eiikk)6K*K!LLsR kkmmV]I5555))++ )A-z\s+z//.*?\nz/\*commentz"(every|for|loop|while)(?:;|&|\||,))assertatbreakcasecatchclosurecomplcontinuedefaultelseenumeveryexternalfinallyforfreezeififnewonleavereturnstopifswitchthisthrowtimeouttry waituntilwheneverwhilez\b)suffix)$asmautoboolchar const_castdeletedouble dynamic_castexplicitexportexternfloatfriendgotoinlinerlongmutable namespaceregisterreinterpret_castshortsignedsizeof static_caststructtemplatetypedeftypeidtypenameunionunsignedusingvirtualvolatilewchar_tz&(emit|foreach|internal|loopn|static)\bz(private|protected|public)\bz(var|do|const|function|class)\bz(true|false|nil|void)\b)EBarrierBinaryBoolean CallMessageChannelCode Comparable ContainerControlDate Dictionary DirectoryDuration EnumerationEvent Exception ExecutableFile FinalizableFloat FormatInfo FormatterGlobalGroupHash InputStream IoServiceJobKernelLazyListLoadableLobbyLocationLoggerMathMutexnilObject Orderable OutputStreamPairPathPatternPosition PrimitiveProcessProfile PseudoLazyPubSub RangeIterableRegexp SemaphoreServer SingletonSocket StackFrameStreamr SystemTagTimeout TraceableTrajectoryGeneratorTripletTupleUObjectUValueUVarz (?:this)\bz(?:[-=+*%/<>~^:]+|\.&?|\|\||&&)z?(?:and_eq|and|bitand|bitor|in|not|not_eq|or_eq|or|xor_eq|xor)\bz [{}\[\]()]+z(?:;|\||,|&|\?|!)+z [$a-zA-Z_]\w*z0x[0-9a-fA-F]+zV(?:[0-9]+(?:(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?)?((?:rad|deg|grad)|(?:ms|s|min|h|d))?)\b" string.double' string.singlez%((?:\\\\|\\"|[^"])*?)(\\B\((\d+)\)\()z(\\\\|\\[^\\]|[^"\\])*?"z#popz%((?:\\\\|\\'|[^'])*?)(\\B\((\d+)\)\()z(\\\\|\\[^\\]|[^'\\])*?'z[^*/]z#pushz\*/z[*/])rootrrr*c.d}d|vr|dz }d|vr|dz }|S)z_This is fairly similar to C and others, but freezeif and waituntil are unique keywords.rr:g?rE)rr%s r' analyse_textzUrbiscriptLexer.analyse_texts6    dNF $   dNF r)N)%__name__ __module__ __qualname____doc__namealiases filenames mimetypesurl version_addedreDOTALLflagsr(rr MultilinerrReserved DeclarationConstantr BuiltinPseudorWordr Otherr Hexrr DoubleSingletokensrrr)r'r r s7 DnGI+,I -CM IE ....TN  ! W& 2 2G < U2 ;@ AAA   UG PU VVV  7 @ ,g 6 /1D E ')9 : U "+0 1 1 1\ DL/ 0 / : O ]  [ ) "K 0 tz *  +89? G6=/ 2 6=/ 2o8 t6} E (&- @ 6} E (&- @ w( ) W& 0 W& / g' (  GIIFV     r))rrpygments.lexerrrpygments.tokenrrrrr r r r __all__r rr)r'rs 44444444  }}}}}(}}}}}r)