type category = | Keyword| Keyword_control| Keyword_module| Def_function| Def_value| Def_type| Def_module| Parameter| Local| Global| Module| Constructor| Type| Type_var| Label| Capability| Number| String| Operator| Punctuation| Attribute| Normal| Error| Field
val background : int * int * inttype span = {col : int;text : string;category : category;
}type occurrence = {line : int;col : int;len : int;bound_at : int * int;
}val occurrences :
(int * int * string) array ->
(int, int) Stdlib.Hashtbl.t ->
occurrence listtype space = | Value| Type| Constr| Tag
type definition = {dname : string;dspace : space;dline : int;dcol : int;drank : int;
}type reference = {rline : int;rcol : int;rlen : int;rpath : string list;rname : string;rspace : space;ropens : string list;
}type analysis = {spans : span list array;occurrences : occurrence list;definitions : definition list;references : reference list;opens : string list;includes : string list;
}val definition :
?name:string ->
(int * int * string) array ->
int ->
space ->
int ->
definitionval reference :
?opens:string list ->
(int * int * string) array ->
int ->
string list ->
space ->
referenceval lines : string -> (int * int * string * category) list -> span list array