ElixirOpentui.EditBufferNIF (ElixirOpentui v0.2.0)

Copy Markdown View Source

Zig NIF module wrapping the OpenTUI EditBuffer and EditorView.

Provides a rope-based text buffer with undo/redo, cursor management, and viewport-aware editor view as NIF resources.

Summary

Functions

create()

@spec create() :: reference()

create_editor_view(arg1, arg2, arg3)

@spec create_editor_view(reference(), 0..4_294_967_295, 0..4_294_967_295) ::
  reference()

delete_char_backward(arg1)

@spec delete_char_backward(reference()) :: :ok

delete_char_forward(arg1)

@spec delete_char_forward(reference()) :: :ok

delete_line(arg1)

@spec delete_line(reference()) :: :ok

get_cursor(arg1)

@spec get_cursor(reference()) :: term()

get_line_count(arg1)

@spec get_line_count(reference()) :: 0..4_294_967_295

get_text(arg1)

@spec get_text(reference()) :: binary()

get_text_display_width(arg1)

@spec get_text_display_width(reference()) :: 0..4_294_967_295

insert_char(arg1, arg2)

@spec insert_char(reference(), [byte()] | binary()) :: :ok

move_cursor_left(arg1)

@spec move_cursor_left(reference()) :: :ok

move_cursor_right(arg1)

@spec move_cursor_right(reference()) :: :ok

new_line(arg1)

@spec new_line(reference()) :: :ok

redo(arg1)

@spec redo(reference()) :: term()

set_cursor(arg1, arg2, arg3)

@spec set_cursor(reference(), 0..4_294_967_295, 0..4_294_967_295) :: :ok

set_cursor_by_offset(arg1, arg2)

@spec set_cursor_by_offset(reference(), 0..4_294_967_295) :: :ok

set_text(arg1, arg2)

@spec set_text(reference(), [byte()] | binary()) :: :ok

undo(arg1)

@spec undo(reference()) :: term()

view_delete_selected_text(arg1)

@spec view_delete_selected_text(reference()) :: :ok

view_get_eol(arg1)

@spec view_get_eol(reference()) :: term()

view_get_next_word_boundary(arg1)

@spec view_get_next_word_boundary(reference()) :: term()

view_get_prev_word_boundary(arg1)

@spec view_get_prev_word_boundary(reference()) :: term()

view_get_selected_text(arg1)

@spec view_get_selected_text(reference()) :: binary()

view_get_total_virtual_line_count(arg1)

@spec view_get_total_virtual_line_count(reference()) :: 0..4_294_967_295

view_get_viewport(arg1)

@spec view_get_viewport(reference()) :: term()

view_get_visible_lines(arg1)

@spec view_get_visible_lines(reference()) :: term()

view_get_visual_cursor(arg1)

@spec view_get_visual_cursor(reference()) :: term()

view_get_visual_eol(arg1)

@spec view_get_visual_eol(reference()) :: term()

view_get_visual_sol(arg1)

@spec view_get_visual_sol(reference()) :: term()

view_move_down_visual(arg1)

@spec view_move_down_visual(reference()) :: :ok

view_move_up_visual(arg1)

@spec view_move_up_visual(reference()) :: :ok

view_reset_selection(arg1)

@spec view_reset_selection(reference()) :: :ok

view_selection_visual_coords(arg1, arg2, arg3)

@spec view_selection_visual_coords(reference(), 0..4_294_967_295, 0..4_294_967_295) ::
  term()

view_set_scroll_margin(arg1, arg2)

@spec view_set_scroll_margin(reference(), float()) :: :ok

view_set_selection(arg1, arg2, arg3)

@spec view_set_selection(reference(), 0..4_294_967_295, 0..4_294_967_295) :: :ok

view_set_viewport(arg1, arg2, arg3, arg4, arg5)

@spec view_set_viewport(
  reference(),
  0..4_294_967_295,
  0..4_294_967_295,
  0..4_294_967_295,
  0..4_294_967_295
) :: :ok

view_set_viewport_size(arg1, arg2, arg3)

@spec view_set_viewport_size(reference(), 0..4_294_967_295, 0..4_294_967_295) :: :ok

view_set_wrap_mode(arg1, arg2)

@spec view_set_wrap_mode(reference(), byte()) :: :ok

wrap_mode_int(mode)

@spec wrap_mode_int(:none | :char | :word) :: 0 | 1 | 2

Convert a wrap mode atom to its integer NIF representation.