Raxol. UI. Components. Input. MultiLineInput. EventHandler
(Raxol v2.6.1)
View Source
Event handler for MultiLineInput component. Handles keyboard input and navigation events.
Key events are normalized through Raxol.UI.Harness.InputEvent before
dispatch. The previous head matched data: %{key: key, modifiers: modifiers} -- a shape that ONLY Raxol.Core.Events.Event.key_event/3
(the test API) produces. The two real driver shapes -- the termbox
event_translator.ex's boolean shift:/ctrl:/... fields and the
raw-ANSI input_parser.ex's omitted-when-false fields -- carry no
:modifiers key at all, so every real backspace/delete/arrow keypress
fell through to the no-op default: dead editing keys on a real
terminal, green tests on the test-API shape. InputEvent.normalize/1
erases the shape difference (see that module's moduledoc -- this is
the same class of fix its "What T11/T14 migrate to" section
prescribes); the normalized mods map is rebuilt into the modifier-list
vocabulary dispatch_key/3's existing clauses already speak.
Summary
Functions
Handles events for the MultiLineInput component.
Functions
@spec handle_event( Raxol.Core.Events.Event.t(), Raxol.UI.Components.Input.MultiLineInput.t() ) :: {:update, term(), Raxol.UI.Components.Input.MultiLineInput.t()} | {:noreply, Raxol.UI.Components.Input.MultiLineInput.t()} | term()
Handles events for the MultiLineInput component.