
    ,h&                         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-2025 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       Z/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/pygments/lexers/lilypond.pybuiltin_wordsr(   $   sD    FK%	j	 &L((''    c            	       r
    e Zd ZdZdZdZdgZdgZg Zd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j2                  fdej4                  dfdej6                  j8                  fdej6                  j:                  fdej6                  fdej6                  fdej<                  j>                  j@                  fdej<                  j>                  j@                  fdej<                  j>                  j@                  f e!e"d      ejF                  f e!e$d      ej<                  jJ                  f e!e&d      ej<                  j>                  jN                  f e!e(d      ej<                  j>                  jR                  f e!e*d      ej<                  j>                  jV                  f e!e,d      ej6                  f e!e-d      ej\                  f e!e/d      ej<                  j>                  j`                  f e!e1d      ej<                  j>                  jd                  f e!e3d      ej<                  j>                  j@                  f e!e4d      ej<                  j>                  jj                  f e!e6d      ej<                  j>                  jn                  f e!e8d      ej<                  j>                  jr                  f e!e:d      ej<                  j>                  jv                  f e!e<d      ej<                  j>                  jz                  f e!e>d      ej<                  j>                  j~                  f e!e@d      ej<                  j>                  j                  df e!eBd      ej<                  j>                  j                  f e!eDd      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j4                  dfd$ej4                  j                  fd%ej4                  fgd&ej*                  d'feIgdej                   j"                  fd(ez    eJej*                  ej<                  j>                  j                        f eKd      gd)ZL xZMS )*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.
    LilyPondzhttps://lilypond.orglilypondz*.lyz2.11c              #     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_unprocessedK   s     #(7#A$#G 	&E5%

+++u

8K8K/K,,!JJ..==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>   )N__name__
__module____qualname____doc__nameurlaliases	filenames	mimetypesversion_added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lGIIMII$E&u
UZZ**+u

 5==223u
 u}}++,u
 U&&/u
  ))73!u
> $$	&?u
N 7?[#@A5;;OOu
T %,,1Uu
Z ELL../[u
\ 5<<001]u
n <<	!ou
z ELL!{u
@ %**,,99:Au
H !%**"4"4"A"ABIu
N uzz11>>?Ou
T 8[15==AUu
V />

@X@XYWu
X 5,/1C1C1H1HIYu
Z 6;/1C1C1I1IJ[u
\ <6

8J8J8U8UV]u
^ 5+.=_u
` ?L95;N;NOau
b ?K8%**:L:L:Z:Z[cu
d 8[15::3E3E3M3MNeu
h =+6

8J8J8W8WXiu
j >;79K9K9X9XYku
l ?K8%**:L:L:Z:Z[mu
n 5,/1C1C1H1HIou
p ;5uzz7I7I7T7TUqu
t 8Z0%**2D2D2L2LMuu
v -|<ejj>P>P>`>`awu
x ?L9ZZ,,"$yu
D ?J79K9K9Y9YZEu
F +Z8%**:L:L:[:[\Gu
N {*EJJ,I,IJOu
V ::$$&Wu
f +UZZ8gu
h 5::iu
n 5<<(U\\(()&
 U&&(89	
 UZZ**+%3e''););)H)HIKFO	 
MLFr)   )%rE   rL   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__rV   r(   r    r)   r'   <module>ry      s`    
 < < ,      !
 ,+6 (rK rr)   