chore(docs): regenerate man page, HTML docs, and wiki

This commit is contained in:
Gitea Actions
2026-06-11 03:38:01 +00:00
parent fc17c9fd61
commit a9d1d6ac4d
7 changed files with 558 additions and 3 deletions
+151
View File
@@ -587,6 +587,157 @@ upgrade) print an error naming the variable that disabled them.</li>
<li>On CachyOS, the distro fish config's own aliases, history override,
and bang-bang bindings are stripped per category as well.</li>
</ul>
<h3 data-number="11.5.1" id="component-reference">Component
Reference</h3>
<p>The following tables detail every component in each category. Use
this reference to understand exactly which behaviors change when you
toggle a category variable.</p>
<h4 data-number="11.5.1.1" id="c1--command-shadows">C1 — Command
Shadows</h4>
<p>Disabling __fish_config_op_aliases restores standard system behavior
for all of these commands.</p>
<pre><code>Command / Alias Active behavior Disabled fallback
───────────────────────────────────────────────────────────────────────────
ls eza -l -a --icons --hyperlink system ls
cat bat syntax-highlighted; dirs → ls /usr/bin/cat
cd zoxide frecency-based navigation fish builtin cd
rm moves files to trash (recoverable) command rm (permanent)
less $PAGER → ov → less → more → cat system less
du duf (disk overview) or dust (dir tree) system du
top btop resource monitor system top
ping prettyping --nolegend animation system ping
ssh kitten ssh in Kitty terminal system ssh
rg rg --hyperlink-format=kitty system rg
mkdir verbose path-tree display on creation mkdir -p silently
bash XDG bashrc + $SHELL reset on exit system bash
history timestamps prepended to every entry fish builtin history
cp / mv forced -i confirmation prompt cp / mv unmodified
wget forced --continue (resume downloads) system wget
grep/fgrep/egrep forced --color=auto system grep variants
dir / vdir forced --color=auto system dir / vdir
help config intercepts &quot;help config&quot; → config-help fish builtin help</code></pre>
<p>When C1 is disabled, <code>rm</code> uses bare
<code>command rm</code> with no wrapper — files are permanently deleted,
not trashed. There is no intermediate safety net.</p>
<h4 data-number="11.5.1.2" id="c2--startup-side-effects">C2 — Startup
Side-Effects</h4>
<p>These run automatically without any user action. Disabling
__fish_config_op_autoexec prevents all of them.</p>
<pre><code>Component Trigger What it does
───────────────────────────────────────────────────────────────────────────
Fisher bootstrap First shell only Downloads and installs fisher
Fisher update After bootstrap Installs all fish_plugins entries
Catppuccin Mocha theme First shell only Applies theme via fish_config
paru wrapper Every startup Writes ~/.local/bin/paru wrapper
yay wrapper Every startup Writes ~/.local/bin/yay wrapper
Python venv activation On every cd Sources .venv/bin/activate.fish
WakaTime command hook On every command Reports to WakaTime API</code></pre>
<p>When C2 is disabled: no Fisher install, no theme application, no
paru/yay wrapper generation, no automatic venv activation, and no
WakaTime reporting. The first-run completion marker
(__fish_config_first_run_complete) is still set so the init does not
re-run on subsequent shells.</p>
<p>Python venv activation fires on every directory change. If a
directory uses direnv (.envrc present), direnv takes priority and
auto-venv is skipped for that directory.</p>
<h4 data-number="11.5.1.3" id="c3--key-and-environment-overrides">C3 —
Key and Environment Overrides</h4>
<p>These change fundamental shell behavior: how keys work, which pager
opens, and what the prompt looks like. Disabling
__fish_config_op_overrides removes all of them.</p>
<pre><code>Override What it replaces or sets
───────────────────────────────────────────────────────────────────────────
Vi mode fish_vi_key_bindings replaces default Emacs mode
exit → smart_exit exit wrapper that captures scrollback before closing
PAGER=ov ov used by git, man, and all $PAGER-aware tools
MANPAGER=bat pipeline man pages rendered with syntax highlighting
CDPATH=. ~/projects ~ bare dir names resolve against ~/projects and ~
Bang-bang system ! and $ keys expand history; !^, !*, !-N, !?str?,
^old^new abbreviations; six expand_bang_* helpers
Autopair ( [ { &quot; &#39; auto-close to (), [], {}, &quot;&quot;, &#39;&#39;
Puffer key intercepts . ! $ * keys intercepted for smart expansion
Starship prompt fish_prompt replaced by Starship + OSC 133 markers
Catppuccin colors 30+ fish_color_* variables set to Mocha palette
FZF_DEFAULT_OPTS FZF themed to Catppuccin Mocha colors
Right prompt fish_right_prompt: Docker context + timestamp</code></pre>
<p>The bang-bang system spans key_bindings.fish, abbr.fish, puffer.fish,
and six expand_bang_*.fish functions. All are gated together — disabling
C3 removes the entire bang-expansion system at once.</p>
<p>When C3 is disabled, <code>exit</code> falls back to
<code>builtin exit</code> with no scrollback capture, no Kitty IPC, and
no file I/O on exit. The scrollback capture block is independently
controlled by C5 (see below).</p>
<h4 data-number="11.5.1.4" id="c4--terminal-and-tool-integration">C4 —
Terminal and Tool Integration</h4>
<p>These features couple the shell to specific external tools. Disabling
__fish_config_op_integrations disables all of them.</p>
<pre><code>Component Requires
───────────────────────────────────────────────────────────────────────────
~60 Kitty/WezTerm abbrs Active Kitty or WezTerm session
(:w, :wv, :wh, :t, etc.)
Done desktop notifications Graphical desktop with a notification daemon
spwin Kitty or WezTerm
tab Kitty, WezTerm, or Konsole
split Kitty or WezTerm
hist fzf + wl-copy (Wayland clipboard)
logs fzf + ov; reads from ~/.terminal_history/
upgrade paru or yay (Arch Linux only)
WakaTime hook wakatime CLI and a configured API key</code></pre>
<p>Disabled integration commands (spwin, tab, split, hist, logs,
upgrade) print a colored error to stderr naming the variable that
disabled them rather than silently failing.</p>
<h4 data-number="11.5.1.5" id="c5--logging-and-capture">C5 — Logging and
Capture</h4>
<p>Three components capture shell output to disk. Disabling
__fish_config_op_logging skips all capture and removes the logging
wrappers.</p>
<pre><code>Component What it captures
───────────────────────────────────────────────────────────────────────────
Scrollback capture Terminal session output saved to:
~/.terminal_history/scrollback_YYYY-MM-DD_HH-MM-SS.log
paru wrapper All paru/AUR output teed to:
~/.terminal_history/paru_YYYY-MM-DD_HH-MM-SS.log
yay wrapper All yay/AUR output teed to:
~/.terminal_history/yay_YYYY-MM-DD_HH-MM-SS.log
Kitty watcher watcher.py captures scrollback when Kitty closes</code></pre>
<p>Logging coordination via sentinel file</p>
<p>C5 uses a sentinel file to synchronize state between the shell and
out-of-process components (the Kitty watcher and all running
shells):</p>
<pre><code>~/.config/fish/.logging_disabled</code></pre>
<p>Disabling __fish_config_op_logging:</p>
<ol type="1">
<li>Creates the sentinel immediately in every open shell.</li>
<li>Removes ~/.local/bin/paru and ~/.local/bin/yay logging wrappers;
bare /usr/bin/paru and /usr/bin/yay are used instead.</li>
<li>Kitty's watcher.py reads the sentinel on each save attempt and skips
capture — no Kitty restart required.</li>
<li>smart_exit stops saving scrollback logs.</li>
</ol>
<p>Re-enabling __fish_config_op_logging:</p>
<ol type="1">
<li>Removes the sentinel in every open shell.</li>
<li>Regenerates paru/yay logging wrappers in ~/.local/bin/.</li>
<li>Kitty watcher resumes capture on the next session exit.</li>
</ol>
<p>Changes propagate to all running shells through an event handler that
fires whenever __fish_config_op_logging changes — no shell restart
needed.</p>
<p>Note: C3 and C5 compose independently. C3 controls whether the
smart_exit wrapper is active at all; C5 controls only the
scrollback-capture block inside it. With C3 disabled, exit is plain
builtin exit regardless of C5.</p>
<h4 data-number="11.5.1.6" id="c6--greeting-and-first-run-ui">C6 —
Greeting and First-Run UI</h4>
<pre><code>Component What it shows
───────────────────────────────────────────────────────────────────────────
First-run welcome banner One-time message on first interactive session
fish_greeting override Empty function defined late in config.fish to
suppress distro greetings (e.g. CachyOS sets
fish_greeting to fastfetch by default)</code></pre>
<p>When C6 is disabled, no greeting is printed by this config. Any
greeting set by the distro or other configs runs normally — this config
simply does not override it.</p>
<h2 data-number="11.6" id="prompt-and-theme">Prompt and Theme</h2>
<h3 data-number="11.6.1" id="starship">Starship</h3>
<p>The primary prompt is Starship, initialized by conf.d/starship.fish.
+10 -1
View File
@@ -589,7 +589,16 @@ Falls back to /usr/bin/rm when trash is unavailable.
rm file.txt # moves to trash
rm -e # empty trash
rm -S sensitive.pem # permanent delete</code></pre>
<h3 data-number="9.1.17" id="scrub">scrub</h3>
<h3 data-number="9.1.17" id="rg">rg</h3>
<pre><code>Synopsis: rg [args...]
In Kitty, wraps ripgrep with --hyperlink-format=kitty so search
results are clickable file links in the terminal. Falls back to
system rg in any other terminal. All other arguments pass through
unchanged.
rg &quot;fish_greeting&quot; ~/.config/fish/
rg -l &quot;TODO&quot; ~/projects/myapp</code></pre>
<h3 data-number="9.1.18" id="scrub">scrub</h3>
<pre><code>Synopsis: scrub [-a] [-d] [-h]
Recursively removes OS metadata, editor artifacts, compiler output,
and dev caches using fd.
+6 -1
View File
@@ -611,6 +611,7 @@ id="toc-mkcd">mkcd</a></li>
<li><a href="9-5-functions-reference.html#poke"
id="toc-poke">poke</a></li>
<li><a href="9-5-functions-reference.html#rm" id="toc-rm">rm</a></li>
<li><a href="9-5-functions-reference.html#rg" id="toc-rg">rg</a></li>
<li><a href="9-5-functions-reference.html#scrub"
id="toc-scrub">scrub</a></li>
</ul></li>
@@ -821,7 +822,11 @@ id="toc-fish-universal-variables">Fish Universal Variables</a></li>
<li><a
href="11-7-customization.html#opinionated-components-minimal-mode"
id="toc-opinionated-components-minimal-mode">Opinionated Components
(Minimal Mode)</a></li>
(Minimal Mode)</a>
<ul>
<li><a href="11-7-customization.html#component-reference"
id="toc-component-reference">Component Reference</a></li>
</ul></li>
<li><a href="11-7-customization.html#prompt-and-theme"
id="toc-prompt-and-theme">Prompt and Theme</a>
<ul>
File diff suppressed because one or more lines are too long