feat(config-settings): rename config-toggle → config-settings; add __fish_user_dots_path UI #64
@@ -47,7 +47,7 @@ This config layers on top of the CachyOS base Fish configuration and adds:
|
||||
> set -U __fish_config_op_logging off
|
||||
> ```
|
||||
>
|
||||
> Or run **`config-toggle`** for an interactive menu to flip logging (and any
|
||||
> Or run **`config-settings`** for an interactive menu to flip logging (and any
|
||||
> other opinionated category) on or off — no variable names to remember.
|
||||
>
|
||||
> This takes effect immediately in every open shell. See [Session Logging](#session-logging)
|
||||
@@ -89,7 +89,7 @@ set -U __fish_config_op_logging off # disable; takes effect in every open shel
|
||||
set -Ue __fish_config_op_logging # re-enable (erase the override)
|
||||
```
|
||||
|
||||
Prefer an interactive interface? Run **`config-toggle`** for a full-screen
|
||||
Prefer an interactive interface? Run **`config-settings`** for a full-screen
|
||||
picker that flips logging — and every other opinionated category — on or off
|
||||
per session or universally, without memorizing variable names.
|
||||
|
||||
@@ -255,7 +255,7 @@ test -f "$__fish_user_dots_path/local.fish"
|
||||
|
||||
Everything opinionated in this config — command shadows, startup side-effects, key and environment overrides, terminal integrations, logging, and the first-run greeting — is active by default but can be switched off.
|
||||
|
||||
> **The easy way — `config-toggle`:** Run `config-toggle` for an interactive TUI that flips every setting below on, off, or back to default — per-session or universally — without typing a single variable name. Use the arrow keys (or `h`/`j`/`k`/`l`) to navigate and adjust, `Tab` to switch scope, and `q` to quit. Changes apply instantly. The panel auto-sizes to your terminal width (four tiers from 52- to 78-wide with a 6-column margin), centers itself horizontally, and redraws within ~0.3 s of a resize.
|
||||
> **The easy way — `config-settings`:** Run `config-settings` for an interactive TUI that flips every setting below on, off, or back to default — per-session or universally — without typing a single variable name. Use the arrow keys (or `h`/`j`/`k`/`l`) to navigate and adjust, `Tab` to switch scope, and `q` to quit. Changes apply instantly. The panel auto-sizes to your terminal width (four tiers from 52- to 78-wide with a 6-column margin), centers itself horizontally, and redraws within ~0.3 s of a resize.
|
||||
|
||||
If you'd rather set them by hand, each category is controlled by a universal variable. Six category toggles and one master switch are available:
|
||||
|
||||
|
||||
+35
-13
@@ -48,7 +48,7 @@ A production-grade Fish shell configuration targeting Fish 4.x. It provides:
|
||||
> your machine, but the files persist locally.
|
||||
>
|
||||
> - Disable all logging with: `set -U __fish_config_op_logging off`
|
||||
> - Prefer a menu? Run the interactive picker: `config-toggle`
|
||||
> - Prefer a menu? Run the interactive picker: `config-settings`
|
||||
> - See Section 7 (C5 - Logging and Capture) for the full breakdown.
|
||||
|
||||
The configuration is split across:
|
||||
@@ -1347,19 +1347,24 @@ Add -i (interactive confirmation) to destructive commands:
|
||||
config-update --dry-run
|
||||
config-update --force
|
||||
|
||||
### config-toggle
|
||||
### config-settings
|
||||
|
||||
Synopsis: config-toggle [-h]
|
||||
Synopsis: config-settings [-h]
|
||||
|
||||
Opens an interactive TUI for toggling the six opinionated component
|
||||
categories (C1–C6) and the master disable variable without having to
|
||||
type or remember variable names. Two scope tabs allow independent
|
||||
per-scope configuration:
|
||||
Opens an interactive TUI for managing fish configuration settings. Handles
|
||||
the six opinionated component categories (C1–C6), the master disable
|
||||
variable, and the __fish_user_dots_path path variable — without having to
|
||||
type or remember variable names. Two scope tabs allow independent per-scope
|
||||
configuration for category toggles:
|
||||
|
||||
Universal — persists across all sessions (set -U)
|
||||
Session — current shell only (set -g)
|
||||
|
||||
Changes apply immediately on each value keypress. Always available
|
||||
The Dots Path row always operates on the universal scope regardless of the
|
||||
active tab.
|
||||
|
||||
Changes to category toggles apply immediately on each keypress. Changes to
|
||||
the path variable use an inline edit prompt (Enter). Always available
|
||||
regardless of the __fish_config_opinionated master state.
|
||||
|
||||
The panel adapts to the terminal width automatically, selecting from
|
||||
@@ -1374,17 +1379,30 @@ Add -i (interactive confirmation) to destructive commands:
|
||||
|
||||
Navigation:
|
||||
↑ ↓ / k j Move cursor
|
||||
← → / h l Set value: OFF ← DEFAULT → ON (clamped)
|
||||
← → / h l Set value: OFF ← DEFAULT → ON (toggle rows); LEFT clears path
|
||||
Enter Edit the Dots Path (path row only)
|
||||
Tab Switch scope (Universal ↔ Session)
|
||||
q / Escape Exit
|
||||
|
||||
Left/Right (or vim-style h/l) move the highlighted value one step along
|
||||
the OFF–DEFAULT–ON scale and stop at the ends. DEFAULT erases the
|
||||
variable so the master switch / built-in default applies.
|
||||
Left/Right (or vim-style h/l) move the highlighted toggle value one step
|
||||
along the OFF–DEFAULT–ON scale and stop at the ends. DEFAULT erases the
|
||||
variable so the master switch / built-in default applies. On the Dots Path
|
||||
row, LEFT/h clears the universal variable; RIGHT/l is a no-op (use Enter).
|
||||
|
||||
Dots Path row [U] tag: the tag confirms this row always writes to the
|
||||
universal scope, regardless of which tab is active. Setting it per-session
|
||||
would have no effect on startup sourcing.
|
||||
|
||||
Flags:
|
||||
--help / -h Show usage.
|
||||
|
||||
config-settings
|
||||
|
||||
### config-toggle (deprecated)
|
||||
|
||||
Deprecated alias for config-settings. Prints a deprecation notice to
|
||||
stderr, then delegates all arguments to config-settings.
|
||||
|
||||
config-toggle
|
||||
|
||||
### bash
|
||||
@@ -1659,7 +1677,7 @@ Examples:
|
||||
# (erase both to go back to full-flavor defaults)
|
||||
|
||||
For an interactive alternative to setting these variables by hand, run
|
||||
config-toggle — a full-screen TUI that flips any category (including C5
|
||||
config-settings — a full-screen TUI that flips any category (including C5
|
||||
logging) on or off, per session or universally. See its entry in Section 5.
|
||||
|
||||
Notes:
|
||||
@@ -2098,6 +2116,10 @@ control in a private directory. The path defaults to
|
||||
|
||||
set -U __fish_user_dots_path /path/to/your/dots/fish
|
||||
|
||||
Or use the interactive TUI — run `config-settings` and navigate to the
|
||||
"Dots Path" row (last row). Press Enter to type a new path, or ← / h to
|
||||
reset to the default.
|
||||
|
||||
config.fish sources local.fish from that directory on every interactive
|
||||
session. local.fish is responsible for sourcing its own secrets.fish:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user