Cringe.Widgets.Input.State (cringe v0.4.0)

Copy Markdown View Source

Explicit state for cursor-aware input editing.

Summary

Types

t()

@type t() :: %Cringe.Widgets.Input.State{cursor: non_neg_integer(), value: String.t()}

Functions

backspace(state)

@spec backspace(t()) :: t()

cursor(state)

@spec cursor(t()) :: non_neg_integer()

delete(state)

@spec delete(t()) :: t()

end_of_line(state)

@spec end_of_line(t()) :: t()

home(state)

@spec home(t()) :: t()

insert(state, text)

@spec insert(t(), String.t()) :: t()

move(state, delta)

@spec move(t(), integer()) :: t()

new(value \\ "", opts \\ [])

@spec new(
  String.t(),
  keyword()
) :: t()

value(state)

@spec value(t()) :: String.t()