diff --git a/lib/syntax/timestamp.ml b/lib/syntax/timestamp.ml index 9eb39a6..b5a31d0 100644 --- a/lib/syntax/timestamp.ml +++ b/lib/syntax/timestamp.ml @@ -10,6 +10,7 @@ type date = type time = { hour : int ; min : int + ; second : int } [@@deriving yojson] @@ -56,8 +57,12 @@ let null_date = { year = 0; month = 0; day = 0 } (* let null_time = {min= 0; hour= 0} *) let parse_time s = - try Scanf.sscanf s "%d:%d" (fun hour min -> Some { hour; min }) - with _ -> None + try + Scanf.sscanf s "%d:%d:%d" (fun hour min second -> + Some { hour; min; second }) + with _ -> ( + try Scanf.sscanf s "%d:%d" (fun hour min -> Some { hour; min; second = 0 }) + with _ -> None) let parse_date s = try diff --git a/test/test_outline_markdown.ml b/test/test_outline_markdown.ml index 2de6c2a..d2af3ba 100644 --- a/test/test_outline_markdown.ml +++ b/test/test_outline_markdown.ml @@ -518,7 +518,7 @@ let inline = Timestamp. { date = { year = 2004; month = 12; day = 25 } ; wday = "Sat" - ; time = Some { hour = 10; min = 0 } + ; time = Some { hour = 10; min = 0; second = 0 } ; repetition = None ; active = true }) @@ -574,7 +574,7 @@ let inline = Timestamp. { date = { year = 2004; month = 12; day = 25 } ; wday = "Sat" - ; time = Some { hour = 10; min = 0 } + ; time = Some { hour = 10; min = 0; second = 0 } ; repetition = None ; active = true })