sig
type 'a t
type clipboard = {
clipboard_get : unit -> Zed_rope.t;
clipboard_set : Zed_rope.t -> unit;
}
val new_clipboard : unit -> Zed_edit.clipboard
val create :
?editable:(int -> int -> bool) ->
?move:(int -> int -> int) ->
?clipboard:Zed_edit.clipboard ->
?match_word:(Zed_rope.t -> int -> int option) ->
?locale:string option React.signal ->
?undo_size:int -> unit -> 'a Zed_edit.t
val match_by_regexp : Zed_re.t -> Zed_rope.t -> int -> int option
val get_data : 'a Zed_edit.t -> 'a
val set_data : 'a Zed_edit.t -> 'a -> unit
val clear_data : 'a Zed_edit.t -> unit
val text : 'a Zed_edit.t -> Zed_rope.t
val lines : 'a Zed_edit.t -> Zed_lines.t
val get_line : 'a Zed_edit.t -> int -> Zed_rope.t
val changes : 'a Zed_edit.t -> (int * int * int) React.event
val update : 'a Zed_edit.t -> Zed_cursor.t list -> unit React.event
val erase_mode : 'a Zed_edit.t -> bool React.signal
val get_erase_mode : 'a Zed_edit.t -> bool
val set_erase_mode : 'a Zed_edit.t -> bool -> unit
val mark : 'a Zed_edit.t -> Zed_cursor.t
val selection : 'a Zed_edit.t -> bool React.signal
val get_selection : 'a Zed_edit.t -> bool
val set_selection : 'a Zed_edit.t -> bool -> unit
val new_cursor : 'a Zed_edit.t -> Zed_cursor.t
exception Cannot_edit
type 'a context
val context :
?check:bool -> 'a Zed_edit.t -> Zed_cursor.t -> 'a Zed_edit.context
val edit : 'a Zed_edit.context -> 'a Zed_edit.t
val cursor : 'a Zed_edit.context -> Zed_cursor.t
val check : 'a Zed_edit.context -> bool
val with_check : bool -> 'a Zed_edit.context -> 'a Zed_edit.context
val goto : 'a Zed_edit.context -> ?set_wanted_column:bool -> int -> unit
val move : 'a Zed_edit.context -> ?set_wanted_column:bool -> int -> unit
val move_line : 'a Zed_edit.context -> int -> unit
val position : 'a Zed_edit.context -> int
val line : 'a Zed_edit.context -> int
val column : 'a Zed_edit.context -> int
val at_bol : 'a Zed_edit.context -> bool
val at_eol : 'a Zed_edit.context -> bool
val at_bot : 'a Zed_edit.context -> bool
val at_eot : 'a Zed_edit.context -> bool
val insert : 'a Zed_edit.context -> Zed_rope.t -> unit
val insert_no_erase : 'a Zed_edit.context -> Zed_rope.t -> unit
val remove_next : 'a Zed_edit.context -> int -> unit
val remove_prev : 'a Zed_edit.context -> int -> unit
val remove : 'a Zed_edit.context -> int -> unit
val replace : 'a Zed_edit.context -> int -> Zed_rope.t -> unit
val newline : 'a Zed_edit.context -> unit
val next_char : 'a Zed_edit.context -> unit
val prev_char : 'a Zed_edit.context -> unit
val next_line : 'a Zed_edit.context -> unit
val prev_line : 'a Zed_edit.context -> unit
val goto_bol : 'a Zed_edit.context -> unit
val goto_eol : 'a Zed_edit.context -> unit
val goto_bot : 'a Zed_edit.context -> unit
val goto_eot : 'a Zed_edit.context -> unit
val delete_next_char : 'a Zed_edit.context -> unit
val delete_prev_char : 'a Zed_edit.context -> unit
val delete_next_line : 'a Zed_edit.context -> unit
val delete_prev_line : 'a Zed_edit.context -> unit
val kill_next_line : 'a Zed_edit.context -> unit
val kill_prev_line : 'a Zed_edit.context -> unit
val switch_erase_mode : 'a Zed_edit.context -> unit
val set_mark : 'a Zed_edit.context -> unit
val goto_mark : 'a Zed_edit.context -> unit
val copy : 'a Zed_edit.context -> unit
val kill : 'a Zed_edit.context -> unit
val yank : 'a Zed_edit.context -> unit
val capitalize_word : 'a Zed_edit.context -> unit
val lowercase_word : 'a Zed_edit.context -> unit
val uppercase_word : 'a Zed_edit.context -> unit
val next_word : 'a Zed_edit.context -> unit
val prev_word : 'a Zed_edit.context -> unit
val delete_next_word : 'a Zed_edit.context -> unit
val delete_prev_word : 'a Zed_edit.context -> unit
val kill_next_word : 'a Zed_edit.context -> unit
val kill_prev_word : 'a Zed_edit.context -> unit
val undo : 'a Zed_edit.context -> unit
type action =
Insert of CamomileLibrary.UChar.t
| Newline
| Next_char
| Prev_char
| Next_line
| Prev_line
| Goto_bol
| Goto_eol
| Goto_bot
| Goto_eot
| Delete_next_char
| Delete_prev_char
| Delete_next_line
| Delete_prev_line
| Kill_next_line
| Kill_prev_line
| Switch_erase_mode
| Set_mark
| Goto_mark
| Copy
| Kill
| Yank
| Capitalize_word
| Lowercase_word
| Uppercase_word
| Next_word
| Prev_word
| Delete_next_word
| Delete_prev_word
| Kill_next_word
| Kill_prev_word
| Undo
val get_action : Zed_edit.action -> 'a Zed_edit.context -> unit
val actions : (Zed_edit.action * string) list
val doc_of_action : Zed_edit.action -> string
val action_of_name : string -> Zed_edit.action
val name_of_action : Zed_edit.action -> string
end