Commit Graph

240 Commits

Author SHA1 Message Date
rootiest aa8e4437ec docs(plans): add config-toggle implementation plan
6-task plan: scope-value reader, panel renderer, skeleton/help,
event loop + navigation, cycling + immediate apply, docs update.
2026-06-11 00:49:41 -04:00
rootiest 87960cc8cc docs(specs): add config-toggle design spec
Interactive TUI for toggling opinionated component categories and master
variable. Tabbed Universal/Session scope, arrow-key navigation, Space to
cycle ON/OFF/DEFAULT with immediate apply.
2026-06-11 00:31:49 -04:00
Gitea Actions a9d1d6ac4d chore(docs): regenerate man page, HTML docs, and wiki 2026-06-11 03:38:01 +00:00
rootiest fc17c9fd61 Merge pull request 'docs(catalog): migrate opinionated component catalog into fish-config.md' (#42) from docs/migrate-opinionated-catalog into main
Generate documentation / build-docs (push) Successful in 34s
Reviewed-on: #42
2026-06-11 03:37:26 +00:00
rootiest 780bda7ab7 docs(catalog): migrate opinionated component catalog into fish-config.md
Promotes the internal opinionated_catalog.md (git-ignored dev reference)
to first-class user documentation in docs/fish-config.md Section 7.

- Add per-category component tables (C1–C6) under a new "Component
  Reference" subsection in "Opinionated Components (Minimal Mode)"
- Document the C5 sentinel-file coordination mechanism and how
  __fish_config_logging_changed propagates changes to all open shells
- Document C3/C5 composition (smart_exit wrapper vs capture block)
- Document bang-bang system atomicity across its multiple source files
- Add rg function entry to Section 5.1 (Kitty hyperlink wrapper)
- Update fish-config.index with keywords for all new headings
2026-06-10 23:36:24 -04:00
Gitea Actions e4bcbd3da2 chore(docs): regenerate man page, HTML docs, and wiki 2026-06-11 03:10:26 +00:00
rootiest 4bef8f9c91 Merge pull request 'feat(guards): per-category variable overrides master in __fish_config_op_enabled' (#41) from feat/per-category-master-override into main
Generate documentation / build-docs (push) Successful in 34s
Offline docs drift reminder / remind (push) Successful in 10s
Reviewed-on: #41
2026-06-11 03:09:51 +00:00
rootiest e776e7fba6 docs(guards): document per-category master override in fish-config.md 2026-06-10 23:02:16 -04:00
rootiest a170d82086 docs(guards): document per-category master override in README Minimal Mode 2026-06-10 23:00:23 -04:00
rootiest c04c1a4bc2 docs(guards): fold no-arg edge case into RETURNS status-1 line 2026-06-10 22:59:49 -04:00
rootiest 4c989a45c1 refactor(guards): remove what-comments; document no-arg edge case in RETURNS 2026-06-10 22:59:11 -04:00
rootiest cccef17031 feat(guards): category variable overrides master in __fish_config_op_enabled 2026-06-10 22:57:01 -04:00
Gitea Actions b0debaa421 chore(docs): regenerate man page, HTML docs, and wiki 2026-06-11 02:48:40 +00:00
rootiest 6edeb5bdd1 Merge pull request 'feat(greeting): add C6 — Greeting & First-Run UI opinionated guard' (#40) from feat/greeting-toggle-c6 into main
Generate documentation / build-docs (push) Successful in 35s
Offline docs drift reminder / remind (push) Successful in 11s
Reviewed-on: #40
2026-06-11 02:48:05 +00:00
rootiest b64e7d4f3c docs(greeting): note C6 guard on first-run welcome in Fisher Plugins section 2026-06-10 22:42:34 -04:00
rootiest 251f512806 docs(greeting): fix remaining five→six count in fish-config.md Minimal Mode 2026-06-10 22:35:31 -04:00
rootiest 43135aef02 docs(greeting): add C6 __fish_config_op_greeting to fish-config.md Minimal Mode 2026-06-10 22:34:46 -04:00
rootiest c909a4f054 docs(greeting): add C6 __fish_config_op_greeting to README Minimal Mode 2026-06-10 22:33:55 -04:00
rootiest 5394a6d494 docs(greeting): add C5 and C6 to __fish_config_op_enabled ARGUMENTS docstring 2026-06-10 22:30:26 -04:00
rootiest c9ac952553 feat(greeting): add late-running C6 fish_greeting override to config.fish 2026-06-10 22:27:00 -04:00
rootiest 85be47582b feat(greeting): add C6 greeting guard to first_run.fish welcome message 2026-06-10 22:25:10 -04:00
Gitea Actions 8de2cf229b chore(docs): regenerate man page, HTML docs, and wiki 2026-06-11 02:05:41 +00:00
rootiest 0cced863f8 Merge pull request 'feat(logging): add C5 — Logging & Capture opinionated guard' (#39) from feat/logging-toggle-c5 into main
Generate documentation / build-docs (push) Successful in 32s
Offline docs drift reminder / remind (push) Successful in 10s
Reviewed-on: #39
2026-06-11 02:05:06 +00:00
rootiest 7fcf268fc7 fix(logging): suppress Kitty watcher capture when C5 logging is disabled
When smart_exit skips fish-side capture due to the C5 guard, it now sets
logged_by_shell=true on the Kitty window before calling builtin exit. This
prevents watcher.py's on_close handler from capturing the scrollback even
if the sentinel file is absent, providing a second layer of protection.

Also restructures the capture block to be flat (no wrapper if-true) after
the early-exit guard.
2026-06-10 21:59:52 -04:00
rootiest 76349ad94b fix(logging): register C5 event handlers in conf.d for reliable startup
--on-variable handlers in functions/ are only autoloaded on explicit call,
so they never fire when a universal variable changes. Moving the definitions
to conf.d/logging-events.fish ensures they are registered at shell init.

Also adds a startup __fish_config_sync_logging call so pre-set variable
values (e.g. set before this shell was opened) take effect immediately
without requiring a re-set.
2026-06-10 21:54:56 -04:00
rootiest eb1b780a80 docs(logging): add C5 logging toggle to Minimal Mode in README 2026-06-10 21:49:47 -04:00
rootiest 2ce41d0c55 docs(logging): fix 'four' → 'five' category count in fish-config.md prose 2026-06-10 21:46:14 -04:00
rootiest e30ccbc633 docs(logging): document C5 logging guard in fish-config.md
Add __fish_config_op_logging (C5 — Logging & Capture) to the opinionated
components variable table and update the master-disable example comment
from "four categories" to "five categories".

AGENTS.md and opinionated_catalog.md are git-ignored per project policy;
those files were updated on disk but cannot be tracked in this repo.
2026-06-10 21:43:46 -04:00
rootiest 7e266cb61a feat(logging): gate paru/yay wrapper generation under C5 guard (Tasks 5-6)
Add C5 (Logging & Capture) guard to wrapper generation in both
conf.d/paru-wrapper.fish and conf.d/yay-wrapper.fish. When C5 logging
is disabled, the guard removes any generated wrapper and returns early,
allowing the system to fall back to the bare binary.

Also replaces stale Task #4 comment references with C5 classification.
2026-06-10 21:33:54 -04:00
rootiest be3dd7494e feat(logging): gate scrollback capture in smart_exit under C5 guard 2026-06-10 21:29:52 -04:00
rootiest 0382d6ab9c feat(logging): add C5 --on-variable event handlers for real-time sync 2026-06-10 21:28:13 -04:00
rootiest f17229d0b8 feat(logging): add __fish_config_sync_logging shared C5 state sync 2026-06-10 21:26:40 -04:00
rootiest 621d67e89e chore(logging): add .logging_disabled sentinel to .gitignore 2026-06-10 21:20:54 -04:00
Gitea Actions f9ba0e20ea chore(docs): regenerate man page, HTML docs, and wiki 2026-06-10 15:43:37 +00:00
rootiest 6d15701ad4 Merge pull request 'feat(guards): opinionated components guard (Task #3)' (#38) from opinionated-components-guard into main
Generate documentation / build-docs (push) Successful in 37s
Offline docs drift reminder / remind (push) Successful in 10s
Reviewed-on: #38
2026-06-10 15:42:58 +00:00
rootiest e30fc7a15c docs(config-vars): cross-reference minimal mode from Section 1 Other 2026-06-10 11:41:04 -04:00
rootiest 7bd080769e docs(guards): document opinionated component toggles
Adds 'Opinionated Components (Minimal Mode)' to docs/fish-config.md
with index keywords (opinionated, minimal, minimal-mode, opt-out,
toggles) and a Minimal Mode section with toggle table to README.md.
AGENTS.md Task #3 checklist ticked locally (file is git-ignored).
2026-06-10 11:38:14 -04:00
rootiest dc97892a29 feat(guards): add in-function opinionated guards and CachyOS cleanup
C1 shadows (rm, cat, ls, less, du, bash, top, ping, ssh, rg, mkdir,
help) fall back to the bare command when __fish_config_op_aliases is
falsy; rm falls back to exact 'command rm' with no wrapper. C2 gates
the auto-venv PWD hook. C3 gates smart_exit (composing with Task #4
logging), fish_right_prompt, and all six expand_bang_*/expand_typo_sub
functions atomically with the bang-bang system. C4 integration commands
(spwin, tab, split, hist, logs, upgrade) refuse with a colored stderr
error when disabled. config.fish now also strips the CachyOS distro
config's own bang-bang bindings, history override, and alias opinions
per category, restoring fish stock functions where they exist.
2026-06-10 11:34:56 -04:00
rootiest ce84db593c feat(guards): add opinionated component guards to config.fish and conf.d
Adds __fish_config_op_enabled helper (master __fish_config_opinionated
evaluated first via __fish_variable_check, then the category variable)
and gates C1-C4 components: CachyOS surgical override, PAGER/MANPAGER,
CDPATH, Vi mode, exit override, bang-bang bindings, history/cp/mv/wget/
grep aliases, cd->z alias, Fisher bootstrap and theme apply, paru/yay
wrapper generation, WakaTime hook, custom key chords, puffer, autopair,
starship prompt, Catppuccin colors, FZF_DEFAULT_OPTS, done notifications,
and Kitty/WezTerm window-management abbreviations.
2026-06-10 11:28:43 -04:00
rootiest cdf850f2e7 fix(config-help): quote +/pattern in MANPAGER to prevent word-splitting on spaces 2026-06-08 23:18:31 -04:00
rootiest c5d6e35afc fix(config-help): add -- separator before -+ regex pattern in string replace 2026-06-08 23:16:44 -04:00
Gitea Actions 17dcc99fc2 chore(docs): regenerate man page, HTML docs, and wiki 2026-06-09 03:15:49 +00:00
rootiest 831c7beb4d feat(config-help): add section linking for HTML and man page
Generate documentation / build-docs (push) Successful in 30s
Offline docs drift reminder / remind (push) Successful in 10s
- Section keyword is now extracted early and shared across all three
  output modes (pager, HTML, man) rather than duplicated per branch
- --html with a section keyword resolves the heading to a pandoc anchor
  ID and looks it up in docs/html/sitemap.json; handles both sub-section
  fragment paths and top-level sections that are their own page
- --man with a section keyword overrides MANPAGER to `less +/pattern`
  so the page opens at the nearest heading match
- --help output updated to show [section] in USAGE and section+flag
  examples (help config keybindings --html, help config pkg --man)
- docs/fish-config.md §5.14 synopsis, flags, and examples updated
- docs/fish-config.md §11 "Viewing" sections updated for both HTML and
  man page to document the section+flag invocation
- README table updated with section+html and section+man rows
2026-06-08 23:15:17 -04:00
Gitea Actions f4157fb4ba chore(docs): regenerate man page, HTML docs, and wiki 2026-06-09 03:05:21 +00:00
rootiest 79f8445e25 docs(help): prefer help config syntax; add NOTES to config-help doc block
Generate documentation / build-docs (push) Successful in 35s
Offline docs drift reminder / remind (push) Successful in 10s
- help.fish: expand SYNOPSIS/DESCRIPTION to document -w/--html, -m/--man,
  -h/--help flags; note flags are only intercepted when 'config' is argv[1]
- config-help.fish: add # NOTES section explaining help config as the
  preferred invocation; update --help banner to show both names; update
  --help USAGE/EXAMPLES output to use `help config` syntax throughout
- docs/fish-config.md: update §5.14 synopsis/examples and "Viewing" sections
  to use `help config` as primary form; inline note for direct config-help use
- README.md: update docs table to show `help config --html` / `--man`
2026-06-08 23:04:39 -04:00
Gitea Actions e86b537f6d chore(docs): regenerate man page, HTML docs, and wiki 2026-06-09 02:38:35 +00:00
rootiest 23e2f43447 docs: add sponge_privacy.fish to conf.d listing in fish-config.md
Generate documentation / build-docs (push) Successful in 30s
2026-06-08 22:38:03 -04:00
Gitea Actions 32630443a8 chore(docs): regenerate man page, HTML docs, and wiki 2026-06-09 02:32:06 +00:00
rootiest 21126012dc Merge pull request 'docs(fisher): clarify bundled vs fisher-managed plugins; add sponge' (#37) from docs/fisher-plugins-bundled into main
Generate documentation / build-docs (push) Successful in 37s
Offline docs drift reminder / remind (push) Successful in 12s
Reviewed-on: #37
2026-06-09 02:31:31 +00:00
rootiest 13eb93ce12 fix(sponge): escape leading -- in auth-flag pattern; purge stale -- patterns on load 2026-06-08 22:29:20 -04:00