feat(config-settings): inline in-field value editor (no fish read prompt)

Replace the fish `read` prompt (which showed an unstyled `read>` and left the
prompt line behind on redraw) with an in-place editor built on the raw key
reader. The value is edited directly in its UI field with a block caret; the
panel redraws each keystroke and cleans up on exit. Pre-fills the current value;
Backspace deletes, Enter saves (empty reverts to default), Esc cancels.

- __config_settings_read_key: decode Backspace (bytes 8/127)
- __config_settings_draw_value: edit-mode field with caret + edit hint line
- config-settings: inline edit loop replaces the read-based prompt block
This commit is contained in:
2026-06-24 11:14:01 -04:00
parent 7caf75b940
commit 0250669306
3 changed files with 82 additions and 20 deletions
+3 -1
View File
@@ -24,7 +24,7 @@
# RETURNS
# 0 A key was read; one of these tokens is printed to stdout:
# up down left right arrow keys
# space tab backtab enter escape
# space tab backtab enter escape backspace
# quit Ctrl-C (byte 3) in raw mode
# <char> any other single printable character
# "" nothing decodable was read
@@ -74,6 +74,8 @@ function __config_settings_read_key
echo space
case 10 13
echo enter
case 8 127
echo backspace
case 3
echo quit
case ''