Add provision for scaling durations.
Add scope for time signatures.
Add scope for tempo or tempo range.

This prevents the tilde from being colored as a slur in tempo expressions.
Fix: Tempo indications may use dotted note value.
Dotted values can have an arbitrary number of dots.
Rationalize number/duration scopes.

All durations are now handled within the note or chord scopes.

The number scope is now reverted to its earlier, simpler form.

Better handle white space within note and chord scopes.
Add keywords for the four repeat types.
Add provision for circled fingerings.
Add support for ligatures.
Add support for abbreviated tremolo notation.

Subsume abbreviated tremolo notation into note scope.
Significantly increased tolerance to eccentric whitespaces.

Improved handling of whitespace in notes, chords, time signatures, keywords, numbers.
Change scope for articulation marks.

This is for the sake of differentiation from hairpins, which often are adacent to articulation marks, in the default ST color scheme.
Add support for chord mode syntax.
Refactor using multiple files for cleaner, more explicitly hierarchical, more extensible architecture.
Create syntax placeholder for figured bass mode in separate file. Reorder scopes so that the note mode scopes do not leak into the figured bass mode.

Include 'general' (a.k.a. 'LilyPond-internal') patterns within figured bass scope.

Add support for nesting between figured bass mode and note mode scopes.
Add separate file for note name and chord abbreviation scopes.

Improve detection of reserved words within figured bass scopes.
Move scope for LilyPond Scheme to separate file.
Major refactoring to follow the DRY principle.
Remove melisma scope for now to deal with text-related issues more comprehensively at a later stage.
Move time signature and tempo scopes to the global (internals) syntax file so that they are not preempted by the number scope.