aboutsummaryrefslogtreecommitdiff
path: root/internal/calendar/types.go
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-08-05 22:24:53 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-08-05 22:24:53 +0200
commit4855ef2a667b7ea71092e0582db5aff1838a0d63 (patch)
tree098d3a85c503f73d95c551f76e6f9f1d1ef1e208 /internal/calendar/types.go
parent8929ab96ad44b707bafd7dfe6f1f7773843c8e85 (diff)
downloadlectio-4855ef2a667b7ea71092e0582db5aff1838a0d63.tar.gz
lectio-4855ef2a667b7ea71092e0582db5aff1838a0d63.zip
calendar/readings: report Sunday as its own display rank, not solemnity
The Ordinary Form's Table of Liturgical Days treats Sunday as its own category, never a solemnity. temporal.go's sundayDay() already marks these days distinctly from named solemnities (Class stays unset, unlike solemn()'s ClassLord); internal/readings/offline.go now reads that existing signal to relabel the REPORTED rank to "sunday" for ordinary and privileged-season Sundays alike, leaving Celebration.Rank, ofRankOrder and all precedence untouched. Named solemnities landing on a Sunday (Easter, Pentecost, ...) and feasts of the Lord (Holy Family) keep reporting their own rank. The 1962 form is untouched. Added calendar.RankSunday (display-only, deliberately excluded from ofRankOrder), the i18n Sunday/niedziela words, and a test pinning the exact dates from the original bug report.
Diffstat (limited to 'internal/calendar/types.go')
-rw-r--r--internal/calendar/types.go12
1 files changed, 12 insertions, 0 deletions
diff --git a/internal/calendar/types.go b/internal/calendar/types.go
index 298e49d..6d828f1 100644
--- a/internal/calendar/types.go
+++ b/internal/calendar/types.go
@@ -17,6 +17,18 @@ const (
RankFeast Rank = "feast" //
RankSolemnity Rank = "solemnity" //
+ // RankSunday is a DISPLAY-ONLY rank: in the 1969 Universal Norms' Table of
+ // Liturgical Days, Sunday is its own category, never a solemnity (Sundays
+ // of Christmas Time/Ordinary Time are band 6, below feasts of the Lord;
+ // Sundays of Advent/Lent/Easter are band 2, above solemnities -- a flat
+ // Rank cannot express both bands, and this constant does not try to).
+ // Nothing in this package ever assigns it to Celebration.Rank, and it MUST
+ // NOT be added to ofRankOrder below: ofRankOrder's default case (0,
+ // ferial-level) would make every Sunday lose every precedence contest.
+ // Callers that want it derive it themselves from the already-computed,
+ // unchanged Celebration (see internal/readings/offline.go's displayRank).
+ RankSunday Rank = "sunday"
+
// Extraordinary Form ranks (1960 Code of Rubrics): I-IV class + commemoration.
RankClass1 Rank = "class-1"
RankClass2 Rank = "class-2"