(** Shared token payload types used by both lexers and parsers. *) type list_item_data = { lid_indent : int; lid_bullet : string; (** The bullet text including trailing space *) lid_counter_set : int option; lid_checkbox : string option; (** "[ ]", "[X]", "[-]" *) lid_rest : string; (** Remainder of line after bullet/checkbox *) } (** A raw list item token payload. *)