summaryrefslogtreecommitdiff
path: root/lib/kernel/colour.ml
diff options
context:
space:
mode:
Diffstat (limited to 'lib/kernel/colour.ml')
-rw-r--r--lib/kernel/colour.ml14
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/kernel/colour.ml b/lib/kernel/colour.ml
new file mode 100644
index 0000000..c7f81c2
--- /dev/null
+++ b/lib/kernel/colour.ml
@@ -0,0 +1,14 @@
+(* Liturgical colours. Shared across Roman rites (spec ยง2.1): not
+ rite-parametric, because EF and OF use the same six. *)
+type t = White | Red | Green | Violet | Rose | Black [@@deriving sexp]
+
+let all = [ White; Red; Green; Violet; Rose; Black ]
+
+let to_string = function
+ | White -> "white" | Red -> "red" | Green -> "green"
+ | Violet -> "violet" | Rose -> "rose" | Black -> "black"
+
+let of_string = function
+ | "white" -> Some White | "red" -> Some Red | "green" -> Some Green
+ | "violet" -> Some Violet | "rose" -> Some Rose | "black" -> Some Black
+ | _ -> None