package crs

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Source file range.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
(****************************************************************************)
(*  ocaml-reviewdog - A reviewdog diagnostics json serializer for OCaml     *)
(*  SPDX-FileCopyrightText: 2025 Mathieu Barbin <mathieu.barbin@gmail.com>  *)
(*  SPDX-License-Identifier: MIT                                            *)
(****************************************************************************)

type t =
  { start : Position.t
  ; end_ : Position.t option
  }

let to_json { start; end_ } : Yojson.Basic.t =
  `Assoc
    (List.concat
       [ [ "start", Position.to_json start ]
       ; (match end_ with
          | None -> []
          | Some end_pos -> [ "end", Position.to_json end_pos ])
       ])
;;