3
V'ícá ã @ s´ d Z ddlZddlmZmZmZmZmZmZm Z m
Z
mZ ddlm
Z
mZmZmZmZmZmZmZmZ ddlmZ ddlmZ ddd d
ddd
dddddddddgZG dd deZG dd deZG dd deZG dd d eZG dd
d
eZ G dd deZ!G dd deZ"G dd
d
eZ#G dd de#Z$G d d! d!eZ%G d"d deZ&G d#d deZ'G d$d deZ(G d%d deZ)G d&d deZ*G d'd deZ+G d(d deZ,dS ))zÍ
pygments.lexers.jvm
~~~~~~~~~~~~~~~~~~~
Pygments lexers for JVM languages.
:copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
é N) ÚLexerÚ
RegexLexerÚincludeÚbygroupsÚusingÚthisÚcombinedÚdefaultÚwords) ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚ
Whitespace)Úshebang_matches)Ú unistringÚ JavaLexerÚ
ScalaLexerÚ GosuLexerÚGosuTemplateLexerÚGroovyLexerÚ IokeLexerÚClojureLexerÚClojureScriptLexerÚKotlinLexerÚ
XtendLexerÚAspectJLexerÚCeylonLexerÚPigLexerÚ GoloLexerÚJasminLexerÚ SarlLexerc @ sÊ e Zd ZdZdZdZdgZdgZdgZe j
e jB Zde
eeeejdfd efd
e
ejefdejfdefd
e
eeejeefdejfdejfdejfde
ejedfdejfdejdfde
ejedfde
ejedfdedfdedfdejfde
eejfde
eeefde
eej efd efd!e!j"fd"e!j#fd#e!j$fd$e!j%fd%e!j&fd&e'fd'efd(efgd)e(fd ej)d*fgd ed*fgd+ejd*fgd,ed*fdefe*dgd-efd.efd/efd0efded*fgd1Z+d2S )3r z
For Java source code.
ÚJavaz(https://www.oracle.com/technetwork/java/Újavaz*.javaztext/x-javazJ(^\s*)((?:(?:public|private|protected|static|strictfp)(?:\s+))*)(record)\bÚclassz[^\S\n]+z(//.*?)(\n)z /\*.*?\*/zz(assert|break|case|catch|continue|default|do|else|finally|for|if|goto|instanceof|new|return|switch|this|throw|try|while)\bzE((?:(?:[^\W\d]|\$)[\w.\[\]$<>]*\s+)+?)((?:[^\W\d]|\$)[\w$]*)(\s*)(\()z@[^\W\d][\w.]*z(abstract|const|enum|extends|final|implements|native|private|protected|public|sealed|static|strictfp|super|synchronized|throws|transient|volatile|yield)\bz6(boolean|byte|char|double|float|int|long|short|void)\bz(package)(\s+)Úimportz(true|false|null)\bz(class|interface)\bz
(var)(\s+)Úvarz(import(?:\s+static)?)(\s+)z"""\nÚmultiline_stringú"Ústringz!'\\.'|'[^\\]'|'\\u[0-9a-fA-F]{4}'z(\.)((?:[^\W\d]|\$)[\w$]*)z^(\s*)(default)(:)z^(\s*)((?:[^\W\d]|\$)[\w$]*)(:)z([^\W\d]|\$)[\w$]*a ([0-9][0-9_]*\.([0-9][0-9_]*)?|\.[0-9][0-9_]*)([eE][+\-]?[0-9][0-9_]*)?[fFdD]?|[0-9][eE][+\-]?[0-9][0-9_]*[fFdD]?|[0-9]([eE][+\-]?[0-9][0-9_]*)?[fFdD]|0[xX]([0-9a-fA-F][0-9a-fA-F_]*\.?|([0-9a-fA-F][0-9a-fA-F_]*)?\.[0-9a-fA-F][0-9a-fA-F_]*)[pP][+\-]?[0-9][0-9_]*[fFdD]?z"0[xX][0-9a-fA-F][0-9a-fA-F_]*[lL]?z0[bB][01][01_]*[lL]?z
0[0-7_]+[lL]?z0|[1-9][0-9_]*[lL]?z[~^*!%&\[\]<>|+=/?-]z
[{}();:.,]z\nz\s+z#popz [\w.]+\*?z"""z[^\\"]+z\\\\z\\"z\\)Úrootr( r* r) r+ r- N),Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ filenamesÚ mimetypesÚreÚ MULTILINEÚDOTALLÚflagsr r r r r ÚDeclarationr ÚSingleÚ Multiliner ÚFunctionr Ú DecoratorÚTypeÚ NamespaceÚConstantr ÚCharÚ AttributeÚLabelr ÚFloatÚHexÚBinÚOctÚIntegerr