% This is a file to test the Lilypond highlighting features of Katepart. % This is NOT a valid lilypond file, because it also shows the % highlighting of some invalid lilypond constructs! % This is a line comment. %{ this is a block comment, that can occur inside a line, or across multiple lines. %} \header { title = "Katepart Lilypond syntax highlighting test file" composer = %{"Wilbert Berendsen"%} "Anonymus" poet = "The KDE team" opus = "1" copyright = "Share and enjoy!" } \paper { #(set-paper-size "a4") % a hash introduces scheme indent = 0 % recognize variable names inside \paper, \layout etc. between-system-space = 3\mm } \layout { \context { \Score \remove Bar_number_engraver % recognize engraver names \remove "Bar_number_engraver" % also when quoted! } } % { and << block are folded \score { \new StaffGroup << \new ChordNames \chordmode { c2sus4/f g2/d c1 } \new Staff \new Voice ="mel" { \key f \major \time 4/4 \partial 4 \set Staff.instrumentName = "Bla." \once \override Staff.NoteHead #'color = #red % dynamics, articulations and markup c8\p d\< e-. f-> g a\f c-5\markup {Hoi} \notemode { c d e f } \repeat volta 2 { % complex durations are highlighted: g4*2/3 } \times 2/3 {e8 f g} % there is some error checking: % often made mistake to have octavemarks after the duration: c2' % invalid durations are caught: g3 } \context Lyrics \lyricsto "mel" { \set fontSize = #1 this is a line of ly -- rics. with4 dur -- a -- tions.2. % errors like forgetting spaces are found: space-- flight %{i.s.o.%} space -- flight space at end for -- got -- ten as well.} \new DrumStaff \drummode { hihat4 bassdrum8 } \new FiguredBass \figuremode { <5 4>8 <6-> } >> \midi { \context { \Score tempoWholesPerMinute = #(ly:make-moment 60 2) } } } av = #(define-music-function (parser location voice) (string?) ; scheme comments are recognized in scheme ; Lilypond inside scheme works as well: #{ \set associatedVoice = $voice #}) % inside scheme some elements are highlighted: #(define (naturalise-pitch p) (let* ((o (ly:pitch-octave p)) (a (* 4 (ly:pitch-alteration p))) (n (ly:pitch-notename p))) (bla 'ArticulationEvent 'ChoirStaff) (cond ((> a 2) (set! a (- a 4)) (set! n (+ n 1))) ((< a -2) (set! a (+ a 4)) (set! n (- n 1)))) (if (< n 0) (begin (set! o (- o 1)) (set! n (+ n 7)))) (if (> n 6) (begin (set! o (+ o 1)) (set! n (- n 7)))) (ly:make-pitch o n (/ a 4)))) % markup is also highlighted \markup { \line { text test Voice Staff % note Lilypond keywords are not highlighted here } \score { \relative c' { <ceg>2( d) } } \italic bla \override #'(baseline-skip . 2) { \underline blu } }