Up
Module
Render
Signature
module
Rel_pos
=
Src_pos.Relative
module
Abs_pos
=
Src_pos.Absolute
type
last_atom = {
immed_after
:
Abs_pos.t
;
unescaped
: bool
;
}
type
state = {
mutable
row_shift
:
Rel_pos.t
;
mutable
current
:
Abs_pos.t
;
mutable
last_atom
:
last_atom
option
;
}
type
'a t = (char -> unit) ->
state
-> 'a
val
return : 'a -> 'b -> 'c -> 'a
val
bind : ('a -> 'b -> 'c) -> ('c -> 'a -> 'b -> 'd) -> 'a -> 'b -> 'd
val
run : 'a -> ('a ->
state
-> 'b) -> 'b
val
emit_char : (char -> unit) ->
state
-> char -> unit
val
emit_string : (char -> unit) ->
state
-> string -> unit
val
emit_chars : (char -> unit) ->
state
-> char -> n:int -> unit
val
advance : (char -> unit) -> anchor:
Abs_pos.t
->
state
-> by:
Src_pos.Relative.t
-> unescaped_atom:bool -> unit
val
render_t : (char -> unit) -> anchor:
Abs_pos.t
->
state
->
t
-> unit
val
render_toc : (char -> unit) -> anchor:
Abs_pos.t
->
state
->
t_or_comment
-> unit
val
render_c : (char -> unit) -> anchor:
Abs_pos.t
->
state
->
comment
-> unit
val
render :
t_or_comment
-> (char -> unit) ->
state
-> unit
val
sexp :
t_or_comment
-> (char -> unit) ->
state
-> unit