package ocamlformat-mlx-lib

  1. Overview
  2. Docs
OCaml .mlx Code Formatter

Install

Dune Dependency

Authors

Maintainers

Sources

ocamlformat-mlx-0.27.0.1.tbz
sha256=4557bcca3d2bd2b6d37b046a84a82a1bed83e46e45e363c0b209d30d70c0ec77
sha512=2802651c733bf3535ce9d2e4e533729da75b17e9507d911f4d79d1a68f35ddfb82db1daf8815a46d57a9937dea5b5466d523739c217ace0e446738208037ec2d

doc/src/ocamlformat-mlx-lib.odoc_parser/warning.ml.html

Source file warning.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
type t = { location : Loc.span; message : string }

let to_string e =
  let { location; message } = e in
  let location_string =
    if location.start.line = location.end_.line then
      Printf.sprintf "line %i, characters %i-%i" location.start.line
        location.start.column location.end_.column
    else
      Printf.sprintf "line %i, character %i to line %i, character %i"
        location.start.line location.start.column location.end_.line
        location.end_.column
  in
  Printf.sprintf "File \"%s\", %s:\n%s" location.file location_string message

let pp fmt v = Format.fprintf fmt "%s" (to_string v)

let kasprintf k fmt =
  Format.(kfprintf (fun _ -> k (flush_str_formatter ())) str_formatter fmt)

let kmake k ?suggestion =
  kasprintf (fun message ->
      match suggestion with
      | None -> k message
      | Some suggestion -> k (message ^ "\nSuggestion: " ^ suggestion))

let make ?suggestion format =
  let k message location = { location; message } in
  kmake k ?suggestion format
OCaml

Innovation. Community. Security.