f64e5e2818fb49d4e732ad56289c477604e1f8df
The ChordPro parser previously skipped all blank lines unconditionally,
causing songs without explicit {start_of_verse}/{end_of_verse} directives
to be parsed as a single section. This adds an explicitSection flag to
track whether a section was started by an explicit directive or implicitly.
Blank lines now flush implicit sections, allowing the next lyric line to
start a new implicit VERSE section. Explicit sections still ignore blank
lines as before.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Description
Kotlin/JVM toolset for generating a scout songbook PDF from ChordPro files