package zed
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=35eefce0e35b10894bbae6c903758f3ab25363aadd605fb7dcdbc53aac5580f7
md5=dfe0261fc35346518555bad0e3c12b8b
doc/zed/Zed_edit/index.html
Module Zed_editSource
Edition engines
Type of edition engines. 'a is the type of custom data attached to the engine in order to extend it.
type clipboard = {clipboard_get : unit -> Zed_rope.t;(*Returns the current contents of the clipboard.
*)clipboard_set : Zed_rope.t -> unit;(*Sets the contents of the clipboard.
*)
}Type of clipboards.
new_clipboard () creates a new clipboard using a reference.
regexp to core-match a word a-z, A-Z, 0-9
regexp to raw-match a word a-z, A-Z, 0-9
val create :
?editable:(int -> int -> bool) ->
?move:(int -> int -> int) ->
?clipboard:clipboard ->
?match_word:(Zed_rope.t -> int -> int option) ->
?locale:string option React.signal ->
?undo_size:int ->
unit ->
'a tcreate ?editable ?move ?clipboard () creates a new edition engine in the initial state.
editable is used to determine whether the text at given position is editable or not. It takes as argument the position and the length of the text to remove.
move is unused.
clipboard is the clipboard to use for this engine. If none is defined, a new one using a reference is created.
match_word is used to recognize words. It must returns the end of the matched word if any.
locale is the locale of this buffer. It is used for case mapping.
undo_size is the size of the undo buffer. It is the number of state zed will remember. It defaults to 1000.
match_by_regexp_core re creates a core-word-matching function using a regular expression.
match_by_regexp_raw re creates a raw-word-matching function using a regular expression.
State
get_data edit returns the custom data attached to the engine. It raises Not_found if no data is attached to the engine.
text edit returns the signal holding the current contents of the buffer.
lines edit returns the set of line position of text edit.
get_line edit n returns the rope corresponding to the nth line without the newline character.
changes edit returns an event which occurs with values of the form (start, added, removed) when the contents of the engine changes. start is the start of modifications, added is the number of characters added and removed is the number of characters removed.
update edit cursors returns an event which occurs each the rendering of the engine should be updated.
erase_mode edit returns the ``erase'' mode of the buffer. In this mode character inserted in the buffer erase existing ones.
erase_mode edit returns the current erase mode of the buffer.
set_erase_mode edit state sets the status of the erase mode for the given engine.
mark edit returns the cursor used to for the mark in the given engine.
selection edit returns the signal holding the current selection state. If true, text is being selectionned.
Cursors
new_cursor edit creates a new cursor for the given edition engine. The cursor initially points to the beginning of the buffer.
Actions
Exception raised when trying to edit a non-editable portion of a buffer.
Type of contexts. Contexts are used to modify an edition buffer.
context ?check edit cursor creates a new context with given parameters. cursor is the cursor that will be used for all modification of the text. If check is true (the default) then all modification of the text will be checked with the editable function of the engine.
cursor ctx returns the cursor used by this context.
check ctx returns whether the context has been created with the check flag.
with_check check ctx retuns ctx with the check flag set to check.
goto ctx ?set_column position moves the cursor to the given position. It raises Zed_cursor.Out_of_bounds if the position is outside the bounds of the text. If set_wanted_column is true, the wanted column of the cursor is set to the new column.
move ctx ?set_wanted_column delta moves the cursor by the given number of characters. It raises Zed_cursor.Out_of_bounds if the current plus delta is outside the bounds of the text.
move_line ctx ?set_wanted_column delta moves the cursor by the given number of lines.
column_display ctx returns the display column of the cursor.
at_bol ctx returns true iff the cursor is at the beginning of the current line.
at_eol ctx returns true iff the cursor is at the end of the current line.
at_bot ctx returns true iff the cursor is at the beginning of the text.
at_eot ctx returns true iff the cursor is at the end of the text.
insert ctx rope inserts the given rope at current position.
insert ctx rope inserts the given UChar at current position.
insert ctx rope inserts the given rope at current position but do not erase text if the buffer is currently in erase mode.
remove_next ctx n removes n characters at current position. If there is less than n characters at current position, it removes everything until the end of the text.
remove_prev ctx n removes n characters before current position. If there is less than n characters before current position, it removes everything until the beginning of the text.
Alias for remove_next
replace ctx n rope does the same as:
remove ctx n;
insert_no_erase ctx ropebut in one atomic operation.
next_char ctx moves the cursor to the next character. It does nothing if the cursor is at the end of the text.
prev_char ctx moves the cursor to the previous character. It does nothing if the cursor is at the beginning of the text.
next_line ctx moves the cursor to the next line. If the cursor is on the last line, it is moved to the end of the buffer.
prev_line ctx moves the cursor to the previous line. If the cursor is on the first line, it is moved to the beginning of the buffer.
goto_bol ctx moves the cursor to the beginning of the current line.
goto_eol ctx moves the cursor to the end of the current line.
delete_next_char ctx deletes the character after the cursor, if any.
delete_prev_char ctx delete the character before the cursor.
delete_next_line ctx delete everything until the end of the current line.
delete_next_line ctx delete everything until the beginning of the current line.
kill_next_line ctx delete everything until the end of the current line and save it to the clipboard.
kill_next_line ctx delete everything until the beginning of the current line and save it to the clipboard.
switch_erase_mode ctx switch the current erase mode.
copy ctx copies the current selectionned region to the clipboard.
copy_sequence ctx start len copies len characters start from start to the clipboard.
kill ctx copies the current selectionned region to the clipboard and remove it.
yank ctx inserts the contents of the clipboard at current position.
capitalize_word ctx capitalizes the first word after the cursor.
lowercase_word ctx converts the first word after the cursor to lowercase.
uppercase_word ctx converts the first word after the cursor to uppercase.
prev_word ctx moves the cursor to the beginning of the previous word.
delete_next_word ctx deletes the word after the cursor.
delete_prev_word ctx deletes the word before the cursor.
kill_next_word ctx deletes the word after the cursor and save it to the clipboard.
kill_prev_word ctx deletes the word before the cursor and save it to the clipboard.
Action by names
type action = | Insert of Zed_char.t| Newline| Next_char| Prev_char| Next_line| Prev_line| Join_line| Goto of int| Goto_bol| Goto_eol| Goto_bot| Goto_eot| Delete_next_chars of int| Delete_prev_chars of int| Kill_next_chars of int| Kill_prev_chars of int| 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
Type of actions.
get_action action returns the function associated to the given action.
doc_of_action action returns a short description of the action.
action_of_name str converts the given action name into an action. Action name are the same as function name but with '_' replaced by '-'. It raises Not_found if the name does not correspond to an action.
Insert ch is represented by "insert(<char>)" where <char> is:
- a literal ascii character, such as "a", "b", ...
- a unicode character, written "U+< code >", such as "U+0041"