llimphi-widget-edit-menu 0.1.0

llimphi-widget-edit-menu — el menú de edición estándar (Deshacer/Rehacer/Cortar/Copiar/Pegar/Eliminar/Seleccionar todo) para cualquier campo que use EditorState (input single-line e IDE enriquecido). Arma el ContextMenuSpec desde flags derivados del estado y aplica las acciones reutilizando apply_key_with_clipboard.
Documentation

llimphi-widget-edit-menu — el menú de edición estándar para cualquier campo de texto Llimphi.

Tanto el input single-line ([llimphi_widget_text_input]) como el editor IDE enriquecido ([llimphi_widget_text_editor]) se apoyan en el mismo [EditorState]. Este widget arma, a partir de ese estado, el menú contextual canónico:

  ┃ EDICIÓN
  ┃ Deshacer            Ctrl+Z
  ┃ Rehacer             Ctrl+Y
  ┃ ─────────────────────
  ┃ Cortar              Ctrl+X
  ┃ Copiar              Ctrl+C
  ┃ Pegar               Ctrl+V
  ┃ Eliminar            Supr
  ┃ ─────────────────────
  ┃ Seleccionar todo    Ctrl+A

Cada ítem se habilita o no según el estado real (sin selección → Cortar/Copiar/Eliminar grises; sin historial → Deshacer gris; etc).

Uso típico, en tres pasos por app:

  1. El campo emite la posición del click derecho — View::on_right_click_atMsg::AbrirMenuEdicion(x, y). El update guarda el ancla.
  2. App::view_overlay devuelve Some(context_menu_view(edit_menu::edit_context_menu(...))) cuando el ancla está presente.
  3. El pick produce Msg::Edicion(EditAction); el update llama a [apply] con el EditorState del campo focuseado y el clipboard.