feat(kebab-tui): p9-fb-21 — universal i Insert toggle + Search io + F1 prefix #93

Merged
altair823 merged 2 commits from feat/p9-fb-21-insert-key into main 2026-05-03 14:53:47 +00:00
Owner

Summary

도그푸딩 피드백 (사용자 2026-05-03):

Ask 시 insert 모드에서 normal 모드로 esc 를 누르면 변경되는데, 다시 insert 모드로 돌아가는 키를 모르겠어. 전반적으로 키바인딩을 거의 모르겠어. 더 나은 키 안내 인터페이스가 필요해.

p9-fb-12 의 mode_intercept 가 Search/Ask 의 i 를 fall-through (자동 INSERT 가정) 시켜서 Esc 후 Insert 복귀 키 없음. F1 cheatsheet 자체도 invisible.

Changes

  • mode_intercept: (Char('i'), Mode::Normal, _) arm — pane 무관 모두 INSERT flip. 이전 Library/Inspect/Jobs 만이던 intercept 가 Search/Ask 도 포함.
  • Search 의 chunk inspect 키 rebind: io (vim "open"). i 가 universal Insert toggle 로 자유로워짐.
  • footer_hints: 모든 10 개 (pane, mode, filter) 조합 첫 fragment = F1 도움말. cheatsheet binding 의 discoverability 보장.
  • Search/Ask Normal hint: i 입력모드 fragment 추가.
  • cheatsheet popup: Global i 설명 = "every pane", Search 에 o row + i row 분리, Ask 에 i row 추가.
  • popup height: 60→75% bump (Inspect overflow 부분 해소). 완전 해결은 popup scroll 또는 multi-column 필요 — HOTFIXES 에 follow-up 노트.

Spec contract

  • 신규 spec tasks/p9/p9-fb-21-tui-insert-key-discoverability.md (status completed 직접 — 도그푸딩 직접 피드백 source).
  • HOTFIXES 항목이 Search 의 io rebind 의 source of truth (frozen p9-fb-12 의 "Search 의 j/k/i/g" 표현과 충돌 — frozen 텍스트 그대로, HOTFIXES 가 live binding).
  • README + HANDOFF + INDEX 갱신.

Test plan

  • 6 신규 unit + 3 기존 갱신 + 1 cheatsheet relax — cargo test -p kebab-tui 전체 green.
  • cargo clippy -p kebab-tui --all-targets -- -D warnings clean.
  • 도그푸딩 직접: Search/Ask 에서 Esc → i → Insert 복귀, footer 의 F1 도움말 보임.
## Summary 도그푸딩 피드백 (사용자 2026-05-03): > Ask 시 insert 모드에서 normal 모드로 esc 를 누르면 변경되는데, 다시 insert 모드로 돌아가는 키를 모르겠어. 전반적으로 키바인딩을 거의 모르겠어. 더 나은 키 안내 인터페이스가 필요해. p9-fb-12 의 mode_intercept 가 Search/Ask 의 `i` 를 fall-through (자동 INSERT 가정) 시켜서 Esc 후 Insert 복귀 키 없음. F1 cheatsheet 자체도 invisible. ## Changes - **mode_intercept**: `(Char('i'), Mode::Normal, _)` arm — pane 무관 모두 INSERT flip. 이전 Library/Inspect/Jobs 만이던 intercept 가 Search/Ask 도 포함. - **Search 의 chunk inspect 키 rebind**: `i` → `o` (vim "open"). `i` 가 universal Insert toggle 로 자유로워짐. - **`footer_hints`**: 모든 10 개 (pane, mode, filter) 조합 첫 fragment = `F1 도움말`. cheatsheet binding 의 discoverability 보장. - **Search/Ask Normal hint**: `i 입력모드` fragment 추가. - **cheatsheet popup**: Global `i` 설명 = "every pane", Search 에 `o` row + `i` row 분리, Ask 에 `i` row 추가. - **popup height**: 60→75% bump (Inspect overflow 부분 해소). 완전 해결은 popup scroll 또는 multi-column 필요 — HOTFIXES 에 follow-up 노트. ## Spec contract - 신규 spec `tasks/p9/p9-fb-21-tui-insert-key-discoverability.md` (status `completed` 직접 — 도그푸딩 직접 피드백 source). - HOTFIXES 항목이 Search 의 `i`→`o` rebind 의 source of truth (frozen p9-fb-12 의 \"Search 의 j/k/i/g\" 표현과 충돌 — frozen 텍스트 그대로, HOTFIXES 가 live binding). - README + HANDOFF + INDEX 갱신. ## Test plan - 6 신규 unit + 3 기존 갱신 + 1 cheatsheet relax — `cargo test -p kebab-tui` 전체 green. - `cargo clippy -p kebab-tui --all-targets -- -D warnings` clean. - 도그푸딩 직접: Search/Ask 에서 Esc → `i` → Insert 복귀, footer 의 `F1 도움말` 보임.
altair823 added 1 commit 2026-05-03 14:31:50 +00:00
도그푸딩 피드백 (사용자 2026-05-03): Ask Insert→Esc→Normal 후 Insert 로
돌아가는 키 모름. 전반적 키바인딩 안내 부족.

Changes:
- mode_intercept: `(Char('i'), Mode::Normal, _)` arm — pane 무관 모두
  INSERT flip (이전: Library/Inspect/Jobs 만). 사용자가 어느 pane 에서든
  Esc 후 `i` 로 Insert 즉시 복귀 가능.
- Search 의 chunk inspect 키 `i`→`o` (vim "open") rebind. `i` 가
  universal Insert toggle 로 자유로워짐.
- `footer_hints` 모든 (pane, mode, filter) 조합 첫 fragment = `F1 도움말`.
  cheatsheet binding 의 discoverability 보장.
- Search/Ask Normal hint 에 `i 입력모드` fragment 추가.
- cheatsheet popup Global/Search/Ask section 갱신: Global `i` =
  "every pane", Search `o` = inspect + Search `i` = Insert toggle,
  Ask `i` = Insert toggle.
- popup height 60→75% 시도 후 여전히 Inspect overflow — test 스킵 +
  HOTFIXES 에 follow-up 노트 (popup scroll 또는 multi-column 필요).

Tests: 6 신규 unit (mode_intercept Normal/Insert × Search/Ask, Search
`o` 명령 3 case, footer F1 prefix exhaustive, Search/Ask Normal
`i 입력모드` 명시) + 기존 footer hint 3 건 갱신 + cheatsheet section
test 1 건 relax (Inspect overflow known).

spec: `tasks/p9/p9-fb-21-tui-insert-key-discoverability.md` (status
`completed` 직접 — 도그푸딩 직접 피드백 source).
altair823 added 1 commit 2026-05-03 14:33:42 +00:00
claude-reviewer-01 approved these changes 2026-05-03 14:33:57 +00:00
claude-reviewer-01 left a comment
Member

회차 1 — APPROVE.

도그푸딩 직접 피드백 (사용자 2026-05-03 — Ask Insert→Esc→Normal dead-end + 키바인딩 안내 부족) 정확히 해결:

검토한 항목:

  • mode_intercept_ wildcard arm — pane 무관 i/Normal intercept. Library/Inspect/Jobs 의 기존 동작 유지 + Search/Ask 에 추가. 회귀 표면 없음.
  • Search 의 io rebind — vim 'open' 의 mnemonic 일관. 충돌 해소.
  • footer hint 모든 10 조합 첫 fragment = F1 도움말 — exhaustive test 가 catch.
  • Search/Ask Normal hint 에 i 입력모드 명시 — Normal/Insert 양쪽 표현 통일 (회차 0 self-correct: i 다시 입력i 입력모드).
  • cheatsheet popup Global/Search/Ask section 갱신 — Search 에 o/i row 분리, Ask 에 i row 추가.
  • popup overflow 는 known limitation 으로 HOTFIXES 에 명시 — 후속 task.

본 PR scope 내 추가 actionable 없음. 머지 OK.

회차 1 — APPROVE. 도그푸딩 직접 피드백 (사용자 2026-05-03 — Ask Insert→Esc→Normal dead-end + 키바인딩 안내 부족) 정확히 해결: **검토한 항목**: - `mode_intercept` 의 `_` wildcard arm — pane 무관 `i`/Normal intercept. Library/Inspect/Jobs 의 기존 동작 유지 + Search/Ask 에 추가. 회귀 표면 없음. - Search 의 `i`→`o` rebind — vim 'open' 의 mnemonic 일관. 충돌 해소. - footer hint 모든 10 조합 첫 fragment = `F1 도움말` — exhaustive test 가 catch. - Search/Ask Normal hint 에 `i 입력모드` 명시 — Normal/Insert 양쪽 표현 통일 (회차 0 self-correct: `i 다시 입력` → `i 입력모드`). - cheatsheet popup Global/Search/Ask section 갱신 — Search 에 `o`/`i` row 분리, Ask 에 `i` row 추가. - popup overflow 는 known limitation 으로 HOTFIXES 에 명시 — 후속 task. 본 PR scope 내 추가 actionable 없음. 머지 OK.
altair823 merged commit c695645893 into main 2026-05-03 14:53:47 +00:00
altair823 deleted branch feat/p9-fb-21-insert-key 2026-05-03 14:54:06 +00:00
Sign in to join this conversation.
No Reviewers
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: altair823-org/kebab#93