3
V'íc ã @ sf d Z ddlmZmZmZmZmZ ddlmZm Z m
Z
mZmZm
Z
mZmZmZ dgZG dd deZdS )zÊ
pygments.lexers.rust
~~~~~~~~~~~~~~~~~~~~
Lexers for the Rust language.
:copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
é )Ú
RegexLexerÚincludeÚbygroupsÚwordsÚdefault) ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚ
WhitespaceÚ RustLexerc 3 @ s e Zd ZdZdZdZddgZddgZdd gZe dádde
jfZe dâdde
jfZe dãdsde
jjfZdtejfedugdvefdwefdxejfdyejfdzejfd{ejd|fd}ejd|fd~ejdfdejfe dädde
fe dådde
jfd¨e
jfd©e
jjfdªe
d«fd¬e
jfde
d®fd¯e
d°fd±ee
e e
fed²e
jjfeed³e fd´e d°fdµee
e je
j!fd¶ej"fd·ej"fd¸e#j$d¹fdºe#j%d¹fd»e#j&d¹fd¼e#j'd¹fd½e#j(d¹fd¾ed¿fdÀedÁfdÂefdÃe)dÄfdÅe)fdÆe*fdÇe)fdÈe
fdÉe
fdÊejdËfdÌe fg+dÍejfd~ejdÎfdÏejdÐfdÑejfgdÍejfd~ejdÎfdÏejdÐfdÑejfgdwe fdÈe
j+dÐfedÐgdwe fdÈe
jdÐfedÐgdwe fdÒe
jfdÃe)dÄfeedÈe
j,dÐfedÐgdÓe
jfdÔe
j-fedÐgdÕe
dÐfdÖe
dÐfedÐgdÀedÐfd×ej.fdØefdÙefgdÚej.fe/dÁgdÀedÁfdÛejdËfge/dÜdÝejdÐfdÞejfgdß
Z0dàS )ær z\
Lexer for the Rust programming language (version 1.47).
.. versionadded:: 1.6
ZRustzhttps://www.rust-lang.org/z*.rsz*.rs.inZrustÚrsz text/rustztext/x-rustÚu8Úu16Úu32Úu64Úu128Úi8Úi16Úi32Úi64Úi128ÚusizeÚisizeÚf32Úf64ÚcharÚstrÚboolz\b)ÚsuffixÚCopyÚSendÚSizedÚSyncÚUnpinÚDropÚFnÚFnMutÚFnOnceÚdropÚBoxÚToOwnedÚCloneÚ PartialEqÚ
PartialOrdÚEqÚOrdÚAsRefÚAsMutÚIntoÚFromÚDefaultÚIteratorÚExtendÚIntoIteratorÚDoubleEndedIteratorÚExactSizeIteratorÚOptionÚSomeÚNoneÚResultÚOkÚErrr ÚToStringÚVecÚasmÚassertÚ assert_eqÚ assert_neÚcfgÚcolumnÚ
compile_errorÚconcatÚ
concat_identsÚdbgÚdebug_assertÚdebug_assert_eqÚdebug_assert_neÚenvÚeprintÚeprintlnÚfileÚformatÚformat_argsÚformat_args_nlÚ
global_asmr Ú
include_bytesÚinclude_strÚis_aarch64_feature_detectedÚis_arm_feature_detectedÚis_mips64_feature_detectedÚis_mips_feature_detectedÚis_powerpc64_feature_detectedÚis_powerpc_feature_detectedÚis_x86_feature_detectedÚlineÚllvm_asmÚ
log_syntaxÚmacro_rulesÚmatchesÚmodule_pathÚ
option_envÚpanicÚprintÚprintlnÚ stringifyÚthread_localÚtodoÚtrace_macrosÚ
unimplementedÚunreachableÚvecÚwriteÚwritelnú!z
#![^[\r\n].*$Úbasez\nz\s+z//!.*?\nz///(\n|[^/].*?\n)z //(.*?)\nz/\*\*(\n|[^/*])Ú
doccommentz/\*!z/\*Úcommentz\$([a-zA-Z_]\w*|\(,?|\),?|,?)ÚasÚasyncÚawaitÚboxÚconstÚcrateÚdynÚelseÚexternÚforÚifÚimplÚinÚloopÚmatchÚmoveÚmutÚpubÚrefÚreturnÚstaticÚsuperÚtraitÚunsafeÚuseÚwhereÚwhileÚabstractÚbecomeÚdoÚfinalÚmacroÚoverrideÚprivÚtypeofÚtryÚunsizedÚvirtualÚyieldz(true|false)\bzself\bzmod\bÚmodnamezlet\bzfn\bÚfuncnamez(struct|enum|type|union)\bÚtypenamez(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#!?\[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 [^"\]\[]+)
Úrootry r{ rz r£ r¤ r¥ r« r¦ r© r§ r® z
attribute[N)r r r r r r r r r r r r r r r r! r"