Ë
    |í¼e&  ã                   óÆ   — d Z ddlZddlmZmZmZmZ ddlmZ ddl	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ ddlm Z  dgZ!dZ"e"fd	„Z# G d
„ de«      Z$y)zÈ
    pygments.lexers.lilypond
    ~~~~~~~~~~~~~~~~~~~~~~~~

    Lexer for LilyPond.

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)ÚbygroupsÚdefaultÚinheritÚwords)ÚSchemeLexer)ÚkeywordsÚpitch_language_namesÚclefsÚscalesÚrepeat_typesÚunitsÚchord_modifiersÚpitchesÚmusic_functionsÚdynamicsÚarticulationsÚmusic_commandsÚmarkup_commandsÚgrobsÚtranslatorsÚcontextsÚcontext_propertiesÚgrob_propertiesÚscheme_functionsÚpaper_variablesÚheader_variables)ÚTokenÚLilyPondLexerz(?=\d|[^\w\-]|[\-_][\W\d])c                 óZ   — d}|dk(  r|dz  }n|dk(  r|dz  }n|dk(  sJ ‚t        | ||«      S )Nz[\-_^]?Ú	mandatoryz\\Úoptionalz\\?Ú
disallowed)r   )ÚnamesÚ	backslashÚsuffixÚprefixs       ú:/usr/lib/python3/dist-packages/pygments/lexers/lilypond.pyÚbuiltin_wordsr(   $   sG   € Ø€FØ�KÒØ�%‰‰Ø	�jÒ	 Ø�&Ñ‰à˜LÒ(Ð(Ð(Ü�˜ Ó'Ð'ó    c            	       ón
  ‡ — e Zd ZdZdZdZdgZdgZg Ze	j                  e	j                  z  Zˆ fd„Zg dej                  j                   f‘dej"                  j$                  f‘d	ej"                  j&                  f‘d
ej(                  df‘dej(                  df‘dej(                  f‘ eedez   ¬«      ej0                  f‘dej2                  df‘dej4                  j6                  f‘dej4                  j8                  f‘dej4                  f‘dej4                  f‘dej:                  j<                  j>                  f‘dej:                  j<                  j>                  f‘dej:                  j<                  j>                  f‘ e e!d«      ejD                  f‘ e e#d«      ej:                  jH                  f‘ e e%d«      ej:                  j<                  jL                  f‘ e e'd«      ej:                  j<                  jP                  f‘ e e)d«      ej:                  j<                  jT                  f‘ e e+d«      ej4                  f‘ e e,d«      ejZ                  f‘ e e.d«      ej:                  j<                  j^                  f‘ e e0d«      ej:                  j<                  jb                  f‘ e e2d«      ej:                  j<                  j>                  f‘ e e3d«      ej:                  j<                  jh                  f‘ e e5d«      ej:                  j<                  jl                  f‘ e e7d«      ej:                  j<                  jp                  f‘ e e9d«      ej:                  j<                  jt                  f‘ e e;d«      ej:                  j<                  jx                  f‘ e e=d«      ej:                  j<                  j|                  f‘ e e?d«      ej:                  j<                  j€                  df‘ e eAd«      ej:                  j<                  j„                  f‘ e eCd«      ej:                  j<                  jˆ                  f‘dez   ej:                  jŠ                  f‘dej:                  jŒ                  f‘d ez   ej                  f‘d!ej                  f‘d"ej2                  dfd#ej2                  jŽ                  fd$ej2                  fgd%ej(                  d&feHgdej                  j                   fd'ez    eIej(                  ej:                  j<                  j€                  «      f eJd«      gd(œZKˆ xZLS ))r   zÈ
    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
    ÚLilyPondzhttps://lilypond.orgÚlilypondz*.lyc              #   ó–  •K  — t         ‰| �  |«      D ]²  \  }}}|t        j                  j                  u s|t        j                  j
                  u r-|t        v ret        j                  j                  j                  }n@|t        j                  j                  u r$t        j                  j                  j                  }|||f–— Œ´ y­w)z@Highlight Scheme variables as LilyPond builtins when applicable.N)
ÚsuperÚget_tokens_unprocessedr   ÚNameÚFunctionÚVariabler   ÚBuiltinÚSchemeFunctionÚSchemeBuiltin)ÚselfÚtextÚindexÚtokenÚvalueÚ	__class__s        €r'   r/   z$LilyPondLexer.get_tokens_unprocessedL   sœ   øè ø€ ä#(¡7Ñ#AÀ$Ó#Gò 	&ÑˆE�5˜%ØœŸ
™
×+Ñ+Ñ+¨u¼¿
¹
×8KÑ8KÑ/KØÔ,Ñ,Ü!ŸJ™J×.Ñ.×=Ñ=‘EØœ%Ÿ*™*×,Ñ,Ñ,ÜŸ
™
×*Ñ*×8Ñ8�Ø˜ Ð%Ó%ñ	&ùs   ƒCC	z\s+z	%\{.*?%\}z%.*?$z#\}ú#popz[#$]@?r:   zm(?x)
               \\\\
               | (?<= \s ) (?: -- | __ )
               | [{}<>=.,:|]
              z=?[',]*!?\??)r%   z[\-_^]?"Ústringz
-?\d+\.\d+z	-?\d+/\d+zŠ(?x)
               (?<= \s ) -\d+
               | (?: (?: \d+ | \\breve | \\longa | \\maxima )
                     \.* )
              z\*z[~()[\]]z[\-_^][>^_!.\-+]z[\-_^]?\\?\d+r    r"   r!   úmaybe-subpropertiesz[\-_^]?\\.+?zg(?x)
               (?: [^\W\d] | - )+
               (?= (?: [^\W\d] | [\-.] )* \s* = )
              z([^\W\d]|-)+?ú.ú"z\\.z[^\\"]+z#\{)r<   Úrootz(\.)((?:[^\W\d]|-)+?))rA   r=   r:   r>   )MÚ__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesÚ	mimetypesÚreÚDOTALLÚ	MULTILINEÚflagsr/   r   ÚTextÚ
WhitespaceÚCommentÚ	MultilineÚSingleÚPunctuationr   r   ÚNAME_END_REÚPitchÚStringÚNumberÚFloatÚFractionr0   r3   ÚArticulationr(   r   ÚKeywordr	   ÚPitchLanguager
   ÚClefr   ÚScaler   Ú
RepeatTyper   r   ÚChordModifierr   ÚMusicFunctionr   ÚDynamicr   r   ÚMusicCommandr   ÚMarkupCommandr   ÚGrobr   Ú
Translatorr   ÚContextr   ÚContextPropertyr   ÚGrobPropertyr   ÚPaperVariabler   ÚHeaderVariableÚBackslashReferenceÚLvalueÚEscaper   r   r   ÚtokensÚ__classcell__)r;   s   @r'   r   r   /   sé  ø„ ñð €DØ
 €CØˆl€GØ�€IØ€Ià�I‰I˜Ÿ™Ñ$€Eô&ðu
à�U—Z‘Z×*Ñ*Ð+ðu
ð
 ˜5Ÿ=™=×2Ñ2Ð3ðu
ð �u—}‘}×+Ñ+Ð,ðu
ð �U×&Ñ&¨Ð/ðu
ð  ˜×)Ñ)¨7Ð3ð!u
ð>ð ×$Ñ$ð	&ð?u
ñN �7 ?°[Ñ#@ÔAÀ5Ç;Á;ÐOðOu
ðT ˜%Ÿ,™,¨Ð1ðUu
ðZ ˜EŸL™L×.Ñ.Ð/ð[u
ð\ ˜5Ÿ<™<×0Ñ0Ð1ð]u
ðnð —<‘<ð	!ðou
ðz �E—L‘LÐ!ð{u
ð@ ˜%Ÿ*™*×,Ñ,×9Ñ9Ð:ðAu
ðH ! %§*¡*×"4Ñ"4×"AÑ"AÐBðIu
ðN ˜uŸz™z×1Ñ1×>Ñ>Ð?ðOu
ñT ˜8 [Ó1°5·=±=ÐAðUu
ñV Ð/°Ó>ÀÇ
Á
×@XÑ@XÐYðWu
ñX ˜5 ,Ó/°·±×1CÑ1C×1HÑ1HÐIðYu
ñZ ˜6 ;Ó/°·±×1CÑ1C×1IÑ1IÐJð[u
ñ\ ˜<¨Ó6¸¿
¹
×8JÑ8J×8UÑ8UÐVð]u
ñ^ ˜5 +Ó.°·±Ð=ð_u
ñ` ˜?¨LÓ9¸5×;NÑ;NÐOðau
ñb ˜?¨KÓ8¸%¿*¹*×:LÑ:L×:ZÑ:ZÐ[ðcu
ñd ˜8 [Ó1°5·:±:×3EÑ3E×3MÑ3MÐNðeu
ñh ˜=¨+Ó6¸¿
¹
×8JÑ8J×8WÑ8WÐXðiu
ñj ˜>¨;Ó7¸¿¹×9KÑ9K×9XÑ9XÐYðku
ñl ˜?¨KÓ8¸%¿*¹*×:LÑ:L×:ZÑ:ZÐ[ðmu
ñn ˜5 ,Ó/°·±×1CÑ1C×1HÑ1HÐIðou
ñp ˜;¨Ó5°u·z±z×7IÑ7I×7TÑ7TÐUðqu
ñt ˜8 ZÓ0°%·*±*×2DÑ2D×2LÑ2LÐMðuu
ñv Ð-¨|Ó<¸e¿j¹j×>PÑ>P×>`Ñ>`Ðaðwu
ñx ˜?¨LÓ9Ø�Z‰Z×Ñ×,Ñ,Ø"ð$ðyu
ñD ˜?¨JÓ7¸¿¹×9KÑ9K×9YÑ9YÐZðEu
ñF Ð+¨ZÓ8¸%¿*¹*×:LÑ:L×:[Ñ:[Ð\ðGu
ðN ˜{Ñ*¨E¯J©J×,IÑ,IÐJðOu
ðVð —:‘:×$Ñ$ð&ðWu
ðf  Ñ+¨U¯Z©ZÐ8ðgu
ðh �5—:‘:Ððiu
ðn �5—<‘< Ð(Ø�U—\‘\×(Ñ(Ð)Ø˜Ÿ™Ð&ð
ð �U×&Ñ&Ð(8Ð9Øð	
ð �U—Z‘Z×*Ñ*Ð+Ø%¨Ñ3Ù�e×'Ñ'¨¯©×);Ñ);×)HÑ)HÓIðKá�F‹Oð	 
ñML„Fr)   )%rE   rK   Úpygments.lexerr   r   r   r   Úpygments.lexers.lispr   Ú"pygments.lexers._lilypond_builtinsr   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Úpygments.tokenr   Ú__all__rU   r(   r   © r)   r'   ú<module>rx      s`   ðñó 
ç <Ó <Ý ,÷÷ ÷ ÷ ÷ õ õ !àÐ
€ð ,€à+6ó (ôs�Kõ sr)   