40 lines
781 B
OCaml
40 lines
781 B
OCaml
[@@@alert unstable "The API of this library is not stable and may change without notice."]
|
|
|
|
type code =
|
|
{ code : int
|
|
; name : string
|
|
}
|
|
|
|
type source =
|
|
| Code of code
|
|
| Alert of string
|
|
|
|
type lines =
|
|
| Single of int
|
|
| Range of int * int
|
|
|
|
type loc =
|
|
{ chars : (int * int) option
|
|
; lines : lines
|
|
; path : string
|
|
}
|
|
|
|
type severity =
|
|
| Error of source option
|
|
| Warning of code
|
|
| Alert of
|
|
{ name : string
|
|
; source : string
|
|
}
|
|
|
|
type report =
|
|
{ loc : loc
|
|
; severity : severity
|
|
; message : string
|
|
; related : (loc * string) list
|
|
}
|
|
|
|
val dyn_of_report : report -> Dyn.t
|
|
val dyn_of_raw : [ `Loc of loc | `Message of string ] list -> Dyn.t
|
|
val parse_raw : string -> [ `Loc of loc | `Message of string ] list
|
|
val parse : string -> report list
|