summaryrefslogtreecommitdiff
path: root/lib/kernel/colour.ml
blob: c7f81c2414ba164be77a404a1854652ad9fd25d1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
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