o a@sfdZddlmZmZmZmZmZddlmZm Z m Z m Z m Z m Z mZmZmZdgZGdddeZdS)z pygments.lexers.rust ~~~~~~~~~~~~~~~~~~~~ Lexers for the Rust language. :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. ) RegexLexerincludebygroupswordsdefault) TextCommentOperatorKeywordNameStringNumber Punctuation Whitespace RustLexerc@sleZdZdZdZddgZddgZddgZed d d e j fZ ed d d e j fZed dd e jjfZdejfedggdefdefdejfdejfdejfdejdfdejdfdejdfdejfedd d e fedd d e jfde jfde j jfd e d!fd"e jfd#e d$fd%e d&fd'ee ee fe d(e j jfeed)efd*ed&fd+ee eje j fd,ej!fd-ej!fd.e"j#d/fd0e"j$d/fd1e"j%d/fd2e"j&d/fd3e"j'd/fd4ed5fd6ed7fd8efd9e(d:fd;e(fde fd?e fd@ejdAfdBefdCejfdejdDfdEejdFfdGejfgdCejfdejdDfdEejdFfdGejfgdefd>e j*dFfedFgdefd>e jdFfedFgdefdHe jfd9e(d:fee d>e j+dFfedFgdIe j fdJe j,fedFgdKe dFfdLe dFfedFgd6edFfdMej-fdNefdOefgdPej-fe.d7gd6ed7fdQejdAfge.dRdSejdFfdTejfgdU Z/dVS)Wrz\ Lexer for the Rust programming language (version 1.47). .. versionadded:: 1.6 Rustz*.rsz*.rs.inrustrsz text/rustz text/x-rust)u8u16u32u64u128i8i16i32i64i128usizeisizef32f64charstrboolz\b)suffix)$CopySendSizedSyncUnpinDropFnFnMutFnOncedropBoxToOwnedClone PartialEq PartialOrdEqOrdAsRefAsMutIntoFromDefaultIteratorExtend IntoIteratorDoubleEndedIteratorExactSizeIteratorOptionSomeNoneResultOkErrr ToStringVec)2asmassert assert_eq assert_necfgcolumn compile_errorconcat concat_identsdbg debug_assertdebug_assert_eqdebug_assert_neenveprinteprintlnfileformat format_argsformat_args_nl global_asmr include_bytes include_stris_aarch64_feature_detectedis_arm_feature_detectedis_mips64_feature_detectedis_mips_feature_detectedis_powerpc64_feature_detectedis_powerpc_feature_detectedis_x86_feature_detectedlinellvm_asm log_syntax macro_rulesmatches module_path option_envpanicprintprintln stringify thread_localtodo trace_macros unimplemented unreachablevecwritewriteln!z #![^[\r\n].*$basez\nz\s+z//!.*?\nz///(\n|[^/].*?\n)z //(.*?)\nz/\*\*(\n|[^/*]) doccommentz/\*!z/\*commentz\$([a-zA-Z_]\w*|\(,?|\),?|,?))asasyncawaitboxconstcratedynelseexternforifimplinloopmatchmovemutpubrefreturnstaticsupertraitunsafeusewherewhile) abstractbecomedofinalmacrooverrideprivtypeoftryunsizedvirtualyieldz(true|false)\bzself\bzmod\bmodnamezlet\bzfn\bfuncnamez(struct|enum|type|union)\btypenamez(default)(\s+)(type|fn)\bz [sS]elf\bz::\bz(?::|->)z((break|continue)(\b\s*)(\'[A-Za-z_]\w*)?zA'(\\['"\\nrt]|\\x[0-7][0-9a-fA-F]|\\0|\\u\{[0-9a-fA-F]{1,6}\}|.)'z@b'(\\['"\\nrt]|\\x[0-9a-fA-F]{2}|\\0|\\u\{[0-9a-fA-F]{1,6}\}|.)'z0b[01_]+ number_litz 0o[0-7_]+z0[xX][0-9a-fA-F_]+zJ[0-9][0-9_]*(\.[0-9_]+[eE][+\-]?[0-9_]+|\.[0-9_]*(?!\.)|[eE][+\-]?[0-9_]+)z [0-9][0-9_]*zb" bytestring"stringz(?s)b?r(#*)".*?"\1'lifetimez\.\.=?z [{}()\[\],.;]z[+\-*/%&|<>^!~@=:?]z [a-zA-Z_]\w*zr#[a-zA-Z_]\w*z#!?\[ attribute[#z[^*/]+z#pushz\*/z#popz[*/]&z (static|_)z [a-zA-Z_]+\w*z[ui](8|16|32|64|size)zf(32|64)z;\\['"\\nrt]|\\x[0-7][0-9a-fA-F]|\\0|\\u\{[0-9a-fA-F]{1,6}\}z[^\\"]+z\\z\\x[89a-fA-F][0-9a-fA-F]z\[attribute_commonz\]z [^"\]\[]+) rootr{r}r|rrrrrrrrrN)0__name__ __module__ __qualname____doc__name filenamesaliases mimetypesrr Type keyword_typesr Builtinbuiltin_funcs_typesFunctionMagicbuiltin_macrosrPreprocrrr DocSingle MultilineReservedConstantPseudo DeclarationrrLabelCharr BinOctHexFloatIntegerr r NamespaceClass AttributeEscapertokensrr6/usr/lib/python3/dist-packages/pygments/lexers/rust.pyrsj          !#%'+. 3 5 79 <?@ADGHILN QVY           N)rpygments.lexerrrrrrpygments.tokenrrr r r r r rr__all__rrrrrs  ,