diff options
Diffstat (limited to 'internal/cli/liturgy.go')
| -rw-r--r-- | internal/cli/liturgy.go | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/internal/cli/liturgy.go b/internal/cli/liturgy.go index 840e9a6..975917a 100644 --- a/internal/cli/liturgy.go +++ b/internal/cli/liturgy.go @@ -78,22 +78,25 @@ func printLiturgicalDay(out io.Writer, cfg config.Config, tbl *bible.BookTable, fmt.Fprintf(out, " also: %s [%s]\n", n, rankLabel(o.Rank)) } } - vern := vernacularVersion(cfg) + // Readings: the observed celebration's inline propers, else the temporal + // lectionary for the day (proper-of-feast overrides the temporal cycle). + var readings []calendar.Reading for _, m := range day.Observed.Masses { - for _, r := range m.Readings { - label := r.Part - if m.Variant != "" { - label = m.Variant + " " + label - } - disp, txt := readingLine(tbl, cfg, vern, r.Citation) - fmt.Fprintf(out, "\n %s (%s):\n", label, disp) - if txt != "" { - for _, line := range strings.Split(render.Wrap(txt, 72), "\n") { - fmt.Fprintf(out, " %s\n", line) - } - } else { - fmt.Fprintf(out, " (text not in %s)\n", vern) + readings = append(readings, m.Readings...) + } + if len(readings) == 0 { + readings = caldata.TemporalReadings(cfg.Selection().Form, day.Observed.Slug) + } + vern := vernacularVersion(cfg) + for _, r := range readings { + disp, txt := readingLine(tbl, cfg, vern, r.Citation) + fmt.Fprintf(out, "\n %s (%s):\n", r.Part, disp) + if txt != "" { + for _, line := range strings.Split(render.Wrap(txt, 72), "\n") { + fmt.Fprintf(out, " %s\n", line) } + } else { + fmt.Fprintf(out, " (text not in %s)\n", vern) } } } |
