diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | ce4a32fe52ef09d8f5ff1dd22c001110902b60a2 (patch) | |
tree | 5ac38a06f3dde268dc7927dc155896926aaf7012 /kate/data/lilypond.xml | |
download | tdelibs-ce4a32fe52ef09d8f5ff1dd22c001110902b60a2.tar.gz tdelibs-ce4a32fe52ef09d8f5ff1dd22c001110902b60a2.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdelibs@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kate/data/lilypond.xml')
-rw-r--r-- | kate/data/lilypond.xml | 1095 |
1 files changed, 1095 insertions, 0 deletions
diff --git a/kate/data/lilypond.xml b/kate/data/lilypond.xml new file mode 100644 index 000000000..08b954d82 --- /dev/null +++ b/kate/data/lilypond.xml @@ -0,0 +1,1095 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE language SYSTEM "language.dtd" [ + <!ENTITY b "(?![A-Za-z])"> + <!ENTITY rest "\b[srR]&b;"> + <!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?)?)('+|,+|&b;)"> + <!ENTITY duration "(\\(longa|breve)\b|(1|2|4|8|16|32|64|128|256|512|1024|2048)(?!\d))(\s*\.+)?(\s*\*\s*\d+(/\d+)?)*"> + <!ENTITY dynamics "p{1,5}|mp|mf|f{1,4}|s?fp|sff?|spp?|[sr]?fz"> + <!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"> + <!ENTITY keywords "accepts|alias|consists|defaultchild|denies|description|grobdescriptions|include|invalid|name|objectid|once|remove|sequential|simultaneous|type|version|score|book"> + <!ENTITY deprecatedkeywords "consistsend"> + <!ENTITY commands "acciaccatura|addQuote|afterGrace|aikenHeads|allowPageTurn|alternative|apply(Context|Music|Output)|appoggiatura|arpeggio(Bracket|Down|Neutral|Up)?|(a|de)scendens|auctum|augmentum|autoBeamO(ff|n)|autochange|balloon(Grob)?Text|bar|barNumberCheck|bendAfter|breathe|break|cadenzaO(ff|n)|caesura|cavum|clef(\s+(treble|violin|G|alto|C|(sub)?bass|F|french|(mezzo)?soprano|(var)?baritone|percussion|tab))?|compressMusic|(end)?(de)?cr|(cue|transposedCue)During|default|deminutum|display(Lily)?Music|divisio(Maior|Maxima|Minima)|(dynamic|dots|phrasingSlur|slur|stem|tie|tuplet)(Down|Neutral|Up)|textLengthO(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|label|laissezVibrer|linea|mark|maxima|melisma(End)?|newSpacingSection|no(Beam|Break|PageBreak|PageTurn)|normalsize|octave|oneVoice|oriscus|page(-ref|Break|Turn)|parallelMusic|parenthesize|partcombine|partial(\s*&duration;)?|pes|pitchedTrill|quilisma|quoteDuring|relative(\s+&pitch;)?|RemoveEmptyStaffContext|repeat(\s+(unfold|volta|tremolo|percent)(\s+\d+)?)?|repeatTie|resetRelativeOctave|rest|sacredHarpHeads|scoreTweak|easyHeadsO(ff|n)|set(Hairpin|Text)(Cresc|Decresc|Dim)|setTextDecr|shift(Durations|Off|On{1,3})|(slur|tie)(Both|Dashed|Dotted|Solid)|small|spacingTweaks|(start|stop)(Group|(Text|Trill)Span|Staff)|stemBoth|stropha|super|(sustain|sostenuto)(Down|Up)|table-of-contents|tag|tempo(\s*\d+\.*\s*=\s*\d+)?|times?(\s*\d+/\d+)?|tiny|tocItem|transpose(\s+&pitch;\s*&pitch;)?|transposition(\s+&pitch;)|tweak|unfoldRepeats|virg(ul)?a|voice(One|Two|Three|Four)|withMusicProperty|cm|mm|in|pt|major|minor|ionian|locrian|aeolian|mixolydian|lydian|phrygian|dorian"> + <!ENTITY deprecatedcommands "newpage|script(Up|Down|Both)|(empty|fat)Text|setEasyHeads|(default|voice|modernVoice|piano|forget)Accidentals|(modern(Voice)?|piano)Cautionaries|noResetKey"> + <!ENTITY markupnotextargs "arrow-head|beam|char|double(flat|sharp)|draw-(circle|line)|epsfile|filled-box|flat|fret-diagram(-terse|-verbose)?|fromproperty|justify-(field|string)|lookup|markalphabet|markletter|musicglyph|natural|note-by-number|note|null|semi(flat|sharp)|sesqui(flat|sharp)|sharp|simple|slashed-digit|stencil|strut|tied-lyric|triangle|verbatim-file|wordwrap-field"> + <!ENTITY markupwithtextargs "markup|bigger|bold|box|bracket|caps|(center|general|left|right)-align|circle|column|combine|concat|dir-column|dynamic|fill-line|finger|fontCaps|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(-string)?|(markup|column-|justified-|override-|wordwrap-)lines"> + <!ENTITY deprecatedmarkup "center"> + <!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"> + <!ENTITY papervars "annotate-spacing|(print-)?first-page-number|print-page-number|paper-(width|height)|(top|bottom|left|right)-margin|line-width|(head|foot)-separation|page-top-space|ragged-(bottom|last-bottom|right)|page-count|between-system-(space|padding)|page-breaking-between-system-padding|horizontal-shift|(before|after|between)-title-space|printallheaders|indent|force-assignment|input-encoding|output-scale|blank(-after-score|-last)?-page-force|page-limit-inter-system-space(-factor)?|(systemSeparator|(even|odd)(Footer|Header)|(book|score|toc)Title|tocItem)Markup"> + <!ENTITY layoutvars "system-count|indent"> + <!ENTITY toplevelvars "dash(Hat|Plus|Dash|Bar|Larger|Dot|Underscore)|fermataMarkup|pipeSymbol|slashSeparator"> + <!ENTITY performer "Beam|Control_track|Drum_note|Dynamic|Key|Lyric|Note|Piano_pedal|Slur|Staff|Swallow|Tempo|Tie|Time_signature"> + <!ENTITY translator "Note_swallow|Rest_swallow|Skip_event_swallow|Timing"> + <!ENTITY engraver "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|Dynamic|Engraver|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|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_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|Script_column|Script|Script_row|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|Translator|Trill_spanner|Tuplet|Tweak|Vaticana_ligature|Vertical_align|Vertically_spaced_contexts|Volta"> + <!ENTITY engravers "(&engraver;)_engraver|(&performer;)_performer|(&translator;)_translator"> + <!ENTITY schemename "[a-zA-Z#][^\s(){}[\];$"]*"> + <!ENTITY schemefunc "\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|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->string|string->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->inexact|inexact->exact|number->string|string->number|char((-ci)?(=\?|<\?|>\?|<=\?|>=\?)|-alphabetic\?|\?|-numeric\?|-whitespace\?|-upper-case\?|-lower-case\?|->integer|-upcase|-downcase|-ready\?)|integer->char|make-string|string(\?|-copy|-fill!|-length|-ref|-set!|(-ci)?(=\?|<\?|>\?|<=\?|>=\?)|-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->list|list->string|vector->list|list->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|\)))"> +]> +<language name="LilyPond" section="Other" version="2.20" kateversion="2.4" extensions="*.ly;*.LY;*.ily;*.ILY;*.lyi;*.LYI" mimetype="text/x-lilypond" author="Wilbert Berendsen (info@wilbertberendsen.nl)" license="LGPL"> + + <!-- + + January, 2008 + Fully rewritten by Wilbert Berendsen (info@wilbertberendsen.nl) + + Changes: + + - correctly parse pitches, chords, durations, etc. marking often made mistakes as invalid + - speed up by shortening contexts, e.g. branch out on a \, instead of RegExpr'ing all \commands + - recognize some contexts like \layout, \with, \header to colorcode variables, engravers, etc. only there + - recognize lilypond words like ChoirStaff etc. only in sections and after \set, \override etc. + - highlight some standard Scheme function names + - add \figuremode recognition + - all Scheme stuff has a nice, very light background, to show where Lilypond is in Scheme mode. + - mark some deprecated (pre 2.12) LilyPond commands and properties + + October, 2007 + New version by Wilbert Berendsen (info@wilbertberendsen.nl) + + Changes: + + - better recognition of being inside lyrics, drums, notes, chords and markup sections + - detect block comments %{ %} + - links to ##Alerts in comments (e.g. TODO, FIXME) + - detect lilypond inside scheme #{ #} + - detect \score inside \markup, etc. + - helps with some often made errors like forgetting spaces around lyric extenders and hyphens + - more scheme improvements: strings, numbers, $substitutions, lilypond objects + - highlights many variables, commands, lilypond objects, properties, engravers, etc. + - by using entities for many regexps the main syntax checking parts remain legible, and the file more maintainable. + + I borrowed some colors and the drum names from Andrea Primiani's first version (August, 2004). + + --> + + <highlighting> + <list name="contexts"> + <item> ChoirStaff </item> + <item> ChordNames </item> + <item> CueVoice </item> + <item> Devnull </item> + <item> DrumStaff </item> + <item> DrumVoice </item> + <item> FiguredBass </item> + <item> FretBoards </item> + <item> Global </item> + <item> GrandStaff </item> + <item> GregorianTranscriptionStaff </item> + <item> GregorianTranscriptionVoice </item> + <item> InnerChoirStaff </item> + <item> InnerStaffGroup </item> + <item> Lyrics </item> + <item> MensuralStaff </item> + <item> MensuralVoice </item> + <item> NoteNames </item> + <item> PianoStaff </item> + <item> RhythmicStaff </item> + <item> Score </item> + <item> Staff </item> + <item> StaffGroup </item> + <item> TabStaff </item> + <item> TabVoice </item> + <item> VaticanaStaff </item> + <item> VaticanaVoice </item> + <item> Voice </item> + </list> + <list name="layoutobjects"> + <item> Accidental </item> + <item> AccidentalCautionary </item> + <item> AccidentalPlacement </item> + <item> AccidentalSuggestion </item> + <item> Ambitus </item> + <item> AmbitusAccidental </item> + <item> AmbitusLine </item> + <item> AmbitusNoteHead </item> + <item> Arpeggio </item> + <item> BalloonTextItem </item> + <item> BarLine </item> + <item> BarNumber </item> + <item> BassFigure </item> + <item> BassFigureAlignment </item> + <item> BassFigureAlignmentPositioning </item> + <item> BassFigureBracket </item> + <item> BassFigureContinuation </item> + <item> BassFigureLine </item> + <item> Beam </item> + <item> BendAfter </item> + <item> BreakAlignGroup </item> + <item> BreakAlignment </item> + <item> BreathingSign </item> + <item> ChordName </item> + <item> Clef </item> + <item> ClusterSpanner </item> + <item> ClusterSpannerBeacon </item> + <item> CombineTextScript </item> + <item> Custos </item> + <item> DotColumn </item> + <item> Dots </item> + <item> DoublePercentRepeat </item> + <item> DoublePercentRepeatCounter </item> + <item> DynamicLineSpanner </item> + <item> DynamicText </item> + <item> DynamicTextSpanner </item> + <item> Fingering </item> + <item> FretBoard </item> + <item> Glissando </item> + <item> GraceSpacing </item> + <item> GridLine </item> + <item> GridPoint </item> + <item> Hairpin </item> + <item> HarmonicParenthesesItem </item> + <item> HorizontalBracket </item> + <item> InstrumentName </item> + <item> InstrumentSwitch </item> + <item> KeyCancellation </item> + <item> KeySignature </item> + <item> LaissezVibrerTie </item> + <item> LaissezVibrerTieColumn </item> + <item> LedgerLineSpanner </item> + <item> LeftEdge </item> + <item> LigatureBracket </item> + <item> LyricExtender </item> + <item> LyricHyphen </item> + <item> LyricSpace </item> + <item> LyricText </item> + <item> MeasureGrouping </item> + <item> MelodyItem </item> + <item> MensuralLigature </item> + <item> MetronomeMark </item> + <item> MultiMeasureRest </item> + <item> MultiMeasureRestNumber </item> + <item> MultiMeasureRestText </item> + <item> NonMusicalPaperColumn </item> + <item> NoteCollision </item> + <item> NoteColumn </item> + <item> NoteHead </item> + <item> NoteName </item> + <item> NoteSpacing </item> + <item> OctavateEight </item> + <item> OttavaBracket </item> + <item> PaperColumn </item> + <item> ParenthesesItem </item> + <item> PercentRepeat </item> + <item> PercentRepeatCounter </item> + <item> PhrasingSlur </item> + <item> PianoPedalBracket </item> + <item> RehearsalMark </item> + <item> RepeatSlash </item> + <item> RepeatTie </item> + <item> RepeatTieColumn </item> + <item> Rest </item> + <item> RestCollision </item> + <item> Script </item> + <item> ScriptColumn </item> + <item> ScriptRow </item> + <item> SeparationItem </item> + <item> Slur </item> + <item> SostenutoPedal </item> + <item> SostenutoPedalLineSpanner </item> + <item> SpacingSpanner </item> + <item> SpanBar </item> + <item> StaffSpacing </item> + <item> StaffSymbol </item> + <item> StanzaNumber </item> + <item> Stem </item> + <item> StemTremolo </item> + <item> StringNumber </item> + <item> StrokeFinger </item> + <item> SustainPedal </item> + <item> SustainPedalLineSpanner </item> + <item> System </item> + <item> SystemStartBar </item> + <item> SystemStartBrace </item> + <item> SystemStartBracket </item> + <item> SystemStartSquare </item> + <item> TabNoteHead </item> + <item> TextScript </item> + <item> TextSpanner </item> + <item> Tie </item> + <item> TieColumn </item> + <item> TimeSignature </item> + <item> TrillPitchAccidental </item> + <item> TrillPitchGroup </item> + <item> TrillPitchHead </item> + <item> TrillSpanner </item> + <item> TupletBracket </item> + <item> TupletNumber </item> + <item> UnaCordaPedal </item> + <item> UnaCordaPedalLineSpanner </item> + <item> VaticanaLigature </item> + <item> VerticalAlignment </item> + <item> VerticalAxisGroup </item> + <item> VoiceFollower </item> + <item> VoltaBracket </item> + <item> VoltaBracketSpanner </item> + </list> + <list name="properties"> + <item> aDueText </item> + <item> alignAboveContext </item> + <item> alignBassFigureAccidentals </item> + <item> alignBelowContext </item> + <item> allowBeamBreak </item> + <item> associatedVoice </item> + <item> autoAccidentals </item> + <item> autoBeamCheck </item> + <item> autoBeamSettings </item> + <item> autoBeaming </item> + <item> autoCautionaries </item> + <item> automaticBars </item> + <item> barAlways </item> + <item> barCheckSynchronize </item> + <item> barNumberVisibility </item> + <item> bassFigureFormatFunction </item> + <item> bassStaffProperties </item> + <item> beatGrouping </item> + <item> beatLength </item> + <item> chordChanges </item> + <item> chordNameExceptions </item> + <item> chordNameExceptionsFull </item> + <item> chordNameExceptionsPartial </item> + <item> chordNameFunction </item> + <item> chordNameSeparator </item> + <item> chordNoteNamer </item> + <item> chordPrefixSpacer </item> + <item> chordRootNamer </item> + <item> clefGlyph </item> + <item> clefOctavation </item> + <item> clefPosition </item> + <item> connectArpeggios </item> + <item> countPercentRepeats </item> + <item> createKeyOnClefChange </item> + <item> createSpacing </item> + <item> crescendoSpanner </item> + <item> crescendoText </item> + <item> currentBarNumber </item> + <item> decrescendoSpanner </item> + <item> decrescendoText </item> + <item> defaultBarType </item> + <item> doubleSlurs </item> + <item> drumPitchTable </item> + <item> drumStyleTable </item> + <item> dynamicAbsoluteVolumeFunction </item> + <item> explicitClefVisibility </item> + <item> explicitKeySignatureVisibility </item> + <item> extendersOverRests </item> + <item> extraNatural </item> + <item> figuredBassAlterationDirection </item> + <item> figuredBassCenterContinuations </item> + <item> figuredBassFormatter </item> + <item> figuredBassPlusDirection </item> + <item> fingeringOrientations </item> + <item> firstClef </item> + <item> followVoice </item> + <item> fontSize </item> + <item> forbidBreak </item> + <item> forceClef </item> + <item> gridInterval </item> + <item> hairpinToBarline </item> + <item> harmonicAccidentals </item> + <item> highStringOne </item> + <item> ignoreBarChecks </item> + <item> ignoreFiguredBassRest </item> + <item> ignoreMelismata </item> + <item> implicitBassFigures </item> + <item> implicitTimeSignatureVisibility </item> + <item> instrumentCueName </item> + <item> instrumentEqualizer </item> + <item> instrumentName </item> + <item> instrumentTransposition </item> + <item> internalBarNumber </item> + <item> keepAliveInterfaces </item> + <item> keyAlterationOrder </item> + <item> keySignature </item> + <item> lyricMelismaAlignment </item> + <item> majorSevenSymbol </item> + <item> markFormatter </item> + <item> maximumFretStretch </item> + <item> measureLength </item> + <item> measurePosition </item> + <item> melismaBusyProperties </item> + <item> metronomeMarkFormatter </item> + <item> middleCClefPosition </item> + <item> middleCOffset </item> + <item> middleCPosition </item> + <item> midiInstrument </item> + <item> midiMaximumVolume </item> + <item> midiMinimumVolume </item> + <item> minimumFret </item> + <item> minimumPageTurnLength </item> + <item> minimumRepeatLengthForPageTurn </item> + <item> noteToFretFunction </item> + <item> ottavation </item> + <item> output </item> + <item> pedalSostenutoStrings </item> + <item> pedalSostenutoStyle </item> + <item> pedalSustainStrings </item> + <item> pedalSustainStyle </item> + <item> pedalUnaCordaStrings </item> + <item> pedalUnaCordaStyle </item> + <item> printKeyCancellation </item> + <item> printOctaveNames </item> + <item> printPartCombineTexts </item> + <item> proportionalNotationDuration </item> + <item> recordEventSequence </item> + <item> rehearsalMark </item> + <item> repeatCommands </item> + <item> restNumberThreshold </item> + <item> scriptDefinitions </item> + <item> shapeNoteStyles </item> + <item> shortInstrumentName </item> + <item> shortVocalName </item> + <item> skipBars </item> + <item> skipTypesetting </item> + <item> soloIIText </item> + <item> soloText </item> + <item> squashedPosition </item> + <item> staffLineLayoutFunction </item> + <item> stanza </item> + <item> stemLeftBeamCount </item> + <item> stemRightBeamCount </item> + <item> stringNumberOrientations </item> + <item> stringOneTopmost </item> + <item> stringTunings </item> + <item> strokeFingerOrientations </item> + <item> subdivideBeams </item> + <item> suggestAccidentals </item> + <item> systemStartDelimiter </item> + <item> systemStartDelimiterHierarchy </item> + <item> tablatureFormat </item> + <item> tempoUnitCount </item> + <item> tempoUnitDuration </item> + <item> tempoWholesPerMinute </item> + <item> tieWaitForNote </item> + <item> timeSignatureFraction </item> + <item> timing </item> + <item> tonic </item> + <item> trebleStaffProperties </item> + <item> tremoloFlags </item> + <item> tupletFullLength </item> + <item> tupletFullLengthNote </item> + <item> tupletSpannerDuration </item> + <item> useBassFigureExtenders </item> + <item> verticallySpacedContexts </item> + <item> vocalName </item> + <item> voltaOnThisStaff </item> + <item> voltaSpannerDuration </item> + <item> whichBar </item> + </list> + <list name="deprecatedproperties"> + <item> barNumberAlignSymbol </item> + <item> centralCPosition </item> + <item> extraVerticalExtent </item> + <item> fingerHorizontalDirection </item> + <item> instr </item> + <item> instrument </item> + <item> keyAccidentalOrder </item> + <item> minimumVerticalExtent </item> + <item> rehearsalMarkAlignSymbol </item> + <item> soloADue </item> + <item> tupletNumberFormatFunction </item> + <item> vocNam </item> + </list> + <list name="musicexpressions"> + <item> AbsoluteDynamicEvent </item> + <item> AnnotateOutputEvent </item> + <item> ApplyContext </item> + <item> ApplyOutputEvent </item> + <item> ArpeggioEvent </item> + <item> ArticulationEvent </item> + <item> AutoChangeMusic </item> + <item> BarCheck </item> + <item> BassFigureEvent </item> + <item> BeamEvent </item> + <item> BeamForbidEvent </item> + <item> BendAfterEvent </item> + <item> BreathingEvent </item> + <item> ClusterNoteEvent </item> + <item> ContextChange </item> + <item> ContextSpeccedMusic </item> + <item> CrescendoEvent </item> + <item> DecrescendoEvent </item> + <item> Event </item> + <item> EventChord </item> + <item> ExtenderEvent </item> + <item> FingeringEvent </item> + <item> GlissandoEvent </item> + <item> GraceMusic </item> + <item> HarmonicEvent </item> + <item> HyphenEvent </item> + <item> KeyChangeEvent </item> + <item> LabelEvent </item> + <item> LaissezVibrerEvent </item> + <item> LigatureEvent </item> + <item> LineBreakEvent </item> + <item> LyricCombineMusic </item> + <item> LyricEvent </item> + <item> MarkEvent </item> + <item> MultiMeasureRestEvent </item> + <item> MultiMeasureRestMusic </item> + <item> MultiMeasureTextEvent </item> + <item> Music </item> + <item> NoteEvent </item> + <item> NoteGroupingEvent </item> + <item> OverrideProperty </item> + <item> PageBreakEvent </item> + <item> PageTurnEvent </item> + <item> PartCombineMusic </item> + <item> PercentEvent </item> + <item> PercentRepeatedMusic </item> + <item> PesOrFlexaEvent </item> + <item> PhrasingSlurEvent </item> + <item> PropertySet </item> + <item> PropertyUnset </item> + <item> QuoteMusic </item> + <item> RelativeOctaveCheck </item> + <item> RelativeOctaveMusic </item> + <item> RepeatTieEvent </item> + <item> RepeatedMusic </item> + <item> RestEvent </item> + <item> RevertProperty </item> + <item> ScriptEvent </item> + <item> SequentialMusic </item> + <item> SimultaneousMusic </item> + <item> SkipEvent </item> + <item> SkipMusic </item> + <item> SlurEvent </item> + <item> SoloOneEvent </item> + <item> SoloTwoEvent </item> + <item> SostenutoEvent </item> + <item> SpacingSectionEvent </item> + <item> SpanEvent </item> + <item> StaffSpanEvent </item> + <item> StringNumberEvent </item> + <item> StrokeFingerEvent </item> + <item> SustainEvent </item> + <item> TextScriptEvent </item> + <item> TextSpanEvent </item> + <item> TieEvent </item> + <item> TimeScaledMusic </item> + <item> TransposedMusic </item> + <item> TremoloEvent </item> + <item> TremoloRepeatedMusic </item> + <item> TremoloSpanEvent </item> + <item> TrillSpanEvent </item> + <item> TupletSpanEvent </item> + <item> UnaCordaEvent </item> + <item> UnfoldedRepeatedMusic </item> + <item> UnisonoEvent </item> + <item> UnrelativableMusic </item> + <item> VoiceSeparator </item> + <item> VoltaRepeatedMusic </item> + </list> + <list name="drumpitchnames"> + <item> acousticbassdrum </item> + <item> acousticsnare </item> + <item> agh </item> + <item> agl </item> + <item> bassdrum </item> + <item> bd </item> + <item> bda </item> + <item> boh </item> + <item> bohm </item> + <item> boho </item> + <item> bol </item> + <item> bolm </item> + <item> bolo </item> + <item> cab </item> + <item> cabasa </item> + <item> cb </item> + <item> cgh </item> + <item> cghm </item> + <item> cgho </item> + <item> cgl </item> + <item> cglm </item> + <item> cglo </item> + <item> chinesecymbal </item> + <item> cl </item> + <item> claves </item> + <item> closedhihat </item> + <item> cowbell </item> + <item> crashcymbal </item> + <item> crashcymbala </item> + <item> crashcymbalb </item> + <item> cuim </item> + <item> cuio </item> + <item> cymc </item> + <item> cymca </item> + <item> cymcb </item> + <item> cymch </item> + <item> cymr </item> + <item> cymra </item> + <item> cymrb </item> + <item> cyms </item> + <item> da </item> + <item> db </item> + <item> dc </item> + <item> dd </item> + <item> de </item> + <item> electricsnare </item> + <item> fivedown </item> + <item> fiveup </item> + <item> fourdown </item> + <item> fourup </item> + <item> gui </item> + <item> guil </item> + <item> guiro </item> + <item> guis </item> + <item> halfopenhihat </item> + <item> handclap </item> + <item> hc </item> + <item> hh </item> + <item> hhc </item> + <item> hhho </item> + <item> hho </item> + <item> hhp </item> + <item> hiagogo </item> + <item> hibongo </item> + <item> hiconga </item> + <item> highfloortom </item> + <item> hightom </item> + <item> hihat </item> + <item> himidtom </item> + <item> hisidestick </item> + <item> hitimbale </item> + <item> hiwoodblock </item> + <item> loagogo </item> + <item> lobongo </item> + <item> loconga </item> + <item> longguiro </item> + <item> longwhistle </item> + <item> losidestick </item> + <item> lotimbale </item> + <item> lowfloortom </item> + <item> lowmidtom </item> + <item> lowoodblock </item> + <item> lowtom </item> + <item> mar </item> + <item> maracas </item> + <item> mutecuica </item> + <item> mutehibongo </item> + <item> mutehiconga </item> + <item> mutelobongo </item> + <item> muteloconga </item> + <item> mutetriangle </item> + <item> onedown </item> + <item> oneup </item> + <item> opencuica </item> + <item> openhibongo </item> + <item> openhiconga </item> + <item> openhihat </item> + <item> openlobongo </item> + <item> openloconga </item> + <item> opentriangle </item> + <item> pedalhihat </item> + <item> rb </item> + <item> ridebell </item> + <item> ridecymbal </item> + <item> ridecymbala </item> + <item> ridecymbalb </item> + <item> shortguiro </item> + <item> shortwhistle </item> + <item> sidestick </item> + <item> sn </item> + <item> sna </item> + <item> snare </item> + <item> sne </item> + <item> splashcymbal </item> + <item> ss </item> + <item> ssh </item> + <item> ssl </item> + <item> tamb </item> + <item> tambourine </item> + <item> tamtam </item> + <item> threedown </item> + <item> threeup </item> + <item> timh </item> + <item> timl </item> + <item> tomfh </item> + <item> tomfl </item> + <item> tomh </item> + <item> toml </item> + <item> tommh </item> + <item> tomml </item> + <item> tri </item> + <item> triangle </item> + <item> trim </item> + <item> trio </item> + <item> tt </item> + <item> twodown </item> + <item> twoup </item> + <item> ua </item> + <item> ub </item> + <item> uc </item> + <item> ud </item> + <item> ue </item> + <item> vibraslap </item> + <item> vibs </item> + <item> wbh </item> + <item> wbl </item> + <item> whl </item> + <item> whs </item> + </list> + <contexts> + <!-- Entry point --> + <context name="lilypond" attribute="Normal Text" lineEndContext="#stay"> + <IncludeRules context="music"/> + <RegExpr String="\b[a-z]+\s*=" insensitive="true" lookAhead="true" context="assignment"/> + </context> + + <!-- Music expressions --> + <context name="music" attribute="Normal Text" lineEndContext="#stay"> + <AnyChar String="()~" attribute="Slur"/> + <AnyChar String="[]" attribute="Beam"/> + <AnyChar String="-_^" context="connect"/> + <DetectChar char="\" context="musiccommand" lookAhead="true"/> + <IncludeRules context="default"/> + <DetectChar char="<" attribute="Chord" context="chord"/> + <DetectChar char=">" attribute="Invalid"/><!-- chord terminator outsite chord --> + <RegExpr String="[a-z]+\d+\.*[,']+" attribute="Invalid"/><!-- pitch-dur-octave i.s.o. pitch-oct-dur --> + <RegExpr String="(&rest;|&pitch;)" context="pitch"/> + <RegExpr String=":\d*" attribute="Tremolo"/> + </context> + + <!-- Default Lilypond code to be recognized e.g. also inside lyrics --> + <context name="default" attribute="Normal Text" lineEndContext="#stay"> + <Detect2Chars char="<" char1="<" attribute="Keyword" beginRegion="simultaneous"/> + <Detect2Chars char=">" char1=">" attribute="Keyword" endRegion="simultaneous"/> + <DetectChar char="{" attribute="Keyword" beginRegion="sequential"/> + <DetectChar char="}" attribute="Keyword" endRegion="sequential"/> + <DetectChar char="|" attribute="Check"/> + <DetectChar char="\" context="command" lookAhead="true"/> + <IncludeRules context="basic"/> + </context> + + <!-- Basic Lilypond syntax that also works inside markup --> + <context name="basic" attribute="Normal Text" lineEndContext="#stay"> + <Detect2Chars char="%" char1="{" context="commentblock" beginRegion="comment"/> + <DetectChar char="%" context="commentline"/> + <DetectChar char=""" context="string"/> + <DetectChar char="#" context="scheme"/> + <DetectChar char="$" context="schemesub"/> + </context> + + <context name="musiccommand" attribute="Normal Text" lineEndContext="#pop" + fallthrough="true" fallthroughContext="#pop"> + <RegExpr String="\\(&dynamics;)&b;" attribute="Dynamic"/> + <RegExpr String="\\[<!>]" attribute="Dynamic"/> + <RegExpr String="\\(&scripts;)&b;" attribute="Articulation"/> + <RegExpr String="\\[()]" attribute="Slur"/> + <RegExpr String="\\[][]" attribute="Beam"/> + <IncludeRules context="command"/> + </context> + + <context name="command" attribute="Normal Text" lineEndContext="#pop" + fallthrough="true" fallthroughContext="#pop"> + <Detect2Chars char="\" char1="\" attribute="Keyword"/> + <RegExpr String="\\note(mode|s)&b;" context="notemode"/> + <RegExpr String="\\drum(mode|s)&b;" context="drummode"/> + <RegExpr String="\\chord(mode|s)&b;" context="chordmode"/> + <RegExpr String="\\figure(mode|s)&b;" context="figuremode"/> + <RegExpr String="\\(lyric(mode|s)|addlyrics)&b;" context="lyricmode"/> + <RegExpr String="\\lyricsto&b;" context="lyricsto"/> + <RegExpr String="\\markup(lines)?&b;" attribute="Markup" context="markup"/> + <RegExpr String="\\(header|paper|layout|midi|with)\b" context="section"/> + <RegExpr String="\\(new|context|change)\b" attribute="Keyword" context="context"/> + <RegExpr String="\\(un)?set\b" attribute="Keyword" context="set"/> + <RegExpr String="\\(override(Property)?|revert)&b;" attribute="Keyword" context="override"/> + <RegExpr String="\\skip&b;" attribute="Command" context="duration"/> + <RegExpr String="\\(&keywords;)&b;" attribute="Keyword"/> + <RegExpr String="\\(&commands;)&b;" attribute="Command"/> + <RegExpr String="\\(&toplevelvars;)&b;" attribute="Variable"/> + <RegExpr String="\\(&deprecatedkeywords;)&b;" attribute="Deprecated Keyword"/> + <RegExpr String="\\(&deprecatedcommands;)&b;" attribute="Deprecated Command"/> + <RegExpr String="\\(translator|newcontext)\b" attribute="Deprecated Keyword" context="context"/> + <RegExpr String="\\property&b;" attribute="Deprecated Keyword" context="override"/> + <RegExpr String="\\[A-Za-z]+" attribute="User Command"/> + <DetectChar char="\" attribute="Invalid"/> + </context> + + <context name="assignment" attribute="Normal Text" lineEndContext="#pop"> + <RegExpr String="\b(&toplevelvars;)\b" attribute="Variable" context="#pop"/> + <RegExpr String="[a-z]+" insensitive="true" attribute="User Command" context="#pop"/> + </context> + + <context name="pitch" attribute="Pitch" lineEndContext="#stay" + fallthrough="true" fallthroughContext="#pop"> + <RegExpr String="=\s*('+|,+)?" attribute="Check"/> + <IncludeRules context="duration"/> + </context> + + <context name="duration" attribute="Normal Text" lineEndContext="#stay" + fallthrough="true" fallthroughContext="#pop"> + <DetectSpaces attribute="Normal Text"/> + <RegExpr String="&duration;" attribute="Duration" context="#pop"/> + <RegExpr String="\d+" attribute="Invalid" context="#pop"/><!-- uncaught (wrong) durations --> + </context> + + <context name="chord" attribute="Normal Text" lineEndContext="#stay"> + <DetectChar char=">" context="chordend"/> + <RegExpr String="&pitch;" context="chordpitch"/> + <AnyChar String="<{}srR" attribute="Invalid"/><!-- no rests in chord allowed --> + <IncludeRules context="music"/> + </context> + + <context name="chordpitch" attribute="Pitch" lineEndContext="#stay" + fallthrough="true" fallthroughContext="#pop"> + <DetectSpaces attribute="Normal Text"/> + <RegExpr String="=\s*('+|,+)?" attribute="Check"/> + <RegExpr String="&duration;" attribute="Invalid" context="#pop"/><!-- no duration in chord allowed --> + <RegExpr String="\d+" attribute="Invalid" context="#pop"/><!-- catch other (wrong) durations as well --> + </context> + + <context name="chordend" attribute="Chord" lineEndContext="#stay" + fallthrough="true" fallthroughContext="#pop#pop"> + <DetectSpaces attribute="Normal Text"/> + <RegExpr String="&duration;" attribute="Duration" context="#pop#pop"/> + </context> + + <context name="commentline" attribute="Comment" lineEndContext="#pop"> + <IncludeRules context="##Alerts"/> + </context> + + <context name="commentblock" attribute="Comment" lineEndContext="#stay"> + <Detect2Chars char="%" char1="}" attribute="Comment" context="#pop" endRegion="comment"/> + <IncludeRules context="##Alerts"/> + </context> + + <context name="string" attribute="Quoted Text" lineEndContext="#stay"> + <DetectChar char=""" attribute="Quoted Text" context="#pop"/> + <Detect2Chars char="\" char1="\"/> + <Detect2Chars char="\" char1="""/> + </context> + + <context name="connect" attribute="Articulation" lineEndContext="#stay" + fallthrough="true" fallthroughContext="#pop"> + <AnyChar String=".-+|>^_12345" attribute="Articulation" context="#pop"/> + </context> + + <!-- Scheme --> + <context name="scheme" attribute="Scheme" lineEndContext="#stay" + fallthrough="true" fallthroughContext="scheme2"> + <DetectSpaces/> + </context> + + <context name="scheme2" attribute="Scheme" lineEndContext="#pop#pop"> + <DetectChar char="(" attribute="Scheme Keyword" context="scheme3" beginRegion="scheme"/> + <IncludeRules context="schemerules"/> + <DetectSpaces lookAhead="true" context="#pop#pop"/> + </context> + + <context name="scheme3" attribute="Scheme" lineEndContext="#stay"> + <DetectChar char=")" attribute="Scheme Keyword" context="#pop#pop#pop" endRegion="scheme"/> + <IncludeRules context="schemerules"/> + </context> + + <context name="schemerules" attribute="Scheme" lineEndContext="#stay"> + <DetectChar char="(" context="schemerules" beginRegion="scheme"/> + <DetectChar char=")" context="#pop" endRegion="scheme"/> + <DetectChar char=""" context="schemestring"/> + <DetectChar char=";" context="schemecommentline"/> + <DetectChar char="$" context="schemesub"/> + <DetectChar char="'" context="schemequote"/> + <Detect2Chars char="#" char1="!" context="schemecommentblock" beginRegion="schemecomment"/> + <Detect2Chars char="#" char1="{" attribute="Scheme Keyword" context="schemelily" beginRegion="schemelily"/> + <keyword String="musicexpressions" attribute="Scheme Keyword"/> + <keyword String="contexts" attribute="Scheme Keyword"/> + <keyword String="layoutobjects" attribute="Scheme Keyword"/> + <RegExpr String="[-+]?(\d+(\.\d+)?|\.\d+)" attribute="Scheme Value"/> + <RegExpr String="#(t|f|b[-+]?[01.]+|o[-+]?[0-7.]+|d[-+]?[0-9.]+|x[-+]?[0-9a-f.]+)" + insensitive="true" attribute="Scheme Value"/> + <RegExpr String="[+-](inf|nan)\.0" attribute="Scheme Value"/> + <RegExpr String="&schemefunc;" attribute="Scheme Keyword"/> + <RegExpr String="&schemename;"/> + </context> + + <context name="schemequote" attribute="Scheme" lineEndContext="#pop" + fallthrough="true" fallthroughContext="#pop"> + <RegExpr String="&schemefunc;"/> + </context> + + <context name="schemelily" attribute="Normal Text" lineEndContext="#stay"> + <Detect2Chars char="#" char1="}" attribute="Scheme Keyword" context="#pop" endRegion="schemelily"/> + <IncludeRules context="lilypond"/> + </context> + + <context name="schemecommentline" attribute="Scheme Comment" lineEndContext="#pop"> + <IncludeRules context="##Alerts"/> + </context> + + <context name="schemecommentblock" attribute="Scheme Comment" lineEndContext="#stay"> + <Detect2Chars char="!" char1="#" attribute="Scheme Comment" context="#pop" endRegion="schemecomment"/> + <IncludeRules context="##Alerts"/> + </context> + + <context name="schemesub" attribute="Scheme Subst" lineEndContext="#pop" + fallthrough="true" fallthroughContext="#pop"> + <RegExpr String="&schemename;" attribute="Scheme Subst" context="#pop"/> + </context> + + <context name="schemestring" attribute="Scheme String" lineEndContext="#stay"> + <DetectChar char=""" attribute="Scheme String" context="#pop"/> + <RegExpr String="\\[0fnrtav\\"]"/> + </context> + + <!-- NoteMode --> + <context name="notemode" attribute="Other Mode" lineEndContext="#stay" + fallthrough="true" fallthroughContext="#pop"> + <DetectChar char="{" attribute="Keyword" context="notemode2" beginRegion="sequential"/> + <DetectSpaces/> + </context> + + <context name="notemode2" attribute="Normal Text" lineEndContext="#stay"> + <DetectChar char="}" attribute="Keyword" context="#pop#pop" endRegion="sequential"/> + <IncludeRules context="noterules"/> + </context> + + <context name="noterules" attribute="Normal Text" lineEndContext="#stay"> + <DetectChar char="{" attribute="Keyword" context="noterules" beginRegion="sequential"/> + <DetectChar char="}" attribute="Keyword" context="#pop" endRegion="sequential"/> + <IncludeRules context="music"/> + </context> + + <!-- Drummode --> + <context name="drummode" attribute="Other Mode" lineEndContext="#stay" + fallthrough="true" fallthroughContext="#pop"> + <DetectChar char="{" attribute="Keyword" context="drummode2" beginRegion="sequential"/> + <DetectSpaces/> + </context> + + <context name="drummode2" attribute="Normal Text" lineEndContext="#stay"> + <DetectChar char="}" attribute="Keyword" context="#pop#pop" endRegion="sequential"/> + <IncludeRules context="drumrules"/> + </context> + + <context name="drumrules" attribute="Normal Text" lineEndContext="#stay"> + <DetectChar char="{" attribute="Keyword" context="drumrules" beginRegion="sequential"/> + <DetectChar char="}" attribute="Keyword" context="#pop" endRegion="sequential"/> + <keyword attribute="Other Text" String="drumpitchnames" context="duration"/> + <IncludeRules context="music"/> + </context> + + <!-- Chordmode --> + <context name="chordmode" attribute="Other Mode" lineEndContext="#stay" + fallthrough="true" fallthroughContext="#pop"> + <DetectChar char="{" attribute="Keyword" context="chordmode2" beginRegion="sequential"/> + <DetectSpaces/> + </context> + + <context name="chordmode2" attribute="Normal Text" lineEndContext="#stay"> + <DetectChar char="}" attribute="Keyword" context="#pop#pop" endRegion="sequential"/> + <IncludeRules context="chordrules"/> + </context> + + <context name="chordrules" attribute="Normal Text" lineEndContext="#stay"> + <DetectChar char="{" attribute="Keyword" context="chordrules" beginRegion="sequential"/> + <DetectChar char="}" attribute="Keyword" context="#pop" endRegion="sequential"/> + <RegExpr attribute="Other Text" String=":?([\.^]?\d+[-+]?|(m|dim|aug|maj|sus)&b;)*(/\+?&pitch;)?"/> + <IncludeRules context="music"/> + </context> + + <!-- Figuremode --> + <context name="figuremode" attribute="Other Mode" lineEndContext="#stay" + fallthrough="true" fallthroughContext="#pop"> + <DetectChar char="{" attribute="Keyword" context="figuremode2" beginRegion="sequential"/> + <DetectSpaces/> + </context> + + <context name="figuremode2" attribute="Normal Text" lineEndContext="#stay"> + <DetectChar char="}" attribute="Keyword" context="#pop#pop" endRegion="sequential"/> + <IncludeRules context="figurerules"/> + </context> + + <context name="figurerules" attribute="Normal Text" lineEndContext="#stay"> + <DetectChar char="{" attribute="Keyword" context="figurerules" beginRegion="sequential"/> + <DetectChar char="}" attribute="Keyword" context="#pop" endRegion="sequential"/> + <DetectChar char="<" attribute="Chord" context="figure"/> + <RegExpr String="&rest;" attribute="Pitch" context="duration"/> + <IncludeRules context="default"/> + </context> + + <context name="figure" attribute="Normal Text" lineEndContext="#stay"> + <DetectChar char=">" attribute="Chord" context="chordend"/> + <IncludeRules context="basic"/> + <RegExpr String="\\markup(lines)?&b;" attribute="Markup" context="markup"/> + <RegExpr String="\\skip&b;" attribute="Command" context="duration"/> + </context> + + <!-- Lyrics --> + <context name="lyricmode" attribute="Lyricmode" lineEndContext="#stay" + fallthrough="true" fallthroughContext="#pop"> + <DetectChar char="{" attribute="Keyword" context="lyricmode2" beginRegion="sequential"/> + <DetectSpaces/> + </context> + + <context name="lyricmode2" attribute="Lyric Text" lineEndContext="#stay"> + <DetectChar char="}" attribute="Keyword" context="#pop#pop" endRegion="sequential"/> + <IncludeRules context="lyricrules"/> + </context> + + <!-- LyricsTo has extra parameter --> + <context name="lyricsto" attribute="Lyricmode" lineEndContext="#stay" + fallthrough="true" fallthroughContext="#pop"> + <RegExpr String=""(\\["\\]|[^"\\])+"" attribute="Quoted Text" context="lyricsto2"/> + <RegExpr String="[A-Za-z]+" attribute="Normal Text" context="lyricsto2"/> + <DetectSpaces/> + </context> + + <context name="lyricsto2" attribute="Normal Text" lineEndContext="#stay" + fallthrough="true" fallthroughContext="#pop#pop"> + <DetectChar char="{" attribute="Keyword" context="lyricsto3" beginRegion="sequential"/> + <DetectSpaces/> + </context> + + <context name="lyricsto3" attribute="Lyric Text" lineEndContext="#stay"> + <DetectChar char="}" attribute="Keyword" context="#pop#pop#pop" endRegion="sequential"/> + <IncludeRules context="lyricrules"/> + </context> + + <context name="lyricrules" attribute="Lyric Text" lineEndContext="#stay"> + <DetectChar char="{" attribute="Keyword" context="lyricrules" beginRegion="sequential"/> + <DetectChar char="}" attribute="Keyword" context="#pop" endRegion="sequential"/> + <RegExpr String="(\w+-{2,}|\w+_{2,}|-{2,}\w+|_{2,}\w+)" attribute="Invalid"/><!-- two hyphens or underscores run together with a word --> + <RegExpr String="&duration;" attribute="Duration"/> + <RegExpr String="(--|__|_)" attribute="Lyricmode"/> + <IncludeRules context="default"/> + <RegExpr String="\S+\}" attribute="Invalid" context="#pop" endRegion="sequential"/> + </context> + + <!-- Markup --> + <context name="markup" attribute="Normal Text" lineEndContext="#stay" + fallthrough="true" fallthroughContext="#pop"> + <DetectChar char="{" attribute="Keyword" context="markup2" beginRegion="markup"/> + <DetectSpaces/> + <RegExpr String="\\score\b" attribute="Markup" context="notemode"/> + <RegExpr String="\\(&markupwithtextargs;)&b;" attribute="Markup"/> + <RegExpr String="\\(&markupnotextargs;)&b;" attribute="Markup" context="#pop"/> + <DetectChar char="#" context="scheme"/> + <RegExpr String="[^"\s\\#%{}$]+" attribute="Normal Text" context="#pop"/> + </context> + + <context name="markup2" attribute="Normal Text" lineEndContext="#stay"> + <DetectChar char="}" attribute="Keyword" context="#pop#pop" endRegion="markup"/> + <IncludeRules context="markuprules"/> + </context> + + <context name="markuprules" attribute="Normal Text" lineEndContext="#stay"> + <DetectChar char="}" attribute="Keyword" context="#pop" endRegion="markup"/> + <DetectChar char="{" attribute="Keyword" context="markuprules" beginRegion="markup"/> + <RegExpr String="\\score\b" attribute="Markup" context="notemode"/> + <RegExpr String="\\(&markupnotextargs;|&markupwithtextargs;)&b;" attribute="Markup"/> + <RegExpr String="\\(&deprecatedmarkup;)&b;" attribute="Deprecated Markup"/> + <RegExpr String="\\[A-Za-z]+(-[A-Za-z]+)*" attribute="User Command"/> + <IncludeRules context="basic"/> + </context> + + <!-- \paper, \layout, \midi, \header, \with --> + <context name="section" attribute="Keyword" lineEndContext="#stay" + fallthrough="true" fallthroughContext="#pop"> + <DetectChar char="{" attribute="Keyword" context="section2" beginRegion="section"/> + <DetectSpaces/> + </context> + + <context name="section2" attribute="Normal Text" lineEndContext="#stay"> + <DetectChar char="}" attribute="Keyword" context="#pop#pop" endRegion="section"/> + <IncludeRules context="sectionrules"/> + </context> + + <context name="sectionrules" attribute="Normal Text" lineEndContext="#stay"> + <DetectChar char="}" attribute="Keyword" context="#pop" endRegion="section"/> + <DetectChar char="{" attribute="Keyword" context="sectionrules" beginRegion="section"/> + <keyword String="contexts" attribute="Context"/> + <keyword String="layoutobjects" attribute="Layout Object"/> + <keyword String="properties" attribute="Property"/> + <keyword String="deprecatedproperties" attribute="Deprecated Property"/> + <RegExpr String="\b(&headervars;|&papervars;|&layoutvars;)\b" attribute="Variable"/> + <RegExpr String="("?)\b(&engravers;)\b\1" attribute="Engraver"/> + <IncludeRules context="default"/> + </context> + + <!-- \new, \context, \change --> + <context name="context" attribute="Normal Text" lineEndContext="#stay" + fallthrough="true" fallthroughContext="#pop"> + <DetectSpaces/> + <keyword String="contexts" attribute="Context" context="context2"/> + <RegExpr String="[A-Za-z]+" attribute="User Command" context="context2"/> + <DetectChar char="{" attribute="Keyword" context="section2" beginRegion="section"/> + </context> + + <context name="context2" attribute="Normal Text" lineEndContext="#stay" + fallthrough="true" fallthroughContext="#pop#pop"> + <DetectSpaces/> + <RegExpr String="=(\s*[A-Za-z]+)?" attribute="Normal Text" context="#pop#pop"/> + </context> + + <!-- \set, \unset --> + <context name="set" attribute="Normal Text" lineEndContext="#stay" + fallthrough="true" fallthroughContext="#pop"> + <DetectSpaces/> + <keyword String="contexts" attribute="Context"/> + <DetectChar char="."/> + <keyword String="properties" attribute="Property" context="#pop"/> + <keyword String="deprecatedproperties" attribute="Deprecated Property" context="#pop"/> + <RegExpr String="[A-Za-z]+" attribute="User Command" context="#pop"/> + </context> + + <!-- \override, \overrideProperty, \revert --> + <context name="override" attribute="Normal Text" lineEndContext="#stay" + fallthrough="true" fallthroughContext="#pop"> + <DetectSpaces/> + <keyword String="contexts" attribute="Context"/> + <DetectChar char="."/> + <keyword String="layoutobjects" attribute="Layout Object" context="#pop"/> + <RegExpr String="[A-Za-z]+(?=\s*\.)" attribute="User Command"/> + <RegExpr String="[A-Za-z]+" attribute="User Command" context="#pop"/> + </context> + </contexts> + <itemDatas> + <itemData name="Pitch" defStyleNum="dsNormal"/> + <itemData name="Duration" defStyleNum="dsDataType"/> + <itemData name="Slur" defStyleNum="dsChar" bold="true"/> + <itemData name="Dynamic" defStyleNum="dsString" color="#ee5000" bold="true"/> + <itemData name="Articulation" defStyleNum="dsString" color="#ee5000" bold="true"/> + <itemData name="Chord" defStyleNum="dsDataType" bold="true"/> + <itemData name="Beam" defStyleNum="dsDataType" bold="true"/> + <itemData name="Check" defStyleNum="dsDecVal"/> + <itemData name="Repeat" defStyleNum="dsDataType" italic="true"/> + <itemData name="Keyword" defStyleNum="dsKeyword"/> + <itemData name="Command" defStyleNum="dsFunction" bold="true"/> + <itemData name="User Command" defStyleNum="dsFunction"/> + <itemData name="Context" defStyleNum="dsDataType" bold="true"/> + <itemData name="Layout Object" defStyleNum="dsDataType"/> + <itemData name="Property" defStyleNum="dsDataType"/> + <itemData name="Variable" defStyleNum="dsDataType"/> + <itemData name="Engraver" defStyleNum="dsDataType"/> + <itemData name="Markup" defStyleNum="dsBaseN" color="#009817"/> + <itemData name="Lyricmode" defStyleNum="dsKeyword" color="#007010"/> + <itemData name="Lyric Text" defStyleNum="dsNormal" color="#007010"/> + <itemData name="Other Mode" defStyleNum="dsKeyword" color="#0094e4"/> + <itemData name="Other Text" defStyleNum="dsNormal" color="#0094e4"/> + <itemData name="Normal Text" defStyleNum="dsNormal"/> + <itemData name="Quoted Text" defStyleNum="dsString"/> + <itemData name="Comment" defStyleNum="dsComment"/> + <itemData name="Scheme" defStyleNum="dsFloat" backgroundColor="#fff6ff"/> + <itemData name="Scheme Keyword" defStyleNum="dsFloat" bold="true" backgroundColor="#fff6ff"/> + <itemData name="Scheme Subst" defStyleNum="dsDecVal" bold="true" backgroundColor="#fff6ff"/> + <itemData name="Scheme Value" defStyleNum="dsDecVal" backgroundColor="#fff6ff"/> + <itemData name="Scheme String" defStyleNum="dsString" backgroundColor="#fff6ff"/> + <itemData name="Scheme Comment" defStyleNum="dsComment" backgroundColor="#fff6ff"/> + <itemData name="Deprecated Keyword" defStyleNum="dsKeyword" backgroundColor="#fcc"/> + <itemData name="Deprecated Command" defStyleNum="dsFunction" backgroundColor="#fcc"/> + <itemData name="Deprecated Property" defStyleNum="dsDataType" backgroundColor="#fcc"/> + <itemData name="Deprecated Markup" defStyleNum="dsBaseN" color="#009817" backgroundColor="#fcc"/> + <itemData name="Invalid" defStyleNum="dsError"/> + </itemDatas> + </highlighting> + <general> + <comments> + <comment name="singleLine" start="%"/> + <comment name="multiLine" start="%{" end="%}" region="comment"/> + </comments> + <keywords casesensitive="true" additionalDeliminator="'_0123456789"/> + </general> + +</language> +<!-- + // kate: space-indent on; indent-width 2; replace-tabs on; dynamic-word-wrap off; + --> |