Module Highlight_code

type category =
  1. | Comment
  2. | Comment_section
  3. | Keyword
  4. | Keyword_control
  5. | Keyword_module
  6. | Def_function
  7. | Def_value
  8. | Def_type
  9. | Def_module
  10. | Parameter
  11. | Local
  12. | Global
  13. | Module
  14. | Constructor
  15. | Type
  16. | Type_var
  17. | Label
  18. | Capability
  19. | Number
  20. | String
  21. | Operator
  22. | Punctuation
  23. | Attribute
  24. | Normal
  25. | Error
  26. | Field
val show : category -> string
val all : category array
val index : category -> int
val rgb : category -> int * int * int
val background : int * int * int
val emphasis : category -> float
type span = {
  1. col : int;
  2. text : string;
  3. category : category;
}
type occurrence = {
  1. line : int;
  2. col : int;
  3. len : int;
  4. bound_at : int * int;
}
val occurrences : (int * int * string) array -> (int, int) Stdlib.Hashtbl.t -> occurrence list
type space =
  1. | Value
  2. | Type
  3. | Constr
  4. | Tag
type definition = {
  1. dname : string;
  2. dspace : space;
  3. dline : int;
  4. dcol : int;
  5. drank : int;
}
type reference = {
  1. rline : int;
  2. rcol : int;
  3. rlen : int;
  4. rpath : string list;
  5. rname : string;
  6. rspace : space;
  7. ropens : string list;
}
type analysis = {
  1. spans : span list array;
  2. occurrences : occurrence list;
  3. definitions : definition list;
  4. references : reference list;
  5. opens : string list;
  6. includes : string list;
}
val definition : ?name:string -> (int * int * string) array -> int -> space -> int -> definition
val reference : ?opens:string list -> (int * int * string) array -> int -> string list -> space -> reference
val lines : string -> (int * int * string * category) list -> span list array