Warning, /frameworks/syntax-highlighting/data/syntax/lilypond.xml is written in an unsupported language. File is not indexed.

0001 <?xml version="1.0" encoding="UTF-8"?>
0002 <!DOCTYPE language [
0003   <!ENTITY b "(?![A-Za-z])">
0004   <!ENTITY rest "\b[srR]&b;">
0005   <!ENTITY pitch "\b([a-h]((iss){1,2}|(ess){1,2}|(is){1,2}|(es){1,2}|(sharp){1,2}|(flat){1,2}|ss?|ff?)?|(do|re|mi|fa|sol|la|si)(dd?|bb?|ss?|kk?)?|q)('+|,+|&b;)">
0006   <!ENTITY duration "(\\(longa|breve)\b|(1|2|4|8|16|32|64|128|256|512|1024|2048)(?!\d))(\s*\.+)?(\s*\*\s*\d+(/\d+)?)*">
0007   <!ENTITY dynamics "p{1,5}|mp|mf|f{1,5}|s?fp|sff?|spp?|[sr]?fz|cresc|decresc|dim">
0008   <!ENTITY scripts "\d+|accent|marcato|staccat(issim)?o|espressivo|tenuto|portato|(up|down)(bow|mordent|prall)|flageolet|thumb|[lr](heel|toe)|open|stopped|turn|reverseturn|trill|mordent|prall(prall|mordent|down|up)?|lineprall|signumcongruentiae|(short|long|verylong)?fermata|segno|(var)?coda|snappizzicato|halfopen">
0009   <!ENTITY keywords "accepts|alias|consists|defaultchild|denies|description|grobdescriptions|include|invalid|language|name|objectid|once|remove|sequential|simultaneous|type|version|score|book|bookpart">
0010   <!ENTITY deprecatedkeywords "consistsend">
0011 
0012   <!-- predefined commands, grouped, TODO: unravel other commands -->
0013   <!ENTITY commands-heads "(aiken|funk|sacredHarp|southernHarmony|walker)Heads(Minor)?">
0014   <!ENTITY commands-other1 "acciaccatura|addQuote|afterGrace|allowPageTurn|alternative|apply(Context|Music|Output)|appoggiatura|arpeggio(Arrow(Down|Up)|Bracket|Normal|Parenthesis)?|(a|de)scendens|auctum|augmentum|autoBeamO(ff|n)|autochange|balloon(Grob)?Text|bar|barNumberCheck|bendAfter|breathe|break|cadenzaO(ff|n)|cavum|clef(\s+(treble|violin|G|alto|C|tenor|(sub)?bass|F|french|(mezzo)?soprano|(var)?baritone|percussion|tab))?|(end)?(de)?cr|cresc(TextCresc|Hairpin)">
0015   <!ENTITY commands-other2 "(cue|transposedCue)During|default|deminutum|dim(Text(Decresc|Decr|Dim)|Hairpin)|display(Lily)?Music|divisio(Maior|Maxima|Minima)|(dynamic|dots|phrasingSlur|slur|stem|tie|tuplet)(Down|Neutral|Up)|(balloon|text)LengthO(ff|n)|featherDurations|figure(mode|s)|finalis|flexa|(french|german|italian|semiGerman)Chords|glissando|grace|harmonic|(unH|h)ideNotes|(hide|show)StaffSwitch|inclinatum|(keep|remove)WithTag|key(\s+&pitch;)?|killCues">
0016   <!ENTITY commands-other3 "label|laissezVibrer|linea|makeClusters|mark|maxima|melisma(End)?|mergeDifferently(Head|Dott)edO(ff|n)|newSpacingSection|no(Beam|Break|PageBreak|PageTurn)|normalsize|numericTimeSignature|octaveCheck|oneVoice|oriscus|ottava|page(-ref|Break|Turn)|parallelMusic|parenthesize|partcombine|partial(\s*&duration;)?|pes|pitchedTrill">
0017   <!ENTITY commands-other4 "pointAndClickO(ff|n)|quilisma|quoteDuring|relative(\s+&pitch;)?|RemoveEmptyStaffContext|repeat(\s+(unfold|volta|tremolo|percent)(\s+\d+)?)?|repeatTie|resetRelativeOctave|rest|scaleDurations|scoreTweak|easyHeadsO(ff|n)|shift(Durations|Off|On{1,3})|(slur|tie)(Both|Dashed|Dotted|Solid)|small|spacingTweaks">
0018   <!ENTITY commands-other5 "(start|stop)(Group|(Text|Trill)Span|Staff)|stemBoth|stropha|super|(sustain|sostenuto)O(ff|n)|table-of-contents|tag|times?(\s*\d+/\d+)?|tiny|tocItem">
0019   <!ENTITY commands-other6 "transpose(\s+&pitch;\s*&pitch;)?|transposition(\s+&pitch;)">
0020   <!ENTITY commands-other7 "tweak|unfoldRepeats|virg(ul)?a|voice(One|Two|Three|Four)|withMusicProperty|cm|mm|in|pt|major|minor|ionian|locrian|aeolian|mixolydian|lydian|phrygian|dorian">
0021 
0022   <!ENTITY deprecatedcommands "arpeggio(Up|Down|Neutral)|newpage|script(Up|Down|Both)|(empty|fat)Text|setEasyHeads|(default|voice|modernVoice|piano|forget)Accidentals|(modern(Voice)?|piano)Cautionaries|noResetKey|compressMusic|octave|(sustain|sostenuto)(Down|Up)|set(Hairpin|Text)(Cresc|Decresc|Dim)|setTextDecr">
0023   <!ENTITY markupnotextargs "arrow-head|beam|char|(semi|sesqui|double)?(flat|sharp)|draw-(circle|line)|epsfile|eyeglasses|filled-box|fret-diagram(-terse|-verbose)?|fromproperty|harp-pedal|(justify|wordwrap)-(field|string)|left-brace|lookup|markalphabet|markletter|musicglyph|natural|note-by-number|note|null|path|right-brace|simple|(back)?slashed-digit|stencil|strut|tied-lyric|triangle|verbatim-file">
0024   <!ENTITY markupwithtextargs "markup|bold|(rounded-)?box|bracket|caps|(center|general|left|right)-align|circle|((center|dir|left|right)-)?column|combine|concat|dynamic|fill-line|finger|fontCaps|(abs-)?fontsize|fraction|halign|hbracket|hcenter-in|hcenter|hspace|huge|italic|justify|larger?|line|lower|magnify|medium|normal-size-(sub|super)|normal-text|normalsize|number|on-the-fly|override|pad-(around|markup|to-box|x)|page-ref|postscript|put-adjacent|raise|roman|rotate|sans|small(er)?|smallCaps|sub|super|teeny|text|tiny|translate(-scaled)?|transparent|typewriter|underline|upright|vcenter|whiteout|with-(color|dimensions|url)|wordwrap|(markup|column-|justified-|override-|wordwrap-)lines|wordwrap-(string-)?internal">
0025   <!ENTITY deprecatedmarkup "bigger|h?center">
0026   <!ENTITY headervars "dedication|(sub){,2}title|poet|composer|meter|opus|arranger|instrument|piece|breakbefore|copyright|tagline|mutopia(title|composer|poet|opus|instrument)|date|enteredby|source|style|maintainer(Email|Web)?|moreInfo|lastupdated|texidoc|footer">
0027 
0028   <!-- The '-new' entities are for for LilyPond 2.13.4 and higher, and '-old' for LilyPond up to 2.12 -->
0029   <!ENTITY paper-margin "(top|bottom|left|right)-margin|(foot|head)-separation|indent|short-indent|paper-(height|width)|horizontal-shift|line-width">
0030   <!ENTITY paper-margin-new "(inner|outer)-margin|two-sided|binding-offset">
0031   <!ENTITY paper-spacing-old "(after|before|between)-title-space|between-system-(space|padding)|page-top-space|page-breaking-between-system-padding">
0032   <!ENTITY paper-spacing-new "(after|before|between)-title-spacing|between-(scores-)?system-spacing|bottom-system-spacing|top-title-spacing|top-system-spacing|page-breaking-between-system-spacing">
0033   <!ENTITY paper-systems "system-count">
0034   <!ENTITY paper-systems-new "(min-|max-)?systems-per-page">
0035   <!ENTITY paper-other "annotate-spacing|auto-first-page-number|blank-(last-)?page-force|first-page-number|page-count|page-limit-inter-system-space|page-limit-inter-system-space-factor|page-spacing-weight|print-all-headers|print-first-page-number|print-page-number|ragged-(bottom|right)|ragged-last(-bottom)?|system-separator-markup|force-assignment|input-encoding|output-scale">
0036   <!ENTITY paper-markup "((even|odd)(Footer|Header)|(book|score|toc)Title|tocItem)Markup">
0037   <!ENTITY papervars "&paper-margin;|&paper-margin-new;|&paper-spacing-old;|&paper-spacing-new;|&paper-systems;|&paper-systems-new;|&paper-other;|&paper-markup;">
0038 
0039   <!ENTITY layoutvars "system-count|(short-)?indent">
0040   <!ENTITY toplevelvars "dash(Hat|Plus|Dash|Bar|Larger|Dot|Underscore)|fermataMarkup|pipeSymbol|slashSeparator">
0041   <!ENTITY performer "Beam|Control_track|Drum_note|Dynamic|Key|Lyric|Note|Piano_pedal|Slur|Staff|Swallow|Tempo|Tie|Time_signature">
0042   <!ENTITY translator "Note_swallow|Rest_swallow|Skip_event_swallow|Timing">
0043   <!ENTITY engraver0 "Accidental|Ambitus|Arpeggio|Auto_beam|Axis_group|Balloon|Bar|Bar_number|Beam|Bend|Break_align|Breathing_sign|Chord_name|Chord_tremolo|Clef|Cluster_spanner|Collision|Completion_heads|Custos|Default_bar_line|Dot_column|Dots|Drum_notes|Dynami_align|Dynamic|Episema|Extender|Figured_bass|Figured_bass_position|Fingering|Font_size|Forbid_line_break|Fretboard|Glissando|Grace_beam|Grace|Grace_spacing|Grid_line_span|Grid_point|Grob_pq|Hara_kiri|Horizontal_bracket">
0044   <!ENTITY engraver1 "Hyphen|Instrument_name|Instrument_switch|Key|Laissez_vibrer|Ledger_line|Ligature_bracket|Lyric|Mark|Measure_grouping|Melody|Mensural_ligature|Metronome_mark|Multi_measure_rest|New_dynamic|New_fingering|Note_head_line|Note_heads|Note_name|Note_spacing|Ottava_spanner|Output_property|Page_turn|Paper_column|Parenthesis|Part_combine|Percent_repeat|Phrasing_slur|Piano_pedal_align|Piano_pedal|Pitch_squash|Pitched_trill|Repeat_acknowledge|Repeat_tie|Rest_collision|Rest|Rhythmic_column|Scheme|Script_column|Script|Script_row">
0045   <!ENTITY engraver2 "Separating_line_group|Slash_repeat|Slur|Spacing|Span_arpeggio|Span_bar|Spanner_break_forbid|Staff_collecting|Staff_symbol|Stanza_number_align|Stanza_number|Stem|String_number|Swallow|System_start_delimiter|Tab_harmonic|Tab_note_heads|Tab_staff_symbol|Text|Text_spanner|Tie|Time_signature|Trill_spanner|Tuplet|Tweak|Vaticana_ligature|Vertical_align|Vertically_spaced_contexts|Volta">
0046   <!ENTITY engravers00 "(?:&engraver0;)_engraver">
0047   <!ENTITY engravers01 "(?:&engraver1;)_engraver">
0048   <!ENTITY engravers02 "(?:&engraver2;)_engraver">
0049   <!ENTITY engravers1 "(?:&performer;)_performer">
0050   <!ENTITY engravers2 "(?:&translator;)_translator">
0051 
0052   <!ENTITY schemename "[a-zA-Z#][^\s(){}[\];$&quot;]*">
0053   <!ENTITY schemefunc0 "\b(define|defined\?|define\*(-public)?|define-(\*|builtin-markup-(list-)?command|class|(extra-)?display-method|fonts?|grob-property|ly-syntax(-loc|-simple)?|macro(-public)?|markup-(list-)command|method|module|music-function|post-event-display-method|public(-macro|-toplevel)?|safe-public|span-event-display-method)|defmacro(\*(-public)?)?|lambda\*?|and|or|if|cond|case|let\*?|letrec|begin|do|delay|set!|else|(quasi)?quote|unquote(-splicing)?|(define|let|letrec)-syntax|syntax-rules)(?=($|\s|\)))">
0054   <!ENTITY schemefunc1 "\b(not|boolean\?|eq\?|eqv\?|equal\?|pair\?|cons|set-c[ad]r!|c[ad]{1,4}r|null\?|list\?|list|length|append|reverse|list-ref|mem[qv]|member|ass[qv]|assoc|symbol\?|symbol-&gt;string|string-&gt;symbol|number\?|complex\?|real\?|rational\?|integer\?|exact\?|inexact\?|zero\?|positive\?|negative\?|odd\?|even\?|max|min|abs|quotient|remainder|modulo|gcd|lcm|numerator|denominator|floor|ceiling|truncate|round|rationalize|exp|log|sin|cos|tan|asin|acos|atan|sqrt|expt|make-rectangular|make-polar|real-part|imag-part|magnitude|angle|exact-&gt;inexact|inexact-&gt;exact|number-&gt;string|string-&gt;number)(?=($|\s|\)))">
0055   <!ENTITY schemefunc2 "\b(char((-ci)?(=\?|&lt;\?|&gt;\?|&lt;=\?|&gt;=\?)|-alphabetic\?|\?|-numeric\?|-whitespace\?|-upper-case\?|-lower-case\?|-&gt;integer|-upcase|-downcase|-ready\?)|integer-&gt;char|make-string|string(\?|-copy|-fill!|-length|-ref|-set!|(-ci)?(=\?|&lt;\?|&gt;\?|&lt;=\?|&gt;=\?)|-append)|substring|make-vector|vector(\?|-length|-ref|-set!|-fill!)?|procedure\?|apply|map|for-each|force|call-with-(current-continuation|(in|out)put-file)|(in|out)put-port\?|current-(in|out)put-port|open-(in|out)put-file|close-(in|out)put-port|eof-object\?|read|(read|peek)-char|write(-char)?|display|newline|call/cc|list-tail|string-&gt;list|list-&gt;string|vector-&gt;list|list-&gt;vector|with-input-from-file|with-output-to-file|load|transcript-(on|off)|eval|dynamic-wind|port\?|values|call-with-values|(scheme-report-|null-|interaction-)environment)(?=($|\s|\)))">
0056 ]>
0057 <language name="LilyPond" section="Other"
0058           style="lilypond" indenter="lilypond"
0059           version="10" kateversion="5.0"
0060           extensions="*.ly;*.LY;*.ily;*.ILY;*.lyi;*.LYI"
0061           mimetype="text/x-lilypond"
0062           author="Wilbert Berendsen (info@wilbertberendsen.nl)" license="LGPL">
0063 
0064   <!--
0065 
0066     Fall 2010
0067     Minor updates by Wilbert Berendsen
0068 
0069     Changes:
0070     - add some new commands (\path, \eyeglasses, etc), contexts and grobs for LilyPond 2.14
0071     - cleaned up papervars mess by using nested entities categorizing different variables
0072 
0073     November, 2009
0074     Minor updates by Wilbert Berendsen
0075 
0076     Changes:
0077     - add makeClusters
0078     - fix chords in drummode
0079 
0080     October, 2008
0081     Minor updates by Wilbert Berendsen
0082 
0083     Changes:
0084     - More new LilyPond commands (2.12) and some more deprecated words
0085     - Match deprecated properties after header vars
0086     - Special case \tempo command
0087 
0088     January, 2008
0089     Fully rewritten by Wilbert Berendsen (info@wilbertberendsen.nl)
0090 
0091     Changes:
0092     - correctly parse pitches, chords, durations, etc. marking often made mistakes as invalid
0093     - speed up by shortening contexts, e.g. branch out on a \, instead of RegExpr'ing all \commands
0094     - recognize some contexts like \layout, \with, \header to colorcode variables, engravers, etc. only there
0095     - recognize lilypond words like ChoirStaff etc. only in sections and after \set, \override etc.
0096     - highlight some standard Scheme function names
0097     - add \figuremode recognition
0098     - all Scheme stuff has a nice, very light background, to show where Lilypond is in Scheme mode.
0099     - mark some deprecated (pre 2.12) LilyPond commands and properties
0100 
0101     October, 2007
0102     New version by Wilbert Berendsen (info@wilbertberendsen.nl)
0103 
0104     Changes:
0105     - better recognition of being inside lyrics, drums, notes, chords and markup sections
0106     - detect block comments %{  %}
0107     - links to ##Comments in comments (e.g. TODO, FIXME)
0108     - detect lilypond inside scheme #{ #}
0109     - detect \score inside \markup, etc.
0110     - helps with some often made errors like forgetting spaces around lyric extenders and hyphens
0111     - more scheme improvements: strings, numbers, $substitutions, lilypond objects
0112     - highlights many variables, commands, lilypond objects, properties, engravers, etc.
0113     - by using entities for many regexps the main syntax checking parts remain legible, and the file more maintainable.
0114 
0115     I borrowed some colors and the drum names from Andrea Primiani's first version (August, 2004).
0116 
0117   -->
0118 
0119   <highlighting>
0120     <list name="contexts">
0121       <item>ChoirStaff</item>
0122       <item>ChordNames</item>
0123       <item>CueVoice</item>
0124       <item>Devnull</item>
0125       <item>DrumStaff</item>
0126       <item>DrumVoice</item>
0127       <item>Dynamics</item>
0128       <item>FiguredBass</item>
0129       <item>FretBoards</item>
0130       <item>Global</item>
0131       <item>GrandStaff</item>
0132       <item>GregorianTranscriptionStaff</item>
0133       <item>GregorianTranscriptionVoice</item>
0134       <item>Lyrics</item>
0135       <item>MensuralStaff</item>
0136       <item>MensuralVoice</item>
0137       <item>NoteNames</item>
0138       <item>PianoStaff</item>
0139       <item>RhythmicStaff</item>
0140       <item>Score</item>
0141       <item>Staff</item>
0142       <item>StaffGroup</item>
0143       <item>TabStaff</item>
0144       <item>TabVoice</item>
0145       <item>Timing</item>
0146       <item>VaticanaStaff</item>
0147       <item>VaticanaVoice</item>
0148       <item>Voice</item>
0149     </list>
0150     <list name="deprecatedcontexts">
0151       <item>InnerChoirStaff</item>
0152       <item>InnerStaffGroup</item>
0153     </list>
0154     <list name="layoutobjects">
0155       <item>Accidental</item>
0156       <item>AccidentalCautionary</item>
0157       <item>AccidentalPlacement</item>
0158       <item>AccidentalSuggestion</item>
0159       <item>Ambitus</item>
0160       <item>AmbitusAccidental</item>
0161       <item>AmbitusLine</item>
0162       <item>AmbitusNoteHead</item>
0163       <item>Arpeggio</item>
0164       <item>BalloonTextItem</item>
0165       <item>BarLine</item>
0166       <item>BarNumber</item>
0167       <item>BassFigure</item>
0168       <item>BassFigureAlignment</item>
0169       <item>BassFigureAlignmentPositioning</item>
0170       <item>BassFigureBracket</item>
0171       <item>BassFigureContinuation</item>
0172       <item>BassFigureLine</item>
0173       <item>Beam</item>
0174       <item>BendAfter</item>
0175       <item>BreakAlignGroup</item>
0176       <item>BreakAlignment</item>
0177       <item>BreathingSign</item>
0178       <item>ChordName</item>
0179       <item>Clef</item>
0180       <item>ClusterSpanner</item>
0181       <item>ClusterSpannerBeacon</item>
0182       <item>CombineTextScript</item>
0183       <item>Custos</item>
0184       <item>DotColumn</item>
0185       <item>Dots</item>
0186       <item>DoublePercentRepeat</item>
0187       <item>DoublePercentRepeatCounter</item>
0188       <item>DynamicLineSpanner</item>
0189       <item>DynamicText</item>
0190       <item>DynamicTextSpanner</item>
0191       <item>Episema</item>
0192       <item>Fingering</item>
0193       <item>FretBoard</item>
0194       <item>Glissando</item>
0195       <item>GraceSpacing</item>
0196       <item>GridLine</item>
0197       <item>GridPoint</item>
0198       <item>Hairpin</item>
0199       <item>HarmonicParenthesesItem</item>
0200       <item>HorizontalBracket</item>
0201       <item>InstrumentName</item>
0202       <item>InstrumentSwitch</item>
0203       <item>KeyCancellation</item>
0204       <item>KeySignature</item>
0205       <item>LaissezVibrerTie</item>
0206       <item>LaissezVibrerTieColumn</item>
0207       <item>LedgerLineSpanner</item>
0208       <item>LeftEdge</item>
0209       <item>LigatureBracket</item>
0210       <item>LyricExtender</item>
0211       <item>LyricHyphen</item>
0212       <item>LyricSpace</item>
0213       <item>LyricText</item>
0214       <item>MeasureGrouping</item>
0215       <item>MelodyItem</item>
0216       <item>MensuralLigature</item>
0217       <item>MetronomeMark</item>
0218       <item>MultiMeasureRest</item>
0219       <item>MultiMeasureRestNumber</item>
0220       <item>MultiMeasureRestText</item>
0221       <item>NonMusicalPaperColumn</item>
0222       <item>NoteCollision</item>
0223       <item>NoteColumn</item>
0224       <item>NoteHead</item>
0225       <item>NoteName</item>
0226       <item>NoteSpacing</item>
0227       <item>OctavateEight</item>
0228       <item>OttavaBracket</item>
0229       <item>PaperColumn</item>
0230       <item>ParenthesesItem</item>
0231       <item>PercentRepeat</item>
0232       <item>PercentRepeatCounter</item>
0233       <item>PhrasingSlur</item>
0234       <item>PianoPedalBracket</item>
0235       <item>RehearsalMark</item>
0236       <item>RepeatSlash</item>
0237       <item>RepeatTie</item>
0238       <item>RepeatTieColumn</item>
0239       <item>Rest</item>
0240       <item>RestCollision</item>
0241       <item>Script</item>
0242       <item>ScriptColumn</item>
0243       <item>ScriptRow</item>
0244       <item>SeparationItem</item>
0245       <item>Slur</item>
0246       <item>SostenutoPedal</item>
0247       <item>SostenutoPedalLineSpanner</item>
0248       <item>SpacingSpanner</item>
0249       <item>SpanBar</item>
0250       <item>StaffGrouper</item>
0251       <item>StaffSpacing</item>
0252       <item>StaffSymbol</item>
0253       <item>StanzaNumber</item>
0254       <item>Stem</item>
0255       <item>StemTremolo</item>
0256       <item>StringNumber</item>
0257       <item>StrokeFinger</item>
0258       <item>SustainPedal</item>
0259       <item>SustainPedalLineSpanner</item>
0260       <item>System</item>
0261       <item>SystemStartBar</item>
0262       <item>SystemStartBrace</item>
0263       <item>SystemStartBracket</item>
0264       <item>SystemStartSquare</item>
0265       <item>TabNoteHead</item>
0266       <item>TextScript</item>
0267       <item>TextSpanner</item>
0268       <item>Tie</item>
0269       <item>TieColumn</item>
0270       <item>TimeSignature</item>
0271       <item>TrillPitchAccidental</item>
0272       <item>TrillPitchGroup</item>
0273       <item>TrillPitchHead</item>
0274       <item>TrillSpanner</item>
0275       <item>TupletBracket</item>
0276       <item>TupletNumber</item>
0277       <item>UnaCordaPedal</item>
0278       <item>UnaCordaPedalLineSpanner</item>
0279       <item>VaticanaLigature</item>
0280       <item>VerticalAlignment</item>
0281       <item>VerticalAxisGroup</item>
0282       <item>VoiceFollower</item>
0283       <item>VoltaBracket</item>
0284       <item>VoltaBracketSpanner</item>
0285     </list>
0286     <list name="properties">
0287       <item>aDueText</item>
0288       <item>alignAboveContext</item>
0289       <item>alignBassFigureAccidentals</item>
0290       <item>alignBelowContext</item>
0291       <item>allowBeamBreak</item>
0292       <item>associatedVoice</item>
0293       <item>autoAccidentals</item>
0294       <item>autoBeamCheck</item>
0295       <item>autoBeamSettings</item>
0296       <item>autoBeaming</item>
0297       <item>autoCautionaries</item>
0298       <item>automaticBars</item>
0299       <item>barAlways</item>
0300       <item>barCheckSynchronize</item>
0301       <item>barNumberVisibility</item>
0302       <item>baseMoment</item>
0303       <item>bassFigureFormatFunction</item>
0304       <item>bassStaffProperties</item>
0305       <item>beamExceptions</item>
0306       <item>beatGrouping</item>
0307       <item>beatLength</item>
0308       <item>beatStructure</item>
0309       <item>chordChanges</item>
0310       <item>chordNameExceptions</item>
0311       <item>chordNameExceptionsFull</item>
0312       <item>chordNameExceptionsPartial</item>
0313       <item>chordNameFunction</item>
0314       <item>chordNameSeparator</item>
0315       <item>chordNoteNamer</item>
0316       <item>chordPrefixSpacer</item>
0317       <item>chordRootNamer</item>
0318       <item>clefGlyph</item>
0319       <item>clefOctavation</item>
0320       <item>clefPosition</item>
0321       <item>connectArpeggios</item>
0322       <item>countPercentRepeats</item>
0323       <item>createKeyOnClefChange</item>
0324       <item>createSpacing</item>
0325       <item>crescendoSpanner</item>
0326       <item>crescendoText</item>
0327       <item>currentBarNumber</item>
0328       <item>decrescendoSpanner</item>
0329       <item>decrescendoText</item>
0330       <item>defaultBarType</item>
0331       <item>doubleSlurs</item>
0332       <item>doubleRepeatType</item>
0333       <item>drumPitchTable</item>
0334       <item>drumStyleTable</item>
0335       <item>dynamicAbsoluteVolumeFunction</item>
0336       <item>explicitClefVisibility</item>
0337       <item>explicitKeySignatureVisibility</item>
0338       <item>extendersOverRests</item>
0339       <item>extraNatural</item>
0340       <item>figuredBassAlterationDirection</item>
0341       <item>figuredBassCenterContinuations</item>
0342       <item>figuredBassFormatter</item>
0343       <item>figuredBassPlusDirection</item>
0344       <item>fingeringOrientations</item>
0345       <item>firstClef</item>
0346       <item>followVoice</item>
0347       <item>fontSize</item>
0348       <item>forbidBreak</item>
0349       <item>forceClef</item>
0350       <item>gridInterval</item>
0351       <item>hairpinToBarline</item>
0352       <item>harmonicAccidentals</item>
0353       <item>highStringOne</item>
0354       <item>ignoreBarChecks</item>
0355       <item>ignoreFiguredBassRest</item>
0356       <item>ignoreMelismata</item>
0357       <item>implicitBassFigures</item>
0358       <item>implicitTimeSignatureVisibility</item>
0359       <item>instrumentCueName</item>
0360       <item>instrumentEqualizer</item>
0361       <item>instrumentName</item>
0362       <item>instrumentTransposition</item>
0363       <item>internalBarNumber</item>
0364       <item>keepAliveInterfaces</item>
0365       <item>keyAlterationOrder</item>
0366       <item>keySignature</item>
0367       <item>lyricMelismaAlignment</item>
0368       <item>majorSevenSymbol</item>
0369       <item>markFormatter</item>
0370       <item>maximumFretStretch</item>
0371       <item>measureLength</item>
0372       <item>measurePosition</item>
0373       <item>melismaBusyProperties</item>
0374       <item>metronomeMarkFormatter</item>
0375       <item>middleCClefPosition</item>
0376       <item>middleCOffset</item>
0377       <item>middleCPosition</item>
0378       <item>midiInstrument</item>
0379       <item>midiMaximumVolume</item>
0380       <item>midiMinimumVolume</item>
0381       <item>minimumFret</item>
0382       <item>minimumPageTurnLength</item>
0383       <item>minimumRepeatLengthForPageTurn</item>
0384       <item>noteToFretFunction</item>
0385       <item>ottavation</item>
0386       <item>output</item>
0387       <item>pedalSostenutoStrings</item>
0388       <item>pedalSostenutoStyle</item>
0389       <item>pedalSustainStrings</item>
0390       <item>pedalSustainStyle</item>
0391       <item>pedalUnaCordaStrings</item>
0392       <item>pedalUnaCordaStyle</item>
0393       <item>printKeyCancellation</item>
0394       <item>printOctaveNames</item>
0395       <item>printPartCombineTexts</item>
0396       <item>proportionalNotationDuration</item>
0397       <item>recordEventSequence</item>
0398       <item>rehearsalMark</item>
0399       <item>repeatCommands</item>
0400       <item>restNumberThreshold</item>
0401       <item>scriptDefinitions</item>
0402       <item>shapeNoteStyles</item>
0403       <item>shortInstrumentName</item>
0404       <item>shortVocalName</item>
0405       <item>skipBars</item>
0406       <item>skipTypesetting</item>
0407       <item>soloIIText</item>
0408       <item>soloText</item>
0409       <item>squashedPosition</item>
0410       <item>staffLineLayoutFunction</item>
0411       <item>stanza</item>
0412       <item>stemLeftBeamCount</item>
0413       <item>stemRightBeamCount</item>
0414       <item>stringNumberOrientations</item>
0415       <item>stringOneTopmost</item>
0416       <item>stringTunings</item>
0417       <item>strokeFingerOrientations</item>
0418       <item>subdivideBeams</item>
0419       <item>suggestAccidentals</item>
0420       <item>systemStartDelimiter</item>
0421       <item>systemStartDelimiterHierarchy</item>
0422       <item>tablatureFormat</item>
0423       <item>tempoUnitCount</item>
0424       <item>tempoUnitDuration</item>
0425       <item>tempoWholesPerMinute</item>
0426       <item>tieWaitForNote</item>
0427       <item>timeSignatureFraction</item>
0428       <item>timing</item>
0429       <item>tonic</item>
0430       <item>topLevelAlignment</item>
0431       <item>trebleStaffProperties</item>
0432       <item>tremoloFlags</item>
0433       <item>tupletFullLength</item>
0434       <item>tupletFullLengthNote</item>
0435       <item>tupletSpannerDuration</item>
0436       <item>useBassFigureExtenders</item>
0437       <item>verticallySpacedContexts</item>
0438       <item>vocalName</item>
0439       <item>voltaOnThisStaff</item> <!-- gone in 2.12 and 2.13 -->
0440       <item>voltaSpannerDuration</item>
0441       <item>whichBar</item>
0442     </list>
0443     <list name="deprecatedproperties">
0444       <item>barNumberAlignSymbol</item>
0445       <item>centralCPosition</item>
0446       <item>extraVerticalExtent</item>
0447       <item>fingerHorizontalDirection</item>
0448       <item>instr</item>
0449       <item>instrument</item>
0450       <item>keyAccidentalOrder</item>
0451       <item>minimumVerticalExtent</item>
0452       <item>rehearsalMarkAlignSymbol</item>
0453       <item>soloADue</item>
0454       <item>tupletNumberFormatFunction</item>
0455       <item>vocNam</item>
0456     </list>
0457     <list name="musicexpressions">
0458       <item>AbsoluteDynamicEvent</item>
0459       <item>AnnotateOutputEvent</item>
0460       <item>ApplyContext</item>
0461       <item>ApplyOutputEvent</item>
0462       <item>ArpeggioEvent</item>
0463       <item>ArticulationEvent</item>
0464       <item>AutoChangeMusic</item>
0465       <item>BarCheck</item>
0466       <item>BassFigureEvent</item>
0467       <item>BeamEvent</item>
0468       <item>BeamForbidEvent</item>
0469       <item>BendAfterEvent</item>
0470       <item>BreathingEvent</item>
0471       <item>ClusterNoteEvent</item>
0472       <item>ContextChange</item>
0473       <item>ContextSpeccedMusic</item>
0474       <item>CrescendoEvent</item>
0475       <item>DecrescendoEvent</item>
0476       <item>Event</item>
0477       <item>EventChord</item>
0478       <item>ExtenderEvent</item>
0479       <item>FingeringEvent</item>
0480       <item>GlissandoEvent</item>
0481       <item>GraceMusic</item>
0482       <item>HarmonicEvent</item>
0483       <item>HyphenEvent</item>
0484       <item>KeyChangeEvent</item>
0485       <item>LabelEvent</item>
0486       <item>LaissezVibrerEvent</item>
0487       <item>LigatureEvent</item>
0488       <item>LineBreakEvent</item>
0489       <item>LyricCombineMusic</item>
0490       <item>LyricEvent</item>
0491       <item>MarkEvent</item>
0492       <item>MultiMeasureRestEvent</item>
0493       <item>MultiMeasureRestMusic</item>
0494       <item>MultiMeasureTextEvent</item>
0495       <item>Music</item>
0496       <item>NoteEvent</item>
0497       <item>NoteGroupingEvent</item>
0498       <item>OverrideProperty</item>
0499       <item>PageBreakEvent</item>
0500       <item>PageTurnEvent</item>
0501       <item>PartCombineMusic</item>
0502       <item>PercentEvent</item>
0503       <item>PercentRepeatedMusic</item>
0504       <item>PesOrFlexaEvent</item>
0505       <item>PhrasingSlurEvent</item>
0506       <item>PropertySet</item>
0507       <item>PropertyUnset</item>
0508       <item>QuoteMusic</item>
0509       <item>RelativeOctaveCheck</item>
0510       <item>RelativeOctaveMusic</item>
0511       <item>RepeatTieEvent</item>
0512       <item>RepeatedMusic</item>
0513       <item>RestEvent</item>
0514       <item>RevertProperty</item>
0515       <item>ScriptEvent</item>
0516       <item>SequentialMusic</item>
0517       <item>SimultaneousMusic</item>
0518       <item>SkipEvent</item>
0519       <item>SkipMusic</item>
0520       <item>SlurEvent</item>
0521       <item>SoloOneEvent</item>
0522       <item>SoloTwoEvent</item>
0523       <item>SostenutoEvent</item>
0524       <item>SpacingSectionEvent</item>
0525       <item>SpanEvent</item>
0526       <item>StaffSpanEvent</item>
0527       <item>StringNumberEvent</item>
0528       <item>StrokeFingerEvent</item>
0529       <item>SustainEvent</item>
0530       <item>TextScriptEvent</item>
0531       <item>TextSpanEvent</item>
0532       <item>TieEvent</item>
0533       <item>TimeScaledMusic</item>
0534       <item>TransposedMusic</item>
0535       <item>TremoloEvent</item>
0536       <item>TremoloRepeatedMusic</item>
0537       <item>TremoloSpanEvent</item>
0538       <item>TrillSpanEvent</item>
0539       <item>TupletSpanEvent</item>
0540       <item>UnaCordaEvent</item>
0541       <item>UnfoldedRepeatedMusic</item>
0542       <item>UnisonoEvent</item>
0543       <item>UnrelativableMusic</item>
0544       <item>VoiceSeparator</item>
0545       <item>VoltaRepeatedMusic</item>
0546     </list>
0547     <list name="drumpitchnames">
0548       <item>acousticbassdrum</item>
0549       <item>acousticsnare</item>
0550       <item>agh</item>
0551       <item>agl</item>
0552       <item>bassdrum</item>
0553       <item>bd</item>
0554       <item>bda</item>
0555       <item>boh</item>
0556       <item>bohm</item>
0557       <item>boho</item>
0558       <item>bol</item>
0559       <item>bolm</item>
0560       <item>bolo</item>
0561       <item>cab</item>
0562       <item>cabasa</item>
0563       <item>cb</item>
0564       <item>cgh</item>
0565       <item>cghm</item>
0566       <item>cgho</item>
0567       <item>cgl</item>
0568       <item>cglm</item>
0569       <item>cglo</item>
0570       <item>chinesecymbal</item>
0571       <item>cl</item>
0572       <item>claves</item>
0573       <item>closedhihat</item>
0574       <item>cowbell</item>
0575       <item>crashcymbal</item>
0576       <item>crashcymbala</item>
0577       <item>crashcymbalb</item>
0578       <item>cuim</item>
0579       <item>cuio</item>
0580       <item>cymc</item>
0581       <item>cymca</item>
0582       <item>cymcb</item>
0583       <item>cymch</item>
0584       <item>cymr</item>
0585       <item>cymra</item>
0586       <item>cymrb</item>
0587       <item>cyms</item>
0588       <item>da</item>
0589       <item>db</item>
0590       <item>dc</item>
0591       <item>dd</item>
0592       <item>de</item>
0593       <item>electricsnare</item>
0594       <item>fivedown</item>
0595       <item>fiveup</item>
0596       <item>fourdown</item>
0597       <item>fourup</item>
0598       <item>gui</item>
0599       <item>guil</item>
0600       <item>guiro</item>
0601       <item>guis</item>
0602       <item>halfopenhihat</item>
0603       <item>handclap</item>
0604       <item>hc</item>
0605       <item>hh</item>
0606       <item>hhc</item>
0607       <item>hhho</item>
0608       <item>hho</item>
0609       <item>hhp</item>
0610       <item>hiagogo</item>
0611       <item>hibongo</item>
0612       <item>hiconga</item>
0613       <item>highfloortom</item>
0614       <item>hightom</item>
0615       <item>hihat</item>
0616       <item>himidtom</item>
0617       <item>hisidestick</item>
0618       <item>hitimbale</item>
0619       <item>hiwoodblock</item>
0620       <item>loagogo</item>
0621       <item>lobongo</item>
0622       <item>loconga</item>
0623       <item>longguiro</item>
0624       <item>longwhistle</item>
0625       <item>losidestick</item>
0626       <item>lotimbale</item>
0627       <item>lowfloortom</item>
0628       <item>lowmidtom</item>
0629       <item>lowoodblock</item>
0630       <item>lowtom</item>
0631       <item>mar</item>
0632       <item>maracas</item>
0633       <item>mutecuica</item>
0634       <item>mutehibongo</item>
0635       <item>mutehiconga</item>
0636       <item>mutelobongo</item>
0637       <item>muteloconga</item>
0638       <item>mutetriangle</item>
0639       <item>onedown</item>
0640       <item>oneup</item>
0641       <item>opencuica</item>
0642       <item>openhibongo</item>
0643       <item>openhiconga</item>
0644       <item>openhihat</item>
0645       <item>openlobongo</item>
0646       <item>openloconga</item>
0647       <item>opentriangle</item>
0648       <item>pedalhihat</item>
0649       <item>rb</item>
0650       <item>ridebell</item>
0651       <item>ridecymbal</item>
0652       <item>ridecymbala</item>
0653       <item>ridecymbalb</item>
0654       <item>shortguiro</item>
0655       <item>shortwhistle</item>
0656       <item>sidestick</item>
0657       <item>sn</item>
0658       <item>sna</item>
0659       <item>snare</item>
0660       <item>sne</item>
0661       <item>splashcymbal</item>
0662       <item>ss</item>
0663       <item>ssh</item>
0664       <item>ssl</item>
0665       <item>tamb</item>
0666       <item>tambourine</item>
0667       <item>tamtam</item>
0668       <item>threedown</item>
0669       <item>threeup</item>
0670       <item>timh</item>
0671       <item>timl</item>
0672       <item>tomfh</item>
0673       <item>tomfl</item>
0674       <item>tomh</item>
0675       <item>toml</item>
0676       <item>tommh</item>
0677       <item>tomml</item>
0678       <item>tri</item>
0679       <item>triangle</item>
0680       <item>trim</item>
0681       <item>trio</item>
0682       <item>tt</item>
0683       <item>twodown</item>
0684       <item>twoup</item>
0685       <item>ua</item>
0686       <item>ub</item>
0687       <item>uc</item>
0688       <item>ud</item>
0689       <item>ue</item>
0690       <item>vibraslap</item>
0691       <item>vibs</item>
0692       <item>wbh</item>
0693       <item>wbl</item>
0694       <item>whl</item>
0695       <item>whs</item>
0696     </list>
0697     <contexts>
0698       <!-- Entry point -->
0699       <context name="lilypond" attribute="Normal Text" lineEndContext="#stay">
0700         <IncludeRules context="music"/>
0701         <RegExpr String="\b[a-z]+\s*=" insensitive="true" lookAhead="true" context="assignment"/>
0702       </context>
0703 
0704       <!-- Music expressions -->
0705       <context name="music" attribute="Normal Text" lineEndContext="#stay">
0706         <AnyChar String="()~" attribute="Slur"/>
0707         <AnyChar String="[]" attribute="Beam"/>
0708         <AnyChar String="-_^" context="connect"/>
0709         <DetectChar char="\" context="musiccommand" lookAhead="true"/>
0710         <IncludeRules context="default"/>
0711         <DetectChar char="&lt;" attribute="Chord" context="chord"/>
0712         <DetectChar char="&gt;" attribute="Invalid"/><!-- chord terminator outsite chord -->
0713         <RegExpr String="[a-z]+\d+\.*[,']+" attribute="Invalid"/><!-- pitch-dur-octave i.s.o. pitch-oct-dur -->
0714         <RegExpr String="(&rest;|&pitch;)" context="pitch"/>
0715         <RegExpr String=":\d*" attribute="Tremolo"/>
0716       </context>
0717 
0718       <!-- Default Lilypond code to be recognized e.g. also inside lyrics -->
0719       <context name="default" attribute="Normal Text" lineEndContext="#stay">
0720         <Detect2Chars char="&lt;" char1="&lt;" attribute="Keyword" beginRegion="simultaneous"/>
0721         <Detect2Chars char="&gt;" char1="&gt;" attribute="Keyword" endRegion="simultaneous"/>
0722         <DetectChar char="{" attribute="Keyword" beginRegion="sequential"/>
0723         <DetectChar char="}" attribute="Keyword" endRegion="sequential"/>
0724         <DetectChar char="|" attribute="Check"/>
0725         <DetectChar char="\" context="command" lookAhead="true"/>
0726         <IncludeRules context="basic"/>
0727       </context>
0728 
0729       <!-- Basic Lilypond syntax that also works inside markup -->
0730       <context name="basic" attribute="Normal Text" lineEndContext="#stay">
0731         <Detect2Chars char="%" char1="{" context="commentblock" beginRegion="comment"/>
0732         <DetectChar char="%" context="commentline"/>
0733         <DetectChar char="&quot;" context="string"/>
0734         <DetectChar char="#" context="scheme"/>
0735         <DetectChar char="$" context="schemesub"/>
0736       </context>
0737 
0738       <context name="musiccommand" attribute="Normal Text" lineEndContext="#pop"
0739                fallthrough="true" fallthroughContext="#pop">
0740         <RegExpr String="\\((&dynamics;)&b;|[&lt;!&gt;])" attribute="Dynamic"/>
0741         <RegExpr String="\\(&scripts;)&b;" attribute="Articulation"/>
0742         <RegExpr String="\\[()]" attribute="Slur"/>
0743         <RegExpr String="\\[][]" attribute="Beam"/>
0744         <IncludeRules context="command"/>
0745       </context>
0746 
0747       <context name="command" attribute="Normal Text" lineEndContext="#pop"
0748                fallthrough="true" fallthroughContext="#pop">
0749         <Detect2Chars char="\" char1="\" attribute="Keyword"/>
0750         <RegExpr String="\\note(mode|s)&b;" context="notemode"/>
0751         <RegExpr String="\\drum(mode|s)&b;" context="drummode"/>
0752         <RegExpr String="\\chord(mode|s)&b;" context="chordmode"/>
0753         <RegExpr String="\\figure(mode|s)&b;" context="figuremode"/>
0754         <RegExpr String="\\(lyric(mode|s)|addlyrics)&b;" context="lyricmode"/>
0755         <RegExpr String="\\lyricsto&b;" context="lyricsto"/>
0756         <RegExpr String="\\markup(lines)?&b;" attribute="Markup" context="markup"/>
0757         <RegExpr String="\\(header|paper|layout|midi|with)\b" context="section"/>
0758         <RegExpr String="\\(new|context|change)\b" attribute="Keyword" context="context"/>
0759         <RegExpr String="\\(un)?set\b" attribute="Keyword" context="set"/>
0760         <RegExpr String="\\(override(Property)?|revert)&b;" attribute="Keyword" context="override"/>
0761         <RegExpr String="\\skip&b;" attribute="Command" context="duration"/>
0762         <RegExpr String="\\tempo&b;" attribute="Command" context="tempo"/>
0763         <RegExpr String="\\(&keywords;)&b;" attribute="Keyword"/>
0764         <RegExpr String="\\(&commands-heads;|&commands-other1;|&commands-other2;|&commands-other3;|&commands-other4;|&commands-other5;|&commands-other6;|&commands-other7;)&b;" attribute="Command"/>
0765         <RegExpr String="\\(&toplevelvars;)&b;" attribute="Variable"/>
0766         <RegExpr String="\\(&deprecatedkeywords;)&b;" attribute="Deprecated Keyword"/>
0767         <RegExpr String="\\(&deprecatedcommands;)&b;" attribute="Deprecated Command"/>
0768         <RegExpr String="\\(translator|newcontext)\b" attribute="Deprecated Keyword" context="context"/>
0769         <RegExpr String="\\property&b;" attribute="Deprecated Keyword" context="override"/>
0770         <RegExpr String="\\[A-Za-z]+" attribute="User Command"/>
0771         <DetectChar char="\" attribute="Invalid"/>
0772       </context>
0773 
0774       <context name="assignment" attribute="Normal Text" lineEndContext="#pop">
0775         <RegExpr String="\b(&toplevelvars;)\b" attribute="Variable" context="#pop"/>
0776         <RegExpr String="[a-z]+" insensitive="true" attribute="User Command" context="#pop"/>
0777       </context>
0778 
0779       <context name="pitch" attribute="Pitch" lineEndContext="#stay"
0780                fallthrough="true" fallthroughContext="#pop">
0781         <RegExpr String="=\s*('+|,+)?" attribute="Check"/>
0782         <AnyChar String="!?"/>
0783         <IncludeRules context="duration"/>
0784       </context>
0785 
0786       <context name="duration" attribute="Normal Text" lineEndContext="#stay"
0787                fallthrough="true" fallthroughContext="#pop">
0788         <DetectSpaces attribute="Normal Text"/>
0789         <RegExpr String="&duration;" attribute="Duration" context="#pop"/>
0790         <RegExpr String="\d+" attribute="Invalid" context="#pop"/><!-- uncaught (wrong) durations -->
0791       </context>
0792 
0793       <context name="chord" attribute="Normal Text" lineEndContext="#stay">
0794         <DetectChar char="&gt;" context="chordend"/>
0795         <RegExpr String="&pitch;" context="chordpitch"/>
0796         <AnyChar String="&lt;{}srR" attribute="Invalid"/><!-- no rests in chord allowed -->
0797         <IncludeRules context="music"/>
0798       </context>
0799 
0800       <context name="chordpitch" attribute="Pitch" lineEndContext="#stay"
0801                fallthrough="true" fallthroughContext="#pop">
0802         <DetectSpaces attribute="Normal Text"/>
0803         <RegExpr String="=\s*('+|,+)?" attribute="Check"/>
0804         <!-- no duration in chord allowed -->
0805         <!-- catch other (wrong) durations as well -->
0806         <RegExpr String="&duration;|\d+" attribute="Invalid" context="#pop"/>
0807       </context>
0808 
0809       <context name="chordend" attribute="Chord" lineEndContext="#stay"
0810                fallthrough="true" fallthroughContext="#pop#pop">
0811         <DetectSpaces attribute="Normal Text"/>
0812         <RegExpr String="&duration;" attribute="Duration" context="#pop#pop"/>
0813       </context>
0814 
0815       <context name="commentline" attribute="Comment" lineEndContext="#pop">
0816         <DetectSpaces />
0817         <IncludeRules context="##Comments"/>
0818       </context>
0819 
0820       <context name="commentblock" attribute="Comment" lineEndContext="#stay">
0821         <Detect2Chars char="%" char1="}" attribute="Comment" context="#pop" endRegion="comment"/>
0822         <DetectSpaces />
0823         <IncludeRules context="##Comments"/>
0824       </context>
0825 
0826       <context name="string" attribute="Quoted Text" lineEndContext="#stay">
0827         <DetectChar char="&quot;" attribute="Quoted Text" context="#pop"/>
0828         <Detect2Chars char="\" char1="\"/>
0829         <Detect2Chars char="\" char1="&quot;"/>
0830       </context>
0831 
0832       <context name="connect" attribute="Articulation" lineEndContext="#stay"
0833                fallthrough="true" fallthroughContext="#pop">
0834         <AnyChar String=".-+|&gt;^_12345" attribute="Articulation" context="#pop"/>
0835       </context>
0836 
0837       <!-- Scheme -->
0838       <context name="scheme" attribute="Scheme" lineEndContext="#stay"
0839                fallthrough="true" fallthroughContext="scheme2">
0840         <DetectSpaces/>
0841       </context>
0842 
0843       <context name="scheme2" attribute="Scheme" lineEndContext="#pop#pop">
0844         <DetectChar char="(" attribute="Scheme Keyword" context="scheme3" beginRegion="scheme"/>
0845         <IncludeRules context="schemerules"/>
0846         <DetectSpaces lookAhead="true" context="#pop#pop"/>
0847       </context>
0848 
0849       <context name="scheme3" attribute="Scheme" lineEndContext="#stay">
0850         <DetectChar char=")" attribute="Scheme Keyword" context="#pop#pop#pop" endRegion="scheme"/>
0851         <IncludeRules context="schemerules"/>
0852       </context>
0853 
0854       <context name="schemerules" attribute="Scheme" lineEndContext="#stay">
0855         <DetectChar char="(" context="schemerules" beginRegion="scheme"/>
0856         <DetectChar char=")" context="#pop" endRegion="scheme"/>
0857         <DetectChar char="&quot;" context="schemestring"/>
0858         <DetectChar char=";" context="schemecommentline"/>
0859         <DetectChar char="$" context="schemesub"/>
0860         <DetectChar char="'" context="schemequote"/>
0861         <Detect2Chars char="#" char1="!" context="schemecommentblock" beginRegion="schemecomment"/>
0862         <Detect2Chars char="#" char1="{" attribute="Scheme Keyword" context="schemelily" beginRegion="schemelily"/>
0863         <keyword String="musicexpressions" attribute="Scheme Keyword"/>
0864         <keyword String="contexts" attribute="Scheme Keyword"/>
0865         <keyword String="layoutobjects" attribute="Scheme Keyword"/>
0866         <RegExpr String="[-+]?(\d+(\.\d+)?|\.\d+)|#([tfTF]|[bB][-+]?[01.]+|[oO][-+]?[0-7.]+|[dD][-+]?[0-9.]+|[xX][-+]?[0-9a-fA-F.]+)|[+-](inf|nan)\.0" attribute="Scheme Value"/>
0867         <RegExpr String="&schemefunc0;|&schemefunc1;|&schemefunc2;" attribute="Scheme Keyword"/>
0868         <RegExpr String="&schemename;"/>
0869       </context>
0870 
0871       <context name="schemequote" attribute="Scheme" lineEndContext="#pop"
0872                fallthrough="true" fallthroughContext="#pop">
0873         <RegExpr String="&schemefunc0;|&schemefunc1;|&schemefunc2;"/>
0874       </context>
0875 
0876       <context name="schemelily" attribute="Normal Text" lineEndContext="#stay">
0877         <Detect2Chars char="#" char1="}" attribute="Scheme Keyword" context="#pop" endRegion="schemelily"/>
0878         <IncludeRules context="lilypond"/>
0879       </context>
0880 
0881       <context name="schemecommentline" attribute="Scheme Comment" lineEndContext="#pop">
0882         <DetectSpaces />
0883         <IncludeRules context="##Comments"/>
0884       </context>
0885 
0886       <context name="schemecommentblock" attribute="Scheme Comment" lineEndContext="#stay">
0887         <Detect2Chars char="!" char1="#" attribute="Scheme Comment" context="#pop" endRegion="schemecomment"/>
0888         <DetectSpaces />
0889         <IncludeRules context="##Comments"/>
0890       </context>
0891 
0892       <context name="schemesub" attribute="Scheme Subst" lineEndContext="#pop"
0893                 fallthrough="true" fallthroughContext="#pop">
0894         <RegExpr String="&schemename;" attribute="Scheme Subst" context="#pop"/>
0895       </context>
0896 
0897       <context name="schemestring" attribute="Scheme String" lineEndContext="#stay">
0898         <DetectChar char="&quot;" attribute="Scheme String" context="#pop"/>
0899         <RegExpr String="\\[0fnrtav\\&quot;]"/>
0900       </context>
0901 
0902       <!-- NoteMode -->
0903       <context name="notemode" attribute="Other Mode" lineEndContext="#stay"
0904                fallthrough="true" fallthroughContext="#pop">
0905         <DetectChar char="{" attribute="Keyword" context="notemode2" beginRegion="sequential"/>
0906         <DetectSpaces/>
0907       </context>
0908 
0909       <context name="notemode2" attribute="Normal Text" lineEndContext="#stay">
0910         <DetectChar char="}" attribute="Keyword" context="#pop#pop" endRegion="sequential"/>
0911         <IncludeRules context="noterules"/>
0912       </context>
0913 
0914       <context name="noterules" attribute="Normal Text" lineEndContext="#stay">
0915         <DetectChar char="{" attribute="Keyword" context="noterules" beginRegion="sequential"/>
0916         <DetectChar char="}" attribute="Keyword" context="#pop" endRegion="sequential"/>
0917         <IncludeRules context="music"/>
0918       </context>
0919 
0920       <!-- Drummode -->
0921       <context name="drummode" attribute="Other Mode" lineEndContext="#stay"
0922                fallthrough="true" fallthroughContext="#pop">
0923         <DetectChar char="{" attribute="Keyword" context="drummode2" beginRegion="sequential"/>
0924         <DetectSpaces/>
0925       </context>
0926 
0927       <context name="drummode2" attribute="Normal Text" lineEndContext="#stay">
0928         <DetectChar char="}" attribute="Keyword" context="#pop#pop" endRegion="sequential"/>
0929         <IncludeRules context="drumrules"/>
0930       </context>
0931 
0932       <context name="drumrules" attribute="Normal Text" lineEndContext="#stay">
0933         <DetectChar char="{" attribute="Keyword" context="drumrules" beginRegion="sequential"/>
0934         <DetectChar char="}" attribute="Keyword" context="#pop" endRegion="sequential"/>
0935         <RegExpr String="&lt;(?!&lt;)" attribute="Chord" context="drumchord"/>
0936         <keyword attribute="Other Text" String="drumpitchnames" context="duration"/>
0937         <IncludeRules context="music"/>
0938       </context>
0939 
0940       <context name="drumchord" attribute="Normal Text" lineEndContext="#stay">
0941         <keyword attribute="Other Text" String="drumpitchnames"/>
0942         <IncludeRules context="chord"/>
0943       </context>
0944 
0945       <!-- Chordmode -->
0946       <context name="chordmode" attribute="Other Mode" lineEndContext="#stay"
0947                fallthrough="true" fallthroughContext="#pop">
0948         <DetectChar char="{" attribute="Keyword" context="chordmode2" beginRegion="sequential"/>
0949         <DetectSpaces/>
0950       </context>
0951 
0952       <context name="chordmode2" attribute="Normal Text" lineEndContext="#stay">
0953         <DetectChar char="}" attribute="Keyword" context="#pop#pop" endRegion="sequential"/>
0954         <IncludeRules context="chordrules"/>
0955       </context>
0956 
0957       <context name="chordrules" attribute="Normal Text" lineEndContext="#stay">
0958         <DetectChar char="{" attribute="Keyword" context="chordrules" beginRegion="sequential"/>
0959         <DetectChar char="}" attribute="Keyword" context="#pop" endRegion="sequential"/>
0960         <RegExpr attribute="Other Text" String=":?([\.^]?\d+[-+]?|(m|dim|aug|maj|sus)&b;)*(/\+?&pitch;)?"/>
0961         <IncludeRules context="music"/>
0962       </context>
0963 
0964       <!-- Figuremode -->
0965       <context name="figuremode" attribute="Other Mode" lineEndContext="#stay"
0966                fallthrough="true" fallthroughContext="#pop">
0967         <DetectChar char="{" attribute="Keyword" context="figuremode2" beginRegion="sequential"/>
0968         <DetectSpaces/>
0969       </context>
0970 
0971       <context name="figuremode2" attribute="Normal Text" lineEndContext="#stay">
0972         <DetectChar char="}" attribute="Keyword" context="#pop#pop" endRegion="sequential"/>
0973         <IncludeRules context="figurerules"/>
0974       </context>
0975 
0976       <context name="figurerules" attribute="Normal Text" lineEndContext="#stay">
0977         <DetectChar char="{" attribute="Keyword" context="figurerules" beginRegion="sequential"/>
0978         <DetectChar char="}" attribute="Keyword" context="#pop" endRegion="sequential"/>
0979         <DetectChar char="&lt;" attribute="Chord" context="figure"/>
0980         <RegExpr String="&rest;" attribute="Pitch" context="duration"/>
0981         <IncludeRules context="default"/>
0982       </context>
0983 
0984       <context name="figure" attribute="Normal Text" lineEndContext="#stay">
0985         <DetectChar char="&gt;" attribute="Chord" context="chordend"/>
0986         <IncludeRules context="basic"/>
0987         <RegExpr String="\\markup(lines)?&b;" attribute="Markup" context="markup"/>
0988         <RegExpr String="\\skip&b;" attribute="Command" context="duration"/>
0989       </context>
0990 
0991       <!-- Lyrics -->
0992       <context name="lyricmode" attribute="Lyricmode" lineEndContext="#stay"
0993                fallthrough="true" fallthroughContext="#pop">
0994         <DetectChar char="{" attribute="Keyword" context="lyricmode2" beginRegion="sequential"/>
0995         <DetectSpaces/>
0996       </context>
0997 
0998       <context name="lyricmode2" attribute="Lyric Text" lineEndContext="#stay">
0999         <DetectChar char="}" attribute="Keyword" context="#pop#pop" endRegion="sequential"/>
1000         <IncludeRules context="lyricrules"/>
1001       </context>
1002 
1003       <!-- LyricsTo has extra parameter -->
1004       <context name="lyricsto" attribute="Lyricmode" lineEndContext="#stay"
1005                fallthrough="true" fallthroughContext="#pop">
1006         <RegExpr String="&quot;(\\[&quot;\\]|[^&quot;\\])+&quot;" attribute="Quoted Text" context="lyricsto2"/>
1007         <RegExpr String="[A-Za-z]+" attribute="Normal Text" context="lyricsto2"/>
1008         <DetectSpaces/>
1009       </context>
1010 
1011       <context name="lyricsto2" attribute="Normal Text" lineEndContext="#stay"
1012                fallthrough="true" fallthroughContext="#pop#pop">
1013         <DetectChar char="{" attribute="Keyword" context="lyricsto3" beginRegion="sequential"/>
1014         <DetectSpaces/>
1015       </context>
1016 
1017       <context name="lyricsto3" attribute="Lyric Text" lineEndContext="#stay">
1018         <DetectChar char="}" attribute="Keyword" context="#pop#pop#pop" endRegion="sequential"/>
1019         <IncludeRules context="lyricrules"/>
1020       </context>
1021 
1022       <context name="lyricrules" attribute="Lyric Text" lineEndContext="#stay">
1023         <DetectChar char="{" attribute="Keyword" context="lyricrules" beginRegion="sequential"/>
1024         <DetectChar char="}" attribute="Keyword" context="#pop" endRegion="sequential"/>
1025         <RegExpr String="(\w+-{2,}|\w+_{2,}|-{2,}\w+|_{2,}\w+)" attribute="Invalid"/><!-- two hyphens or underscores run together with a word -->
1026         <RegExpr String="&duration;" attribute="Duration"/>
1027         <RegExpr String="(--|__|_)" attribute="Lyricmode"/>
1028         <IncludeRules context="default"/>
1029         <RegExpr String="\S+\}" attribute="Invalid" context="#pop" endRegion="sequential"/>
1030       </context>
1031 
1032       <!-- Markup -->
1033       <context name="markup" attribute="Normal Text" lineEndContext="#stay"
1034                fallthrough="true" fallthroughContext="#pop">
1035         <DetectChar char="{" attribute="Keyword" context="markup2" beginRegion="markup"/>
1036         <DetectSpaces/>
1037         <RegExpr String="\\score\b" attribute="Markup" context="notemode"/>
1038         <RegExpr String="\\(&markupwithtextargs;)&b;" attribute="Markup"/>
1039         <RegExpr String="\\(&markupnotextargs;)&b;" attribute="Markup" context="#pop"/>
1040         <DetectChar char="#" context="scheme"/>
1041         <RegExpr String="[^&quot;\s\\#%{}$]+" attribute="Normal Text" context="#pop"/>
1042       </context>
1043 
1044       <context name="markup2" attribute="Normal Text" lineEndContext="#stay">
1045         <DetectChar char="}" attribute="Keyword" context="#pop#pop" endRegion="markup"/>
1046         <IncludeRules context="markuprules"/>
1047       </context>
1048 
1049       <context name="markuprules" attribute="Normal Text" lineEndContext="#stay">
1050         <DetectChar char="}" attribute="Keyword" context="#pop" endRegion="markup"/>
1051         <DetectChar char="{" attribute="Keyword" context="markuprules" beginRegion="markup"/>
1052         <RegExpr String="\\score\b" attribute="Markup" context="notemode"/>
1053         <RegExpr String="\\(&markupnotextargs;|&markupwithtextargs;)&b;" attribute="Markup"/>
1054         <RegExpr String="\\(&deprecatedmarkup;)&b;" attribute="Deprecated Markup"/>
1055         <RegExpr String="\\[A-Za-z]+(-[A-Za-z]+)*" attribute="User Command"/>
1056         <IncludeRules context="basic"/>
1057       </context>
1058 
1059       <!-- \paper, \layout, \midi, \header, \with -->
1060       <context name="section" attribute="Keyword" lineEndContext="#stay"
1061                fallthrough="true" fallthroughContext="#pop">
1062         <DetectChar char="{" attribute="Keyword" context="section2" beginRegion="section"/>
1063         <DetectSpaces/>
1064       </context>
1065 
1066       <context name="section2" attribute="Normal Text" lineEndContext="#stay">
1067         <DetectChar char="}" attribute="Keyword" context="#pop#pop" endRegion="section"/>
1068         <IncludeRules context="sectionrules"/>
1069       </context>
1070 
1071       <context name="sectionrules" attribute="Normal Text" lineEndContext="#stay">
1072         <DetectChar char="}" attribute="Keyword" context="#pop" endRegion="section"/>
1073         <DetectChar char="{" attribute="Keyword" context="sectionrules" beginRegion="section"/>
1074         <keyword String="contexts" attribute="Context"/>
1075         <keyword String="deprecatedcontexts" attribute="Deprecated Context"/>
1076         <RegExpr String="(&quot;?)\b(?:&engravers00;|&engravers01;|&engravers02;|&engravers1;|&engravers2;)\b\1" attribute="Engraver"/>
1077         <keyword String="layoutobjects" attribute="Layout Object"/>
1078         <keyword String="properties" attribute="Property"/>
1079         <RegExpr String="\b(&headervars;|&papervars;|&layoutvars;)\b" attribute="Variable"/>
1080         <keyword String="deprecatedproperties" attribute="Deprecated Property"/>
1081         <IncludeRules context="default"/>
1082       </context>
1083 
1084       <!-- \new, \context, \change -->
1085       <context name="context" attribute="Normal Text" lineEndContext="#stay"
1086                fallthrough="true" fallthroughContext="#pop">
1087         <DetectSpaces/>
1088         <keyword String="contexts" attribute="Context" context="context2"/>
1089         <keyword String="deprecatedcontexts" attribute="Deprecated Context" context="context2"/>
1090         <RegExpr String="[A-Za-z]+" attribute="User Command" context="context2"/>
1091         <DetectChar char="{" attribute="Keyword" context="section2" beginRegion="section"/>
1092       </context>
1093 
1094       <context name="context2" attribute="Normal Text" lineEndContext="#stay"
1095                fallthrough="true" fallthroughContext="#pop#pop">
1096         <DetectSpaces/>
1097         <RegExpr String="=(\s*[A-Za-z]+)?" attribute="Normal Text" context="#pop#pop"/>
1098       </context>
1099 
1100       <!-- \set, \unset -->
1101       <context name="set" attribute="Normal Text" lineEndContext="#stay"
1102                fallthrough="true" fallthroughContext="#pop">
1103         <DetectSpaces/>
1104         <keyword String="contexts" attribute="Context"/>
1105         <keyword String="deprecatedcontexts" attribute="Deprecated Context"/>
1106         <DetectChar char="."/>
1107         <keyword String="properties" attribute="Property" context="#pop"/>
1108         <keyword String="deprecatedproperties" attribute="Deprecated Property" context="#pop"/>
1109         <RegExpr String="[A-Za-z]+" attribute="User Command" context="#pop"/>
1110       </context>
1111 
1112       <!-- \override, \overrideProperty, \revert -->
1113       <context name="override" attribute="Normal Text" lineEndContext="#stay"
1114                fallthrough="true" fallthroughContext="#pop">
1115         <DetectSpaces/>
1116         <keyword String="contexts" attribute="Context"/>
1117         <keyword String="deprecatedcontexts" attribute="Deprecated Context"/>
1118         <DetectChar char="."/>
1119         <keyword String="layoutobjects" attribute="Layout Object" context="#pop"/>
1120         <RegExpr String="[A-Za-z]+(?=\s*\.)" attribute="User Command"/>
1121         <RegExpr String="[A-Za-z]+" attribute="User Command" context="#pop"/>
1122       </context>
1123 
1124       <!-- special cases for individual commands -->
1125       <!-- \tempo -->
1126       <context name="tempo" attribute="Normal Text" lineEndContext="#stay"
1127                fallthrough="true" fallthroughContext="#pop">
1128         <RegExpr String="\\markup(lines)?&b;" attribute="Markup" context="markup"/>
1129         <RegExpr String="\d+\.*\s*=\s*\d+" attribute="Command" context="#pop"/>
1130         <DetectSpaces/>
1131         <IncludeRules context="basic"/>
1132       </context>
1133 
1134     </contexts>
1135     <itemDatas>
1136       <itemData name="Pitch" defStyleNum="dsNormal"/>
1137       <itemData name="Duration" defStyleNum="dsDataType"/>
1138       <itemData name="Slur" defStyleNum="dsChar" bold="true"/>
1139       <itemData name="Dynamic" defStyleNum="dsString" color="#ee5000" bold="true"/>
1140       <itemData name="Articulation" defStyleNum="dsString" color="#ee5000" bold="true"/>
1141       <itemData name="Chord" defStyleNum="dsDataType" bold="true"/>
1142       <itemData name="Beam" defStyleNum="dsDataType" bold="true"/>
1143       <itemData name="Check" defStyleNum="dsDecVal"/>
1144       <itemData name="Tremolo" defStyleNum="dsOthers"/>
1145       <itemData name="Keyword" defStyleNum="dsKeyword"/>
1146       <itemData name="Command" defStyleNum="dsFunction" bold="true"/>
1147       <itemData name="User Command" defStyleNum="dsFunction"/>
1148       <itemData name="Context" defStyleNum="dsDataType" bold="true"/>
1149       <itemData name="Layout Object" defStyleNum="dsDataType"/>
1150       <itemData name="Property" defStyleNum="dsDataType"/>
1151       <itemData name="Variable" defStyleNum="dsDataType"/>
1152       <itemData name="Engraver" defStyleNum="dsDataType"/>
1153       <itemData name="Markup" defStyleNum="dsBaseN" color="#009817"/>
1154       <itemData name="Lyricmode" defStyleNum="dsKeyword" color="#007010"/>
1155       <itemData name="Lyric Text" defStyleNum="dsNormal" color="#007010"/>
1156       <itemData name="Other Mode" defStyleNum="dsKeyword" color="#0094e4"/>
1157       <itemData name="Other Text" defStyleNum="dsNormal" color="#0094e4"/>
1158       <itemData name="Normal Text" defStyleNum="dsNormal"/>
1159       <itemData name="Quoted Text" defStyleNum="dsString"/>
1160       <itemData name="Comment" defStyleNum="dsComment"/>
1161       <itemData name="Scheme" defStyleNum="dsFloat" backgroundColor="#fff6ff"/>
1162       <itemData name="Scheme Keyword" defStyleNum="dsFloat" bold="true" backgroundColor="#fff6ff"/>
1163       <itemData name="Scheme Subst" defStyleNum="dsDecVal" bold="true" backgroundColor="#fff6ff"/>
1164       <itemData name="Scheme Value" defStyleNum="dsDecVal" backgroundColor="#fff6ff"/>
1165       <itemData name="Scheme String" defStyleNum="dsString" backgroundColor="#fff6ff"/>
1166       <itemData name="Scheme Comment" defStyleNum="dsComment" backgroundColor="#fff6ff"/>
1167       <itemData name="Deprecated Keyword" defStyleNum="dsKeyword" backgroundColor="#fcc"/>
1168       <itemData name="Deprecated Command" defStyleNum="dsFunction" backgroundColor="#fcc"/>
1169       <itemData name="Deprecated Property" defStyleNum="dsDataType" backgroundColor="#fcc"/>
1170       <itemData name="Deprecated Context" defStyleNum="dsDataType" bold="true" backgroundColor="#fcc"/>
1171       <itemData name="Deprecated Markup" defStyleNum="dsBaseN" color="#009817" backgroundColor="#fcc"/>
1172       <itemData name="Invalid" defStyleNum="dsError"/>
1173     </itemDatas>
1174   </highlighting>
1175   <general>
1176     <comments>
1177       <comment name="singleLine" start="%"/>
1178       <comment name="multiLine" start="%{" end="%}" region="comment"/>
1179     </comments>
1180     <keywords casesensitive="true" additionalDeliminator="'_0123456789"/>
1181   </general>
1182 </language>
1183 <!--
1184   kate: space-indent on; indent-width 2; replace-tabs on;
1185 -->