o a!@sdZddlZddlmZmZmZddlmZddlm Z m Z m Z m Z m Z mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZddlmZdgZ dZ!e!fd d Z"Gd ddeZ#dS) z pygments.lexers.lilypond ~~~~~~~~~~~~~~~~~~~~~~~~ Lexer for LilyPond. :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. N)defaultinheritwords) SchemeLexer)keywordspitch_language_namesclefsscales repeat_typesunitschord_modifierspitchesmusic_functionsdynamics articulationsmusic_commandsmarkup_commandsgrobs translatorscontextscontext_propertiesgrob_propertiesscheme_functionspaper_variablesheader_variables)Token LilyPondLexerz(?=\d|[^\w\-]|[\-_][\W\d])cCs@d}|dkr |d7}n|dkr|d7}n|dksJt|||S)Nz[\-_^]? mandatoryz\\optionalz\\? disallowed)r)names backslashsuffixprefixr$:/usr/lib/python3/dist-packages/pygments/lexers/lilypond.py builtin_wordss    r&cseZdZdZdZdgZdgZgZej ej BZ fddZ gde jfde jjfd e jjfd e jd fd e jd fde jfeedede jfde jdfde jjfde jjfde jfde jfde jjjfde jjjfde jjjfeede j fee!de jj"fee#de jjj$fee%de jjj&fee'de jjj(fee)de jfee*de j+fee,de jjj-fee.de jjj/fee0de jjjfee1de jjj2fee3de jjj4fee5de jjj6fee7de jjj8fee9de jjj:fee;de jjjdfee?de jjj@feeAde jjjBfdee jjCfde jjDfd e jEfd!e jd fd"e jjFfd#e jfgd$e jd%feGgd&e jfde jfd'ee jjj>feHd gd(ZIZJS))rz Lexer for input to `LilyPond `_, a text-based music typesetter. .. important:: This lexer is meant to be used in conjunction with the ``lilypond`` style. .. versionadded:: 2.11 LilyPondlilypondz*.lyc#slt|D],\}}}|tjjus|tjjur"|tvr!tjjj}n |tjjur-tjjj }|||fVqdS)z@Highlight Scheme variables as LilyPond builtins when applicable.N) superget_tokens_unprocessedrNameFunctionVariablerBuiltinSchemeFunction SchemeBuiltin)selftextindextokenvalue __class__r$r%r*Bs   z$LilyPondLexer.get_tokens_unprocessedz\s+z %\{.*?%\}z%.*?$z#\}#popz[#$]@?r5z\\\\|--|[{}<>=.,:|]z =?[',]*!?\??)r"z[\-_^]?"stringz -?\d+\.\d+z -?\d+/\d+z-?(\d+|\\longa|\\breve)\.*z\*z[~()[\]]z[\-_^][>^_!.\-+]z [\-_^]?\\?\d+rrrmaybe-subpropertiesz [\-_^]?\\.+?z$([^\W\d]|-)+(?=([^\W\d]|[\-.])*\s*=)."z\\.z[^\\"]+z#\{)r8rootz\.z ([^\W\d])+)r=r9r5r:)K__name__ __module__ __qualname____doc__namealiases filenames mimetypesreDOTALL MULTILINEflagsr*r WhitespaceComment MultilineSingle Punctuationrr NAME_END_REPitchStringNumberFloatFractionr+r. Articulationr&rKeywordr PitchLanguagerClefr Scaler RepeatTyper r ChordModifierr MusicFunctionrDynamicrr MusicCommandr MarkupCommandrGrobr TranslatorrContextrContextPropertyr GrobPropertyr PaperVariablerHeaderVariableBackslashReferenceLvalueTextEscaperrtokens __classcell__r$r$r6r%r&s        " % ( ),. 1 5 8;<=>?@ABCEFGHIKLMSTX \` c   )$rArFpygments.lexerrrrpygments.lexers.lispr"pygments.lexers._lilypond_builtinsrrrr r r r r rrrrrrrrrrrrrpygments.tokenr__all__rOr&rr$r$r$r%s  \