summaryrefslogtreecommitdiff
path: root/2025/ocaml/lib/presentation/cli.ml
blob: 6344d07250ba5da8af5c03a018cac5816df93e95 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
let day_1_example = {|L68
L30
R48
L5
R60
L55
L1
L99
R14
L82|}

let run_day = function
  | 1 ->
      let answer = Application.Day_1.solve day_1_example () in
      Logs.app (fun m -> m "%d" answer) ;
      0
  | _ ->
      failwith "day not implemented"

let day_arg =
  let doc = "Day to run. MUST be in range of 1-12." in
  Cmdliner.Arg.(value & pos 0 int 1 & info [] ~docv:"DAY" ~doc)

let day_t = Cmdliner.Term.(const run_day $ day_arg)

let cmd =
  let info = Cmdliner.Cmd.info "aoc" ~version:"0.1.0" in
  Cmdliner.Cmd.v info day_t

let run () = Cmdliner.Cmd.eval' cmd