feat(config-settings): rename config-toggle → config-settings; add __fish_user_dots_path UI #64

Merged
rootiest merged 10 commits from feat/config-settings-rename-path-var into main 2026-06-23 18:28:30 +00:00
Owner

Summary

Implements AGENTS.md Task #3: surfaces __fish_user_dots_path in the config TUI and renames the utility from config-toggle to config-settings.

Changes

  • Rename: config-toggleconfig-settings (all 5 files: main + 4 helpers via git mv)
  • Deprecated alias: config-toggle.fish now prints a deprecation warning to stderr and delegates to config-settings
  • Path row: New row 7 in the TUI for __fish_user_dots_path:
    • Shows current path (right-truncated) with [U] tag, or —default— if unset
    • Enter — pauses TUI, prompts for new path inline, resumes
    • LEFT / h — clears the variable (universally)
    • RIGHT / l — no-op (no boolean state for a path)
    • Always operates on universal scope regardless of active tab
  • __config_settings_apply: gains a '*' catch-all for arbitrary string values (universal scope only)
  • panel_h: 14 → 16 (two new rows: separator + path row)
  • Docs: docs/fish-config.md Section 5 and Section 10 updated; docs/fish-config.index updated; README.md updated

Commits

9355469 refactor(config-settings): rename __config_toggle_* helpers to __config_settings_*
98a5cb4 feat(config-settings): rename config-toggle to config-settings; add deprecated alias
7a1a213 fix(config-settings): update stale help body text after rename
b506f2a feat(config-settings): support arbitrary string values in apply helper
26b90ec feat(config-settings): add path row for __fish_user_dots_path in draw function
43b3cf5 feat(config-settings): add path row event handling (Enter edit, LEFT clear, RIGHT no-op)
533ab60 docs: rename config-toggle to config-settings in SSOT, README, and AGENTS.md
9382928 docs: update fish-config.index for config-toggle → config-settings rename
6f8fd85 docs(config-settings): fix stale __config_toggle_* references in helper docstrings
67f22c8 docs(config-settings): fix remaining stale config-toggle ref in draw helper description

Manual Verification

  • Run config-settings — TUI opens with 8 rows; rows 0–6 toggle normally
  • Navigate to row 7 (Dots Path); verify badge shows —default— if __fish_user_dots_path is unset
  • Press Enter on row 7 — TUI pauses, prompt appears; enter a path (e.g. /tmp/test-dots) and press Enter — TUI resumes, badge shows truncated path with [U] tag
  • Press LEFT / h on row 7 — variable is cleared, badge reverts to —default—
  • Press RIGHT / l on row 7 — no state change (no-op)
  • Press Enter on row 7 — enter blank path — variable is cleared (same as LEFT)
  • Run config-toggle — deprecation warning printed to stderr, TUI opens normally
  • Verify q still quits cleanly from any row
  • Verify TUI panel width adjusts correctly at different terminal widths (resize before launching)
## Summary Implements AGENTS.md Task #3: surfaces `__fish_user_dots_path` in the config TUI and renames the utility from `config-toggle` to `config-settings`. ### Changes - **Rename:** `config-toggle` → `config-settings` (all 5 files: main + 4 helpers via `git mv`) - **Deprecated alias:** `config-toggle.fish` now prints a deprecation warning to stderr and delegates to `config-settings` - **Path row:** New row 7 in the TUI for `__fish_user_dots_path`: - Shows current path (right-truncated) with `[U]` tag, or `—default—` if unset - **Enter** — pauses TUI, prompts for new path inline, resumes - **LEFT / h** — clears the variable (universally) - **RIGHT / l** — no-op (no boolean state for a path) - Always operates on universal scope regardless of active tab - **`__config_settings_apply`:** gains a `'*'` catch-all for arbitrary string values (universal scope only) - **`panel_h`:** 14 → 16 (two new rows: separator + path row) - **Docs:** `docs/fish-config.md` Section 5 and Section 10 updated; `docs/fish-config.index` updated; `README.md` updated ### Commits ``` 9355469 refactor(config-settings): rename __config_toggle_* helpers to __config_settings_* 98a5cb4 feat(config-settings): rename config-toggle to config-settings; add deprecated alias 7a1a213 fix(config-settings): update stale help body text after rename b506f2a feat(config-settings): support arbitrary string values in apply helper 26b90ec feat(config-settings): add path row for __fish_user_dots_path in draw function 43b3cf5 feat(config-settings): add path row event handling (Enter edit, LEFT clear, RIGHT no-op) 533ab60 docs: rename config-toggle to config-settings in SSOT, README, and AGENTS.md 9382928 docs: update fish-config.index for config-toggle → config-settings rename 6f8fd85 docs(config-settings): fix stale __config_toggle_* references in helper docstrings 67f22c8 docs(config-settings): fix remaining stale config-toggle ref in draw helper description ``` ## Manual Verification - [x] Run `config-settings` — TUI opens with 8 rows; rows 0–6 toggle normally - [x] Navigate to row 7 (Dots Path); verify badge shows `—default—` if `__fish_user_dots_path` is unset - [x] Press **Enter** on row 7 — TUI pauses, prompt appears; enter a path (e.g. `/tmp/test-dots`) and press Enter — TUI resumes, badge shows truncated path with `[U]` tag - [x] Press **LEFT / h** on row 7 — variable is cleared, badge reverts to `—default—` - [x] Press **RIGHT / l** on row 7 — no state change (no-op) - [x] Press **Enter** on row 7 — enter blank path — variable is cleared (same as LEFT) - [x] Run `config-toggle` — deprecation warning printed to stderr, TUI opens normally - [x] Verify `q` still quits cleanly from any row - [x] Verify TUI panel width adjusts correctly at different terminal widths (resize before launching)
rootiest added 10 commits 2026-06-23 18:19:14 +00:00
- Add __fish_user_dots_path as 8th entry in vars list
- Update panel_h from 14 to 16 (matches draw function's 16-line output)
- Clamp cur_row down to min(7, ...) to allow navigation to path row
- Add did_redraw flag (reset per iteration) to skip double-redraw after Enter
- Add Enter handler for row 7: erases panel, prompts for path, sets or clears
  __fish_user_dots_path universally, redraws, sets did_redraw
- Special-case RIGHT on row 7 as no-op (path is set via Enter only)
- Special-case LEFT on row 7 to clear path var via apply DEFAULT
- Add Enter key hint to --help navigation section
- Fix EXAMPLE block in __config_settings_draw docstring to include 8th arg
rootiest merged commit f6fd093850 into main 2026-06-23 18:28:30 +00:00
rootiest deleted branch feat/config-settings-rename-path-var 2026-06-23 18:28:30 +00:00
Sign in to join this conversation.