package crs

  1. Overview
  2. Docs
A tool for managing code review comments embedded in source code

Install

dune-project
 Dependency

Authors

Maintainers

Sources

crs-0.0.20250914.tbz
sha256=dad0c46a83ef40da150d8b840b01c66af3b979dfa7c3e17c3edef38aa84b804f
sha512=d7a8b2a34f4a3ddda0eaaa3e4248ec2870f944a5d64782bd73b031637b01e94a378d7534b1c02da739f32343b342ed8e8bf491e6442a3bd7b0e748bd61c58770

doc/src/crs.reviewdog/severity.ml.html

Source file severity.ml

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
31
32
33
34
35
(****************************************************************************)
(*  ocaml-reviewdog - A reviewdog diagnostics json serializer for OCaml     *)
(*  SPDX-FileCopyrightText: 2025 Mathieu Barbin <mathieu.barbin@gmail.com>  *)
(*  SPDX-License-Identifier: MIT                                            *)
(****************************************************************************)

type t =
  | Unknown_severity
  | Error
  | Warning
  | Info
[@@deriving compare, equal, enumerate]

let of_string = function
  | "UNKNOWN_SEVERITY" -> Ok Unknown_severity
  | "ERROR" -> Ok Error
  | "WARNING" -> Ok Warning
  | "INFO" -> Ok Info
  | str -> Error (Printf.sprintf "Invalid severity: %s" str)
;;

let to_string = function
  | Unknown_severity -> "UNKNOWN_SEVERITY"
  | Error -> "ERROR"
  | Warning -> "WARNING"
  | Info -> "INFO"
;;

let to_yojson t = `String (to_string t)

let of_yojson json =
  match (json : Yojson.Safe.t) with
  | `String str | `List [ `String str ] -> of_string str
  | json -> Error (Printf.sprintf "Invalid severity: %s" (Yojson.Safe.to_string json))
;;