1 # Copyright (c) 2005 - 2006 Hans Jeuken. All rights reserved.
2 # This program is free software; you can redistribute it and/or
3 # modify it under the same terms as Perl itself.
5 # This file was generated from the 'lilypond.xml' file of the syntax highlight
6 # engine of the kate text editor (http://www.kate-editor.org
10 #kate author Andrea Primiani (primiani@dag.it)
11 #generated: Sun Feb 3 22:02:05 2008, localtime
13 package Syntax::Highlight::Engine::Kate::LilyPond;
15 our $VERSION = '0.06';
19 use base('Syntax::Highlight::Engine::Kate::Template');
23 my $class = ref($proto) || $proto;
24 my $self = $class->SUPER::new(@_);
28 'Comment' => 'Comment',
29 'Context' => 'DataType',
30 'Decoration' => 'Reserved',
31 'Drums' => 'RegionMarker',
32 'Dynamics' => 'BString',
34 'Keyword' => 'Keyword',
36 'Normal Text' => 'Normal',
37 'Preprocessor' => 'IString',
38 'Repeat' => 'Operator',
44 $self->listAdd('commands',
50 $self->listAdd('repeats',
60 callback => \&parseCommand,
61 attribute => 'Header',
64 callback => \&parseComment,
65 attribute => 'Comment',
69 callback => \&parseContext,
70 attribute => 'Normal Text',
73 callback => \&parseHeader,
74 attribute => 'Header',
77 callback => \&parseKeyword,
78 attribute => 'Keyword',
82 callback => \&parseLyrics,
83 attribute => 'Lyrics',
86 callback => \&parseNormal,
87 attribute => 'Normal Text',
90 callback => \&parsePreprocessor,
91 attribute => 'Preprocessor',
95 callback => \&parseRepeat,
96 attribute => 'Normal Text',
99 callback => \&parseSlur,
100 attribute => 'Normal',
103 $self->deliminators('\\s||\\.|\\(|\\)|:|\\!|\\+|,|-|<|=|>|\\%|\\&|\\*|\\/|;|\\?|\\[|\\]|\\^|\\{|\\||\\}|\\~|\\\\');
104 $self->basecontext('Normal');
105 $self->keywordscase(1);
107 bless ($self, $class);
116 my ($self, $text) = @_;
117 # attribute => 'Header'
119 # context => 'Command'
120 # type => 'DetectChar'
121 if ($self->testDetectChar($text, '(', 0, 0, 0, undef, 0, 'Command', 'Header')) {
124 # attribute => 'Header'
127 # endRegion => 'command'
128 # type => 'DetectChar'
129 if ($self->testDetectChar($text, ')', 0, 0, 0, undef, 0, '#pop', 'Header')) {
136 my ($self, $text) = @_;
141 my ($self, $text) = @_;
142 # attribute => 'Context'
146 # endRegion => 'context'
147 # type => 'Detect2Chars'
148 if ($self->testDetect2Chars($text, '>', '>', 0, 0, 0, undef, 0, '#pop', 'Context')) {
155 my ($self, $text) = @_;
156 # attribute => 'Keyword'
159 # endRegion => 'header'
160 # type => 'DetectChar'
161 if ($self->testDetectChar($text, '}', 0, 0, 0, undef, 0, '#pop', 'Keyword')) {
168 my ($self, $text) = @_;
173 my ($self, $text) = @_;
174 # attribute => 'Comment'
176 # context => 'Comment'
177 # type => 'DetectChar'
178 if ($self->testDetectChar($text, '%', 0, 0, 0, undef, 0, 'Comment', 'Comment')) {
181 # attribute => 'Lyrics'
184 # endRegion => 'lyrics'
185 # type => 'DetectChar'
186 if ($self->testDetectChar($text, '}', 0, 0, 0, undef, 0, '#pop', 'Lyrics')) {
193 my ($self, $text) = @_;
194 # String => 'repeats'
195 # attribute => 'Repeat'
198 if ($self->testKeyword($text, 'repeats', 0, undef, 0, '#stay', 'Repeat')) {
201 # String => 'commands'
202 # attribute => 'Keyword'
203 # context => 'Keyword'
205 if ($self->testKeyword($text, 'commands', 0, undef, 0, 'Keyword', 'Keyword')) {
208 # String => '\addquote'
209 # attribute => 'Keyword'
211 # type => 'StringDetect'
212 if ($self->testStringDetect($text, '\\addquote', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
215 # String => '\aeolian'
216 # attribute => 'Keyword'
218 # type => 'StringDetect'
219 if ($self->testStringDetect($text, '\\aeolian', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
222 # String => '\applymusic'
223 # attribute => 'Keyword'
225 # type => 'StringDetect'
226 if ($self->testStringDetect($text, '\\applymusic', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
229 # String => '\applyoutput'
230 # attribute => 'Keyword'
232 # type => 'StringDetect'
233 if ($self->testStringDetect($text, '\\applyoutput', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
236 # String => '\autochange'
237 # attribute => 'Keyword'
239 # type => 'StringDetect'
240 if ($self->testStringDetect($text, '\\autochange', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
244 # attribute => 'Keyword'
246 # type => 'StringDetect'
247 if ($self->testStringDetect($text, '\\bar', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
251 # attribute => 'Keyword'
253 # type => 'StringDetect'
254 if ($self->testStringDetect($text, '\\bold', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
257 # String => '\bookpaper'
258 # attribute => 'Keyword'
260 # type => 'StringDetect'
261 if ($self->testStringDetect($text, '\\bookpaper', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
265 # attribute => 'Keyword'
267 # type => 'StringDetect'
268 if ($self->testStringDetect($text, '\\book', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
271 # String => '\breathe'
272 # attribute => 'Keyword'
274 # type => 'StringDetect'
275 if ($self->testStringDetect($text, '\\breathe', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
278 # String => '\breve '
279 # attribute => 'Keyword'
281 # type => 'StringDetect'
282 if ($self->testStringDetect($text, '\\breve ', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
285 # String => '\cadenzaOff'
286 # attribute => 'Keyword'
288 # type => 'StringDetect'
289 if ($self->testStringDetect($text, '\\cadenzaOff', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
292 # String => '\cadenzaOn'
293 # attribute => 'Keyword'
295 # type => 'StringDetect'
296 if ($self->testStringDetect($text, '\\cadenzaOn', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
299 # String => '\change'
300 # attribute => 'Keyword'
302 # type => 'StringDetect'
303 if ($self->testStringDetect($text, '\\change', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
306 # String => '\chords'
307 # attribute => 'Keyword'
309 # type => 'StringDetect'
310 if ($self->testStringDetect($text, '\\chords', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
313 # String => '\column'
314 # attribute => 'Keyword'
316 # type => 'StringDetect'
317 if ($self->testStringDetect($text, '\\column', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
320 # String => '\consists'
321 # attribute => 'Keyword'
323 # type => 'StringDetect'
324 if ($self->testStringDetect($text, '\\consists', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
327 # String => '\context'
328 # attribute => 'Keyword'
330 # type => 'StringDetect'
331 if ($self->testStringDetect($text, '\\context', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
334 # String => '\default'
335 # attribute => 'Keyword'
337 # type => 'StringDetect'
338 if ($self->testStringDetect($text, '\\default', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
341 # String => '\dorian'
342 # attribute => 'Keyword'
344 # type => 'StringDetect'
345 if ($self->testStringDetect($text, '\\dorian', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
348 # String => '\dotsBoth'
349 # attribute => 'Keyword'
351 # type => 'StringDetect'
352 if ($self->testStringDetect($text, '\\dotsBoth', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
355 # String => '\dotsDown'
356 # attribute => 'Keyword'
358 # type => 'StringDetect'
359 if ($self->testStringDetect($text, '\\dotsDown', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
362 # String => '\dotsUp'
363 # attribute => 'Keyword'
365 # type => 'StringDetect'
366 if ($self->testStringDetect($text, '\\dotsUp', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
370 # attribute => 'Keyword'
372 # type => 'StringDetect'
373 if ($self->testStringDetect($text, '\\drums', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
376 # String => '\dynamicBoth'
377 # attribute => 'Keyword'
379 # type => 'StringDetect'
380 if ($self->testStringDetect($text, '\\dynamicBoth', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
383 # String => '\dynamicDown'
384 # attribute => 'Keyword'
386 # type => 'StringDetect'
387 if ($self->testStringDetect($text, '\\dynamicDown', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
390 # String => '\dynamicUp'
391 # attribute => 'Keyword'
393 # type => 'StringDetect'
394 if ($self->testStringDetect($text, '\\dynamicUp', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
397 # String => '\emptyText'
398 # attribute => 'Keyword'
400 # type => 'StringDetect'
401 if ($self->testStringDetect($text, '\\emptyText', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
404 # String => '\fatText'
405 # attribute => 'Keyword'
407 # type => 'StringDetect'
408 if ($self->testStringDetect($text, '\\fatText', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
411 # String => '\figures'
412 # attribute => 'Keyword'
414 # type => 'StringDetect'
415 if ($self->testStringDetect($text, '\\figures', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
418 # String => '\finger'
419 # attribute => 'Keyword'
421 # type => 'StringDetect'
422 if ($self->testStringDetect($text, '\\finger', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
426 # attribute => 'Keyword'
428 # type => 'StringDetect'
429 if ($self->testStringDetect($text, '\\flat', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
432 # String => '\germanChords'
433 # attribute => 'Keyword'
435 # type => 'StringDetect'
436 if ($self->testStringDetect($text, '\\germanChords', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
439 # String => '\include'
440 # attribute => 'Keyword'
442 # type => 'StringDetect'
443 if ($self->testStringDetect($text, '\\include', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
447 # attribute => 'Keyword'
449 # type => 'StringDetect'
450 if ($self->testStringDetect($text, '\\input', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
453 # String => '\italic'
454 # attribute => 'Keyword'
456 # type => 'StringDetect'
457 if ($self->testStringDetect($text, '\\italic', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
460 # String => '\ionian'
461 # attribute => 'Keyword'
463 # type => 'StringDetect'
464 if ($self->testStringDetect($text, '\\ionian', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
467 # String => '\locrian'
468 # attribute => 'Keyword'
470 # type => 'StringDetect'
471 if ($self->testStringDetect($text, '\\locrian', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
475 # attribute => 'Keyword'
477 # type => 'StringDetect'
478 if ($self->testStringDetect($text, '\\longa', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
481 # String => '\lydian'
482 # attribute => 'Keyword'
484 # type => 'StringDetect'
485 if ($self->testStringDetect($text, '\\lydian', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
488 # String => '\lyricsto'
489 # attribute => 'Keyword'
491 # type => 'StringDetect'
492 if ($self->testStringDetect($text, '\\lyricsto', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
496 # attribute => 'Keyword'
498 # type => 'StringDetect'
499 if ($self->testStringDetect($text, '\\major', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
503 # attribute => 'Keyword'
505 # type => 'StringDetect'
506 if ($self->testStringDetect($text, '\\mark', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
509 # String => '\markup'
510 # attribute => 'Keyword'
512 # type => 'StringDetect'
513 if ($self->testStringDetect($text, '\\markup', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
517 # attribute => 'Keyword'
519 # type => 'StringDetect'
520 if ($self->testStringDetect($text, '\\midi', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
524 # attribute => 'Keyword'
526 # type => 'StringDetect'
527 if ($self->testStringDetect($text, '\\minor', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
530 # String => '\mixolydian'
531 # attribute => 'Keyword'
533 # type => 'StringDetect'
534 if ($self->testStringDetect($text, '\\mixolydian', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
537 # String => '\musicglyph'
538 # attribute => 'Keyword'
540 # type => 'StringDetect'
541 if ($self->testStringDetect($text, '\\musicglyph', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
544 # String => '\newlyrics'
545 # attribute => 'Keyword'
547 # type => 'StringDetect'
548 if ($self->testStringDetect($text, '\\newlyrics', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
552 # attribute => 'Keyword'
554 # type => 'StringDetect'
555 if ($self->testStringDetect($text, '\\new', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
558 # String => '\noBeam'
559 # attribute => 'Keyword'
561 # type => 'StringDetect'
562 if ($self->testStringDetect($text, '\\noBeam', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
566 # attribute => 'Keyword'
568 # type => 'StringDetect'
569 if ($self->testStringDetect($text, '\\notes', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
572 # String => '\octave'
573 # attribute => 'Keyword'
575 # type => 'StringDetect'
576 if ($self->testStringDetect($text, '\\octave', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
580 # attribute => 'Keyword'
582 # type => 'StringDetect'
583 if ($self->testStringDetect($text, '\\once', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
586 # String => '\oneVoice'
587 # attribute => 'Keyword'
589 # type => 'StringDetect'
590 if ($self->testStringDetect($text, '\\oneVoice', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
593 # String => '\override'
594 # attribute => 'Keyword'
596 # type => 'StringDetect'
597 if ($self->testStringDetect($text, '\\override', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
600 # String => '\pageBreak'
601 # attribute => 'Keyword'
603 # type => 'StringDetect'
604 if ($self->testStringDetect($text, '\\pageBreak', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
608 # attribute => 'Keyword'
610 # type => 'StringDetect'
611 if ($self->testStringDetect($text, '\\paper', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
614 # String => '\partcombine'
615 # attribute => 'Keyword'
617 # type => 'StringDetect'
618 if ($self->testStringDetect($text, '\\partcombine', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
621 # String => '\partial'
622 # attribute => 'Keyword'
624 # type => 'StringDetect'
625 if ($self->testStringDetect($text, '\\partial', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
628 # String => '\phrasingSlurBoth'
629 # attribute => 'Keyword'
631 # type => 'StringDetect'
632 if ($self->testStringDetect($text, '\\phrasingSlurBoth', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
635 # String => '\phrasingSlurDown'
636 # attribute => 'Keyword'
638 # type => 'StringDetect'
639 if ($self->testStringDetect($text, '\\phrasingSlurDown', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
642 # String => '\phrasingSlurUp'
643 # attribute => 'Keyword'
645 # type => 'StringDetect'
646 if ($self->testStringDetect($text, '\\phrasingSlurUp', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
649 # String => '\phrigian'
650 # attribute => 'Keyword'
652 # type => 'StringDetect'
653 if ($self->testStringDetect($text, '\\phrigian', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
656 # String => '\property'
657 # attribute => 'Keyword'
659 # type => 'StringDetect'
660 if ($self->testStringDetect($text, '\\property', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
664 # attribute => 'Keyword'
666 # type => 'StringDetect'
667 if ($self->testStringDetect($text, '\\quote', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
671 # attribute => 'Keyword'
673 # type => 'StringDetect'
674 if ($self->testStringDetect($text, '\\raise', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
677 # String => '\relative'
678 # attribute => 'Keyword'
680 # type => 'StringDetect'
681 if ($self->testStringDetect($text, '\\relative', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
684 # String => '\remove'
685 # attribute => 'Keyword'
687 # type => 'StringDetect'
688 if ($self->testStringDetect($text, '\\remove', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
691 # String => '\renameinput'
692 # attribute => 'Keyword'
694 # type => 'StringDetect'
695 if ($self->testStringDetect($text, '\\renameinput', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
699 # attribute => 'Keyword'
701 # type => 'StringDetect'
702 if ($self->testStringDetect($text, '\\rest', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
705 # String => '\revert'
706 # attribute => 'Keyword'
708 # type => 'StringDetect'
709 if ($self->testStringDetect($text, '\\revert', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
713 # attribute => 'Keyword'
715 # type => 'StringDetect'
716 if ($self->testStringDetect($text, '\\score', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
719 # String => '\scriptBoth'
720 # attribute => 'Keyword'
722 # type => 'StringDetect'
723 if ($self->testStringDetect($text, '\\scriptBoth', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
726 # String => '\scriptDown'
727 # attribute => 'Keyword'
729 # type => 'StringDetect'
730 if ($self->testStringDetect($text, '\\scriptDown', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
733 # String => '\scriptUp'
734 # attribute => 'Keyword'
736 # type => 'StringDetect'
737 if ($self->testStringDetect($text, '\\scriptUp', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
740 # String => '\semiGermanChords'
741 # attribute => 'Keyword'
743 # type => 'StringDetect'
744 if ($self->testStringDetect($text, '\\semiGermanChords', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
747 # String => '\setEasyHeads'
748 # attribute => 'Keyword'
750 # type => 'StringDetect'
751 if ($self->testStringDetect($text, '\\setEasyHeads', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
754 # String => '\setHairpinCresc'
755 # attribute => 'Keyword'
757 # type => 'StringDetect'
758 if ($self->testStringDetect($text, '\\setHairpinCresc', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
761 # String => '\setTextCresc'
762 # attribute => 'Keyword'
764 # type => 'StringDetect'
765 if ($self->testStringDetect($text, '\\setTextCresc', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
769 # attribute => 'Keyword'
771 # type => 'StringDetect'
772 if ($self->testStringDetect($text, '\\set', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
775 # String => '\shiftOff'
776 # attribute => 'Keyword'
778 # type => 'StringDetect'
779 if ($self->testStringDetect($text, '\\shiftOff', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
782 # String => '\shiftOnnn'
783 # attribute => 'Keyword'
785 # type => 'StringDetect'
786 if ($self->testStringDetect($text, '\\shiftOnnn', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
789 # String => '\shiftOnn'
790 # attribute => 'Keyword'
792 # type => 'StringDetect'
793 if ($self->testStringDetect($text, '\\shiftOnn', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
796 # String => '\shiftOn'
797 # attribute => 'Keyword'
799 # type => 'StringDetect'
800 if ($self->testStringDetect($text, '\\shiftOn', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
803 # String => '\simultaneous'
804 # attribute => 'Keyword'
806 # type => 'StringDetect'
807 if ($self->testStringDetect($text, '\\simultaneous', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
811 # attribute => 'Keyword'
813 # type => 'StringDetect'
814 if ($self->testStringDetect($text, '\\skip ', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
817 # String => '\slurBoth'
818 # attribute => 'Keyword'
820 # type => 'StringDetect'
821 if ($self->testStringDetect($text, '\\slurBoth', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
824 # String => '\slurDotted'
825 # attribute => 'Keyword'
827 # type => 'StringDetect'
828 if ($self->testStringDetect($text, '\\slurDotted', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
831 # String => '\slurDown'
832 # attribute => 'Keyword'
834 # type => 'StringDetect'
835 if ($self->testStringDetect($text, '\\slurDown', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
838 # String => '\slurSolid'
839 # attribute => 'Keyword'
841 # type => 'StringDetect'
842 if ($self->testStringDetect($text, '\\slurSolid', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
845 # String => '\slurUp'
846 # attribute => 'Keyword'
848 # type => 'StringDetect'
849 if ($self->testStringDetect($text, '\\slurUp', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
852 # String => '\smaller'
853 # attribute => 'Keyword'
855 # type => 'StringDetect'
856 if ($self->testStringDetect($text, '\\smaller', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
859 # String => '\startGroup'
860 # attribute => 'Keyword'
862 # type => 'StringDetect'
863 if ($self->testStringDetect($text, '\\startGroup', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
866 # String => '\startTextSpan'
867 # attribute => 'Keyword'
869 # type => 'StringDetect'
870 if ($self->testStringDetect($text, '\\startTextSpan', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
873 # String => '\stemBoth'
874 # attribute => 'Keyword'
876 # type => 'StringDetect'
877 if ($self->testStringDetect($text, '\\stemBoth', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
880 # String => '\stemDown'
881 # attribute => 'Keyword'
883 # type => 'StringDetect'
884 if ($self->testStringDetect($text, '\\stemDown', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
887 # String => '\stemUp'
888 # attribute => 'Keyword'
890 # type => 'StringDetect'
891 if ($self->testStringDetect($text, '\\stemUp', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
894 # String => '\stopGroup'
895 # attribute => 'Keyword'
897 # type => 'StringDetect'
898 if ($self->testStringDetect($text, '\\stopGroup', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
901 # String => '\stopTextSpan'
902 # attribute => 'Keyword'
904 # type => 'StringDetect'
905 if ($self->testStringDetect($text, '\\stopTextSpan', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
909 # attribute => 'Keyword'
911 # type => 'StringDetect'
912 if ($self->testStringDetect($text, '\\tag', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
916 # attribute => 'Keyword'
918 # type => 'StringDetect'
919 if ($self->testStringDetect($text, '\\tempo', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
923 # attribute => 'Keyword'
925 # type => 'StringDetect'
926 if ($self->testStringDetect($text, '\\thumb', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
929 # String => '\tieBoth'
930 # attribute => 'Keyword'
932 # type => 'StringDetect'
933 if ($self->testStringDetect($text, '\\tieBoth', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
936 # String => '\tieDotted'
937 # attribute => 'Keyword'
939 # type => 'StringDetect'
940 if ($self->testStringDetect($text, '\\tieDotted', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
943 # String => '\tieDown'
944 # attribute => 'Keyword'
946 # type => 'StringDetect'
947 if ($self->testStringDetect($text, '\\tieDown', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
950 # String => '\tieSolid'
951 # attribute => 'Keyword'
953 # type => 'StringDetect'
954 if ($self->testStringDetect($text, '\\tieSolid', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
958 # attribute => 'Keyword'
960 # type => 'StringDetect'
961 if ($self->testStringDetect($text, '\\tieUp', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
964 # String => '\transpose'
965 # attribute => 'Keyword'
967 # type => 'StringDetect'
968 if ($self->testStringDetect($text, '\\transpose', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
971 # String => '\transposition'
972 # attribute => 'Keyword'
974 # type => 'StringDetect'
975 if ($self->testStringDetect($text, '\\transposition', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
978 # String => '\tupletBoth'
979 # attribute => 'Keyword'
981 # type => 'StringDetect'
982 if ($self->testStringDetect($text, '\\tupletBoth', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
985 # String => '\tupletDown'
986 # attribute => 'Keyword'
988 # type => 'StringDetect'
989 if ($self->testStringDetect($text, '\\tupletDown', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
992 # String => '\tupletUp'
993 # attribute => 'Keyword'
995 # type => 'StringDetect'
996 if ($self->testStringDetect($text, '\\tupletUp', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
999 # String => '\typewriter'
1000 # attribute => 'Keyword'
1001 # context => '#stay'
1002 # type => 'StringDetect'
1003 if ($self->testStringDetect($text, '\\typewriter', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
1006 # String => '\voiceFour'
1007 # attribute => 'Keyword'
1008 # context => '#stay'
1009 # type => 'StringDetect'
1010 if ($self->testStringDetect($text, '\\voiceFour', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
1013 # String => '\unset'
1014 # attribute => 'Keyword'
1015 # context => '#stay'
1016 # type => 'StringDetect'
1017 if ($self->testStringDetect($text, '\\unset', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
1020 # String => '\voiceOne'
1021 # attribute => 'Keyword'
1022 # context => '#stay'
1023 # type => 'StringDetect'
1024 if ($self->testStringDetect($text, '\\voiceOne', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
1027 # String => '\voiceThree'
1028 # attribute => 'Keyword'
1029 # context => '#stay'
1030 # type => 'StringDetect'
1031 if ($self->testStringDetect($text, '\\voiceThree', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
1034 # String => '\voiceTwo'
1035 # attribute => 'Keyword'
1036 # context => '#stay'
1037 # type => 'StringDetect'
1038 if ($self->testStringDetect($text, '\\voiceTwo', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
1042 # attribute => 'Keyword'
1043 # context => '#stay'
1044 # type => 'StringDetect'
1045 if ($self->testStringDetect($text, '\\with', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
1048 # String => '\accento'
1049 # attribute => 'Decoration'
1050 # context => '#stay'
1051 # type => 'StringDetect'
1052 if ($self->testStringDetect($text, '\\accento', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1055 # String => '\acciaccatura'
1056 # attribute => 'Decoration'
1057 # context => '#stay'
1058 # type => 'StringDetect'
1059 if ($self->testStringDetect($text, '\\acciaccatura', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1062 # String => '\appoggiatura'
1063 # attribute => 'Decoration'
1064 # context => '#stay'
1065 # type => 'StringDetect'
1066 if ($self->testStringDetect($text, '\\appoggiatura', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1069 # String => '\arpeggioBoth'
1070 # attribute => 'Decoration'
1071 # context => '#stay'
1072 # type => 'StringDetect'
1073 if ($self->testStringDetect($text, '\\arpeggioBoth', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1076 # String => '\arpeggioBracket'
1077 # attribute => 'Decoration'
1078 # context => '#stay'
1079 # type => 'StringDetect'
1080 if ($self->testStringDetect($text, '\\arpeggioBracket', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1083 # String => '\arpeggioDown'
1084 # attribute => 'Decoration'
1085 # context => '#stay'
1086 # type => 'StringDetect'
1087 if ($self->testStringDetect($text, '\\arpeggioDown', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1090 # String => '\arpeggioUp'
1091 # attribute => 'Decoration'
1092 # context => '#stay'
1093 # type => 'StringDetect'
1094 if ($self->testStringDetect($text, '\\arpeggioUp', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1097 # String => '\arpeggio'
1098 # attribute => 'Decoration'
1099 # context => '#stay'
1100 # type => 'StringDetect'
1101 if ($self->testStringDetect($text, '\\arpeggio', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1105 # attribute => 'Decoration'
1106 # context => '#stay'
1107 # type => 'StringDetect'
1108 if ($self->testStringDetect($text, '\\coda', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1111 # String => '\downbow'
1112 # attribute => 'Decoration'
1113 # context => '#stay'
1114 # type => 'StringDetect'
1115 if ($self->testStringDetect($text, '\\downbow', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1118 # String => '\downmordent'
1119 # attribute => 'Decoration'
1120 # context => '#stay'
1121 # type => 'StringDetect'
1122 if ($self->testStringDetect($text, '\\downmordent', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1125 # String => '\downprall'
1126 # attribute => 'Decoration'
1127 # context => '#stay'
1128 # type => 'StringDetect'
1129 if ($self->testStringDetect($text, '\\downprall', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1132 # String => '\fermataMarkup'
1133 # attribute => 'Decoration'
1134 # context => '#stay'
1135 # type => 'StringDetect'
1136 if ($self->testStringDetect($text, '\\fermataMarkup', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1139 # String => '\fermata'
1140 # attribute => 'Decoration'
1141 # context => '#stay'
1142 # type => 'StringDetect'
1143 if ($self->testStringDetect($text, '\\fermata', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1146 # String => '\flageolet'
1147 # attribute => 'Decoration'
1148 # context => '#stay'
1149 # type => 'StringDetect'
1150 if ($self->testStringDetect($text, '\\flageolet', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1153 # String => '\glissando'
1154 # attribute => 'Decoration'
1155 # context => '#stay'
1156 # type => 'StringDetect'
1157 if ($self->testStringDetect($text, '\\glissando', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1160 # String => '\grace'
1161 # attribute => 'Decoration'
1162 # context => '#stay'
1163 # type => 'StringDetect'
1164 if ($self->testStringDetect($text, '\\grace', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1167 # String => '\harmonic'
1168 # attribute => 'Decoration'
1169 # context => '#stay'
1170 # type => 'StringDetect'
1171 if ($self->testStringDetect($text, '\\harmonic', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1174 # String => '\lheel'
1175 # attribute => 'Decoration'
1176 # context => '#stay'
1177 # type => 'StringDetect'
1178 if ($self->testStringDetect($text, '\\lheel', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1181 # String => '\lineprall'
1182 # attribute => 'Decoration'
1183 # context => '#stay'
1184 # type => 'StringDetect'
1185 if ($self->testStringDetect($text, '\\lineprall', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1188 # String => '\longfermata'
1189 # attribute => 'Decoration'
1190 # context => '#stay'
1191 # type => 'StringDetect'
1192 if ($self->testStringDetect($text, '\\longfermata', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1196 # attribute => 'Decoration'
1197 # context => '#stay'
1198 # type => 'StringDetect'
1199 if ($self->testStringDetect($text, '\\ltoe', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1202 # String => '\melismaEnd'
1203 # attribute => 'Decoration'
1204 # context => '#stay'
1205 # type => 'StringDetect'
1206 if ($self->testStringDetect($text, '\\melismaEnd', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1209 # String => '\melisma'
1210 # attribute => 'Decoration'
1211 # context => '#stay'
1212 # type => 'StringDetect'
1213 if ($self->testStringDetect($text, '\\melisma', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1216 # String => '\mordent'
1217 # attribute => 'Decoration'
1218 # context => '#stay'
1219 # type => 'StringDetect'
1220 if ($self->testStringDetect($text, '\\mordent', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1224 # attribute => 'Decoration'
1225 # context => '#stay'
1226 # type => 'StringDetect'
1227 if ($self->testStringDetect($text, '\\open', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1230 # String => '\portato'
1231 # attribute => 'Decoration'
1232 # context => '#stay'
1233 # type => 'StringDetect'
1234 if ($self->testStringDetect($text, '\\portato', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1237 # String => '\prall'
1238 # attribute => 'Decoration'
1239 # context => '#stay'
1240 # type => 'StringDetect'
1241 if ($self->testStringDetect($text, '\\prall', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1244 # String => '\pralldown'
1245 # attribute => 'Decoration'
1246 # context => '#stay'
1247 # type => 'StringDetect'
1248 if ($self->testStringDetect($text, '\\pralldown', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1251 # String => '\prallmordent'
1252 # attribute => 'Decoration'
1253 # context => '#stay'
1254 # type => 'StringDetect'
1255 if ($self->testStringDetect($text, '\\prallmordent', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1258 # String => '\prallprall'
1259 # attribute => 'Decoration'
1260 # context => '#stay'
1261 # type => 'StringDetect'
1262 if ($self->testStringDetect($text, '\\prallprall', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1265 # String => '\prallup'
1266 # attribute => 'Decoration'
1267 # context => '#stay'
1268 # type => 'StringDetect'
1269 if ($self->testStringDetect($text, '\\prallup', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1272 # String => '\reverseturn'
1273 # attribute => 'Decoration'
1274 # context => '#stay'
1275 # type => 'StringDetect'
1276 if ($self->testStringDetect($text, '\\reverseturn', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1279 # String => '\rheel'
1280 # attribute => 'Decoration'
1281 # context => '#stay'
1282 # type => 'StringDetect'
1283 if ($self->testStringDetect($text, '\\rheel', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1287 # attribute => 'Decoration'
1288 # context => '#stay'
1289 # type => 'StringDetect'
1290 if ($self->testStringDetect($text, '\\rtoe', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1293 # String => '\segno'
1294 # attribute => 'Decoration'
1295 # context => '#stay'
1296 # type => 'StringDetect'
1297 if ($self->testStringDetect($text, '\\segno', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1300 # String => '\shortfermata'
1301 # attribute => 'Decoration'
1302 # context => '#stay'
1303 # type => 'StringDetect'
1304 if ($self->testStringDetect($text, '\\shortfermata', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1307 # String => '\signumcongruentiae'
1308 # attribute => 'Decoration'
1309 # context => '#stay'
1310 # type => 'StringDetect'
1311 if ($self->testStringDetect($text, '\\signumcongruentiae', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1314 # String => '\sostenutoDown'
1315 # attribute => 'Decoration'
1316 # context => '#stay'
1317 # type => 'StringDetect'
1318 if ($self->testStringDetect($text, '\\sostenutoDown', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1321 # String => '\sostenutoUp'
1322 # attribute => 'Decoration'
1323 # context => '#stay'
1324 # type => 'StringDetect'
1325 if ($self->testStringDetect($text, '\\sostenutoUp', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1328 # String => '\staccatissimo'
1329 # attribute => 'Decoration'
1330 # context => '#stay'
1331 # type => 'StringDetect'
1332 if ($self->testStringDetect($text, '\\staccatissimo', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1335 # String => '\staccato'
1336 # attribute => 'Decoration'
1337 # context => '#stay'
1338 # type => 'StringDetect'
1339 if ($self->testStringDetect($text, '\\staccato', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1342 # String => '\stopped'
1343 # attribute => 'Decoration'
1344 # context => '#stay'
1345 # type => 'StringDetect'
1346 if ($self->testStringDetect($text, '\\stopped', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1349 # String => '\sustainDown'
1350 # attribute => 'Decoration'
1351 # context => '#stay'
1352 # type => 'StringDetect'
1353 if ($self->testStringDetect($text, '\\sustainDown', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1356 # String => '\sustainUp'
1357 # attribute => 'Decoration'
1358 # context => '#stay'
1359 # type => 'StringDetect'
1360 if ($self->testStringDetect($text, '\\sustainUp', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1363 # String => '\tenuto'
1364 # attribute => 'Decoration'
1365 # context => '#stay'
1366 # type => 'StringDetect'
1367 if ($self->testStringDetect($text, '\\tenuto', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1370 # String => '\thumb'
1371 # attribute => 'Decoration'
1372 # context => '#stay'
1373 # type => 'StringDetect'
1374 if ($self->testStringDetect($text, '\\thumb', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1377 # String => '\trill'
1378 # attribute => 'Decoration'
1379 # context => '#stay'
1380 # type => 'StringDetect'
1381 if ($self->testStringDetect($text, '\\trill', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1385 # attribute => 'Decoration'
1386 # context => '#stay'
1387 # type => 'StringDetect'
1388 if ($self->testStringDetect($text, '\\turn', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1391 # String => '\upbow'
1392 # attribute => 'Decoration'
1393 # context => '#stay'
1394 # type => 'StringDetect'
1395 if ($self->testStringDetect($text, '\\upbow', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1398 # String => '\upmordent'
1399 # attribute => 'Decoration'
1400 # context => '#stay'
1401 # type => 'StringDetect'
1402 if ($self->testStringDetect($text, '\\upmordent', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1405 # String => '\upprall'
1406 # attribute => 'Decoration'
1407 # context => '#stay'
1408 # type => 'StringDetect'
1409 if ($self->testStringDetect($text, '\\upprall', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1412 # String => '\varcoda'
1413 # attribute => 'Decoration'
1414 # context => '#stay'
1415 # type => 'StringDetect'
1416 if ($self->testStringDetect($text, '\\varcoda', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1419 # String => '\verylongfermata'
1420 # attribute => 'Decoration'
1421 # context => '#stay'
1422 # type => 'StringDetect'
1423 if ($self->testStringDetect($text, '\\verylongfermata', 0, 0, 0, undef, 0, '#stay', 'Decoration')) {
1426 # String => ' hihat'
1427 # attribute => 'Drums'
1428 # context => '#stay'
1429 # type => 'StringDetect'
1430 if ($self->testStringDetect($text, ' hihat', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1433 # String => ' snaredrum'
1434 # attribute => 'Drums'
1435 # context => '#stay'
1436 # type => 'StringDetect'
1437 if ($self->testStringDetect($text, ' snaredrum', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1440 # String => ' crashcymbal'
1441 # attribute => 'Drums'
1442 # context => '#stay'
1443 # type => 'StringDetect'
1444 if ($self->testStringDetect($text, ' crashcymbal', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1447 # String => ' openhihat'
1448 # attribute => 'Drums'
1449 # context => '#stay'
1450 # type => 'StringDetect'
1451 if ($self->testStringDetect($text, ' openhihat', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1454 # String => ' halfopenhihat'
1455 # attribute => 'Drums'
1456 # context => '#stay'
1457 # type => 'StringDetect'
1458 if ($self->testStringDetect($text, ' halfopenhihat', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1461 # String => ' closedhihat'
1462 # attribute => 'Drums'
1463 # context => '#stay'
1464 # type => 'StringDetect'
1465 if ($self->testStringDetect($text, ' closedhihat', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1468 # String => ' bassdrum'
1469 # attribute => 'Drums'
1470 # context => '#stay'
1471 # type => 'StringDetect'
1472 if ($self->testStringDetect($text, ' bassdrum', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1475 # String => ' snare'
1476 # attribute => 'Drums'
1477 # context => '#stay'
1478 # type => 'StringDetect'
1479 if ($self->testStringDetect($text, ' snare', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1483 # attribute => 'Drums'
1484 # context => '#stay'
1485 # type => 'StringDetect'
1486 if ($self->testStringDetect($text, ' bd', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1490 # attribute => 'Drums'
1491 # context => '#stay'
1492 # type => 'StringDetect'
1493 if ($self->testStringDetect($text, ' sn', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1497 # attribute => 'Drums'
1498 # context => '#stay'
1499 # type => 'StringDetect'
1500 if ($self->testStringDetect($text, ' cymc', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1504 # attribute => 'Drums'
1505 # context => '#stay'
1506 # type => 'StringDetect'
1507 if ($self->testStringDetect($text, ' cyms', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1511 # attribute => 'Drums'
1512 # context => '#stay'
1513 # type => 'StringDetect'
1514 if ($self->testStringDetect($text, ' cymr', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1518 # attribute => 'Drums'
1519 # context => '#stay'
1520 # type => 'StringDetect'
1521 if ($self->testStringDetect($text, ' hhho', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1525 # attribute => 'Drums'
1526 # context => '#stay'
1527 # type => 'StringDetect'
1528 if ($self->testStringDetect($text, ' hhc', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1532 # attribute => 'Drums'
1533 # context => '#stay'
1534 # type => 'StringDetect'
1535 if ($self->testStringDetect($text, ' hho', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1539 # attribute => 'Drums'
1540 # context => '#stay'
1541 # type => 'StringDetect'
1542 if ($self->testStringDetect($text, ' hhp', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1546 # attribute => 'Drums'
1547 # context => '#stay'
1548 # type => 'StringDetect'
1549 if ($self->testStringDetect($text, ' hh', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1553 # attribute => 'Drums'
1554 # context => '#stay'
1555 # type => 'StringDetect'
1556 if ($self->testStringDetect($text, ' cb', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1560 # attribute => 'Drums'
1561 # context => '#stay'
1562 # type => 'StringDetect'
1563 if ($self->testStringDetect($text, ' hc', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1567 # attribute => 'Drums'
1568 # context => '#stay'
1569 # type => 'StringDetect'
1570 if ($self->testStringDetect($text, ' ssl', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1574 # attribute => 'Drums'
1575 # context => '#stay'
1576 # type => 'StringDetect'
1577 if ($self->testStringDetect($text, ' ssh', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1581 # attribute => 'Drums'
1582 # context => '#stay'
1583 # type => 'StringDetect'
1584 if ($self->testStringDetect($text, ' ss', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1587 # String => ' tommmh'
1588 # attribute => 'Drums'
1589 # context => '#stay'
1590 # type => 'StringDetect'
1591 if ($self->testStringDetect($text, ' tommmh', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1594 # String => ' tommh'
1595 # attribute => 'Drums'
1596 # context => '#stay'
1597 # type => 'StringDetect'
1598 if ($self->testStringDetect($text, ' tommh', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1602 # attribute => 'Drums'
1603 # context => '#stay'
1604 # type => 'StringDetect'
1605 if ($self->testStringDetect($text, ' tomh', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1609 # attribute => 'Drums'
1610 # context => '#stay'
1611 # type => 'StringDetect'
1612 if ($self->testStringDetect($text, ' toml', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1615 # String => ' tomfh'
1616 # attribute => 'Drums'
1617 # context => '#stay'
1618 # type => 'StringDetect'
1619 if ($self->testStringDetect($text, ' tomfh', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1622 # String => ' tomfl'
1623 # attribute => 'Drums'
1624 # context => '#stay'
1625 # type => 'StringDetect'
1626 if ($self->testStringDetect($text, ' tomfl', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1630 # attribute => 'Drums'
1631 # context => '#stay'
1632 # type => 'StringDetect'
1633 if ($self->testStringDetect($text, ' timh', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1637 # attribute => 'Drums'
1638 # context => '#stay'
1639 # type => 'StringDetect'
1640 if ($self->testStringDetect($text, ' timl', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1644 # attribute => 'Drums'
1645 # context => '#stay'
1646 # type => 'StringDetect'
1647 if ($self->testStringDetect($text, ' cgho', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1651 # attribute => 'Drums'
1652 # context => '#stay'
1653 # type => 'StringDetect'
1654 if ($self->testStringDetect($text, ' cghm', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1658 # attribute => 'Drums'
1659 # context => '#stay'
1660 # type => 'StringDetect'
1661 if ($self->testStringDetect($text, ' cgh', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1665 # attribute => 'Drums'
1666 # context => '#stay'
1667 # type => 'StringDetect'
1668 if ($self->testStringDetect($text, ' cglo', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1672 # attribute => 'Drums'
1673 # context => '#stay'
1674 # type => 'StringDetect'
1675 if ($self->testStringDetect($text, ' cglm', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1679 # attribute => 'Drums'
1680 # context => '#stay'
1681 # type => 'StringDetect'
1682 if ($self->testStringDetect($text, ' cgl', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1686 # attribute => 'Drums'
1687 # context => '#stay'
1688 # type => 'StringDetect'
1689 if ($self->testStringDetect($text, ' boho', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1693 # attribute => 'Drums'
1694 # context => '#stay'
1695 # type => 'StringDetect'
1696 if ($self->testStringDetect($text, ' bohm', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1700 # attribute => 'Drums'
1701 # context => '#stay'
1702 # type => 'StringDetect'
1703 if ($self->testStringDetect($text, ' boh', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1707 # attribute => 'Drums'
1708 # context => '#stay'
1709 # type => 'StringDetect'
1710 if ($self->testStringDetect($text, ' bolo', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1714 # attribute => 'Drums'
1715 # context => '#stay'
1716 # type => 'StringDetect'
1717 if ($self->testStringDetect($text, ' bolm', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1721 # attribute => 'Drums'
1722 # context => '#stay'
1723 # type => 'StringDetect'
1724 if ($self->testStringDetect($text, ' bol', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1728 # attribute => 'Drums'
1729 # context => '#stay'
1730 # type => 'StringDetect'
1731 if ($self->testStringDetect($text, ' trio', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1735 # attribute => 'Drums'
1736 # context => '#stay'
1737 # type => 'StringDetect'
1738 if ($self->testStringDetect($text, ' trim', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1742 # attribute => 'Drums'
1743 # context => '#stay'
1744 # type => 'StringDetect'
1745 if ($self->testStringDetect($text, ' tri', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1749 # attribute => 'Drums'
1750 # context => '#stay'
1751 # type => 'StringDetect'
1752 if ($self->testStringDetect($text, ' guis', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1756 # attribute => 'Drums'
1757 # context => '#stay'
1758 # type => 'StringDetect'
1759 if ($self->testStringDetect($text, ' guil', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1763 # attribute => 'Drums'
1764 # context => '#stay'
1765 # type => 'StringDetect'
1766 if ($self->testStringDetect($text, ' gui', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1770 # attribute => 'Drums'
1771 # context => '#stay'
1772 # type => 'StringDetect'
1773 if ($self->testStringDetect($text, ' cl', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1777 # attribute => 'Drums'
1778 # context => '#stay'
1779 # type => 'StringDetect'
1780 if ($self->testStringDetect($text, ' tamb', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1784 # attribute => 'Drums'
1785 # context => '#stay'
1786 # type => 'StringDetect'
1787 if ($self->testStringDetect($text, ' cab', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1791 # attribute => 'Drums'
1792 # context => '#stay'
1793 # type => 'StringDetect'
1794 if ($self->testStringDetect($text, ' mar', 0, 0, 0, undef, 0, '#stay', 'Drums')) {
1797 # String => '\\times [1-9]?/[1-9]?'
1798 # attribute => 'Tuplet'
1801 if ($self->testRegExpr($text, '\\\\times [1-9]?/[1-9]?', 0, 0, 0, undef, 0, '#pop', 'Tuplet')) {
1804 # String => '\lyrics {'
1805 # attribute => 'Lyrics'
1806 # beginRegion => 'lyrics'
1807 # context => 'Lyrics'
1808 # type => 'StringDetect'
1809 if ($self->testStringDetect($text, '\\lyrics {', 0, 0, 0, undef, 0, 'Lyrics', 'Lyrics')) {
1812 # String => '\newlyrics {'
1813 # attribute => 'Lyrics'
1814 # beginRegion => 'lyrics'
1815 # context => 'Lyrics'
1816 # type => 'StringDetect'
1817 if ($self->testStringDetect($text, '\\newlyrics {', 0, 0, 0, undef, 0, 'Lyrics', 'Lyrics')) {
1820 # String => '\\header\s*{'
1821 # attribute => 'Keyword'
1822 # beginRegion => 'header'
1823 # context => 'Header'
1825 if ($self->testRegExpr($text, '\\\\header\\s*{', 0, 0, 0, undef, 0, 'Header', 'Keyword')) {
1828 # attribute => 'String'
1831 # context => '#stay'
1832 # type => 'RangeDetect'
1833 if ($self->testRangeDetect($text, '"', '"', 0, 0, undef, 0, '#stay', 'String')) {
1836 # attribute => 'Chord'
1838 # context => '#stay'
1839 # type => 'DetectChar'
1840 if ($self->testDetectChar($text, '{', 0, 0, 0, undef, 0, '#stay', 'Chord')) {
1843 # attribute => 'Chord'
1845 # context => '#stay'
1846 # type => 'DetectChar'
1847 if ($self->testDetectChar($text, '}', 0, 0, 0, undef, 0, '#stay', 'Chord')) {
1850 # attribute => 'Chord'
1852 # context => '#stay'
1853 # type => 'DetectChar'
1854 if ($self->testDetectChar($text, '[', 0, 0, 0, undef, 0, '#stay', 'Chord')) {
1857 # attribute => 'Chord'
1859 # context => '#stay'
1860 # type => 'DetectChar'
1861 if ($self->testDetectChar($text, ']', 0, 0, 0, undef, 0, '#stay', 'Chord')) {
1864 # attribute => 'Chord'
1866 # context => '#stay'
1867 # type => 'DetectChar'
1868 if ($self->testDetectChar($text, '<', 0, 0, 0, undef, 0, '#stay', 'Chord')) {
1871 # attribute => 'Chord'
1873 # context => '#stay'
1874 # type => 'DetectChar'
1875 if ($self->testDetectChar($text, '>', 0, 0, 0, undef, 0, '#stay', 'Chord')) {
1878 # attribute => 'Header'
1879 # beginRegion => 'command'
1882 # context => 'Command'
1883 # type => 'Detect2Chars'
1884 if ($self->testDetect2Chars($text, '#', '(', 0, 0, 0, undef, 0, 'Command', 'Header')) {
1887 # attribute => 'Context'
1888 # beginRegion => 'context'
1891 # context => '#stay'
1892 # type => 'Detect2Chars'
1893 if ($self->testDetect2Chars($text, '<', '<', 0, 0, 0, undef, 0, '#stay', 'Context')) {
1896 # attribute => 'Context'
1899 # context => '#stay'
1900 # endRegion => 'context'
1901 # type => 'Detect2Chars'
1902 if ($self->testDetect2Chars($text, '>', '>', 0, 0, 0, undef, 0, '#stay', 'Context')) {
1905 # attribute => 'Chord'
1907 # context => '#stay'
1908 # type => 'DetectChar'
1909 if ($self->testDetectChar($text, '~', 0, 0, 0, undef, 0, '#stay', 'Chord')) {
1912 # attribute => 'Bar'
1914 # context => '#stay'
1915 # type => 'DetectChar'
1916 if ($self->testDetectChar($text, '|', 0, 0, 0, undef, 0, '#stay', 'Bar')) {
1919 # String => '[1-9]+:[1-9]+\b'
1920 # attribute => 'Repeat'
1921 # context => '#stay'
1923 if ($self->testRegExpr($text, '[1-9]+:[1-9]+\\b', 0, 0, 0, undef, 0, '#stay', 'Repeat')) {
1927 # attribute => 'Slur'
1928 # context => '#stay'
1930 if ($self->testRegExpr($text, '\\\\?\\(', 0, 0, 0, undef, 0, '#stay', 'Slur')) {
1934 # attribute => 'Slur'
1935 # context => '#stay'
1937 if ($self->testRegExpr($text, '\\\\?\\)', 0, 0, 0, undef, 0, '#stay', 'Slur')) {
1940 # String => '\\fff\b'
1941 # attribute => 'Dynamics'
1942 # context => '#stay'
1944 if ($self->testRegExpr($text, '\\\\fff\\b', 0, 0, 0, undef, 0, '#stay', 'Dynamics')) {
1947 # String => '\\ff\b'
1948 # attribute => 'Dynamics'
1949 # context => '#stay'
1951 if ($self->testRegExpr($text, '\\\\ff\\b', 0, 0, 0, undef, 0, '#stay', 'Dynamics')) {
1954 # String => '\\ppp\b'
1955 # attribute => 'Dynamics'
1956 # context => '#stay'
1958 if ($self->testRegExpr($text, '\\\\ppp\\b', 0, 0, 0, undef, 0, '#stay', 'Dynamics')) {
1961 # String => '\\pp\b'
1962 # attribute => 'Dynamics'
1963 # context => '#stay'
1965 if ($self->testRegExpr($text, '\\\\pp\\b', 0, 0, 0, undef, 0, '#stay', 'Dynamics')) {
1968 # String => '\\m?[f|p]\b'
1969 # attribute => 'Dynamics'
1970 # context => '#stay'
1972 if ($self->testRegExpr($text, '\\\\m?[f|p]\\b', 0, 0, 0, undef, 0, '#stay', 'Dynamics')) {
1975 # String => '\\[s|r]fz?\b'
1976 # attribute => 'Dynamics'
1977 # context => '#stay'
1979 if ($self->testRegExpr($text, '\\\\[s|r]fz?\\b', 0, 0, 0, undef, 0, '#stay', 'Dynamics')) {
1982 # String => '_[_.\|+>^-]\b?'
1983 # attribute => 'Dynamics'
1984 # context => '#stay'
1986 if ($self->testRegExpr($text, '_[_.\\|+>^-]\\b?', 0, 0, 0, undef, 0, '#stay', 'Dynamics')) {
1989 # String => '\^[_.\|+>^-]\b?'
1990 # attribute => 'Dynamics'
1991 # context => '#stay'
1993 if ($self->testRegExpr($text, '\\^[_.\\|+>^-]\\b?', 0, 0, 0, undef, 0, '#stay', 'Dynamics')) {
1996 # String => '-[_.\|+>^-]\b?'
1997 # attribute => 'Dynamics'
1998 # context => '#stay'
2000 if ($self->testRegExpr($text, '-[_.\\|+>^-]\\b?', 0, 0, 0, undef, 0, '#stay', 'Dynamics')) {
2003 # attribute => 'Dynamics'
2006 # context => '#stay'
2007 # type => 'Detect2Chars'
2008 if ($self->testDetect2Chars($text, '\\', '<', 0, 0, 0, undef, 0, '#stay', 'Dynamics')) {
2011 # attribute => 'Dynamics'
2014 # context => '#stay'
2015 # type => 'Detect2Chars'
2016 if ($self->testDetect2Chars($text, '\\', '>', 0, 0, 0, undef, 0, '#stay', 'Dynamics')) {
2019 # attribute => 'Dynamics'
2022 # context => '#stay'
2023 # type => 'Detect2Chars'
2024 if ($self->testDetect2Chars($text, '\\', '!', 0, 0, 0, undef, 0, '#stay', 'Dynamics')) {
2027 # String => '-[0-5]\b'
2028 # attribute => 'Dynamics'
2029 # context => '#stay'
2031 if ($self->testRegExpr($text, '-[0-5]\\b', 0, 0, 0, undef, 0, '#stay', 'Dynamics')) {
2034 # attribute => 'Comment'
2036 # context => 'Comment'
2037 # type => 'DetectChar'
2038 if ($self->testDetectChar($text, '%', 0, 0, 0, undef, 0, 'Comment', 'Comment')) {
2044 sub parsePreprocessor {
2045 my ($self, $text) = @_;
2050 my ($self, $text) = @_;
2051 # attribute => 'Normal Text'
2054 # type => 'DetectChar'
2055 if ($self->testDetectChar($text, '}', 0, 0, 0, undef, 0, '#pop', 'Normal Text')) {
2058 # String => '"tremolo"'
2059 # attribute => 'Repeat'
2061 # type => 'StringDetect'
2062 if ($self->testStringDetect($text, '"tremolo"', 0, 0, 0, undef, 0, '#pop', 'Repeat')) {
2065 # String => '"percent"'
2066 # attribute => 'Repeat'
2068 # type => 'StringDetect'
2069 if ($self->testStringDetect($text, '"percent"', 0, 0, 0, undef, 0, '#pop', 'Repeat')) {
2072 # String => 'volta\b[1-9]\b'
2073 # attribute => 'Repeat'
2076 if ($self->testRegExpr($text, 'volta\\b[1-9]\\b', 0, 0, 0, undef, 0, '#pop', 'Repeat')) {
2083 my ($self, $text) = @_;
2085 # attribute => 'Slur'
2088 if ($self->testRegExpr($text, '\\\\?\\(', 0, 0, 0, undef, 0, 'Slur', 'Slur')) {
2092 # attribute => 'Slur'
2095 if ($self->testRegExpr($text, '\\\\?\\)', 0, 0, 0, undef, 0, '#pop', 'Slur')) {
2108 Syntax::Highlight::Engine::Kate::LilyPond - a Plugin for LilyPond syntax highlighting
2112 require Syntax::Highlight::Engine::Kate::LilyPond;
2113 my $sh = new Syntax::Highlight::Engine::Kate::LilyPond([
2118 Syntax::Highlight::Engine::Kate::LilyPond is a plugin module that provides syntax highlighting
2119 for LilyPond to the Syntax::Haghlight::Engine::Kate highlighting engine.
2121 This code is generated from the syntax definition files used
2122 by the Kate project.
2123 It works quite fine, but can use refinement and optimization.
2125 It inherits Syntax::Higlight::Engine::Kate::Template. See also there.
2131 Hans Jeuken (haje <at> toneel <dot> demon <dot> nl)
2137 Unknown. If you find any, please contact the author