[OCaml] Org mode parser.
chore remove unused Diagnostic module
No code references it after parse_with_diagnostics was removed. Can be reintroduced when diagnostic reporting is actually wired through the parsing pipeline.
lib/diagnostic.ml
@@ -1,52 +0,0 @@
1
Removed:
(** Diagnostic reporting for recoverable parse issues.
2
Removed:
3
Removed:
Diagnostics are lightweight reports (severity + line + message)
4
Removed:
that indicate recoverable issues encountered during parsing.
5
Removed:
They do not halt parsing — the parser always produces a
6
Removed:
best-effort AST. *)
7
Removed:
8
Removed:
(** Severity levels for diagnostics. *)
9
Removed:
type severity =
10
Removed:
| Warning (** Recoverable issue, structure was inferred *)
11
Removed:
| Error (** Significant structural issue *)
12
Removed:
13
Removed:
(** A single diagnostic. *)
14
Removed:
type t = {
15
Removed:
severity : severity;
16
Removed:
line : int; (** 1-based line number, 0 if unknown *)
17
Removed:
message : string;
18
Removed:
}
19
Removed:
20
Removed:
(** Create a warning diagnostic. *)
21
Removed:
let warning ?(line = 0) message = { severity = Warning; line; message }
22
Removed:
23
Removed:
(** Create an error diagnostic. *)
24
Removed:
let error ?(line = 0) message = { severity = Error; line; message }
25
Removed:
26
Removed:
(** A mutable diagnostic collector.
27
Removed:
Passed through parsing phases to accumulate diagnostics. *)
28
Removed:
type collector = {
29
Removed:
mutable diagnostics : t list;
30
Removed:
}
31
Removed:
32
Removed:
(** Create a new empty collector. *)
33
Removed:
let create_collector () = { diagnostics = [] }
34
Removed:
35
Removed:
(** Add a diagnostic to the collector. *)
36
Removed:
let add collector diag =
37
Removed:
collector.diagnostics <- diag :: collector.diagnostics
38
Removed:
39
Removed:
(** Add a warning to the collector. *)
40
Removed:
let warn collector ?(line = 0) message =
41
Removed:
add collector (warning ~line message)
42
Removed:
43
Removed:
(** Get all diagnostics collected, in order. *)
44
Removed:
let to_list collector = List.rev collector.diagnostics
45
Removed:
46
Removed:
(** Format a diagnostic as a human-readable string. *)
47
Removed:
let to_string diag =
48
Removed:
let sev = match diag.severity with Warning -> "warning" | Error -> "error" in
49
Removed:
if diag.line > 0 then
50
Removed:
Printf.sprintf "%s (line %d): %s" sev diag.line diag.message
51
Removed:
else
52
Removed:
Printf.sprintf "%s: %s" sev diag.message