Commit Graph

67 Commits

Author SHA1 Message Date
rootiest c909a4f054 docs(greeting): add C6 __fish_config_op_greeting to README Minimal Mode 2026-06-10 22:33:55 -04:00
rootiest eb1b780a80 docs(logging): add C5 logging toggle to Minimal Mode in README 2026-06-10 21:49:47 -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 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
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
rootiest 43123ff390 feat: add sponge via fisher; gitignore fisher-managed files
meaningful-ooo/sponge is now the one true Fisher-managed plugin,
giving the bootstrap a concrete purpose. Its files (and functions/fisher.fish,
completions/fisher.fish) are gitignored so Fisher owns them exclusively —
no committed/managed conflict possible.

Updates docs, index, requirements, and README to distinguish
Fisher-managed plugins from bundled customized ones.
2026-06-08 22:01:30 -04:00
rootiest 8e7e450a9d docs: clarify that plugin functionality is bundled, not managed by fisher
Only jorgebucaran/fisher itself is in fish_plugins. The functionality
from catppuccin/fish, fzf.fish, done, autopair, and puffer-fish is
bundled directly with this config in modified form and must not be
installed or updated via fisher.

Removes sponge (not present), corrects file path mappings for bundled
components, fixes stale "Plugin sync failed" message in first_run.fish,
and expands fish-config.index with missing sections 9–11.
2026-06-08 21:51:27 -04:00
rootiest d53237f53c docs(readme): make wiki link prominent as a standalone heading
Offline docs drift reminder / remind (push) Successful in 13s
2026-06-08 17:15:46 -04:00
rootiest 8e32196a79 docs: slim README to overview+docs pointer; expand offline manual
- README now contains only Overview, Documentation, Installation,
  Personalization, Attribution, and License; all detailed reference
  content has been removed since it is covered in the wiki
- Add Documentation section above Installation pointing to docs/wiki/
- docs/fish-config.md: add §4.11 Shell Aliases (navigation dots, color
  overrides, safety wrappers, archives, system logs)
- docs/fish-config.md: add Prompt and Theme subsection to §7 with
  Starship OSC 133 marker detail and FZF Catppuccin color values
- Regenerate docs/wiki/ with all new content
2026-06-08 16:44:15 -04:00
rootiest 21437d1881 feat(docs): add auto-generated Markdown wiki
Generate documentation / build-docs (push) Successful in 32s
Offline docs drift reminder / remind (push) Successful in 10s
Adds docs/split-wiki.py, a Python script that splits fish-config.md
into a multi-page Markdown wiki under docs/wiki/:

- index.md: DESCRIPTION intro + full section ToC
- one file per numbered section (1-configuration-variables.md … 9-viewing-this-manual.md)
- each section page has a nav bar at the top linking to every other section

The build-docs.yml workflow now runs the script alongside pandoc so all
three formats (man page, HTML, wiki) are regenerated together from a
single source in one CI run.

README slimmed down to a pointer to the wiki; docs/fish-config.md §9
gains an "As a wiki" subsection.
2026-06-08 16:27:35 -04:00
rootiest de07040c16 feat(config-help): add --html and --man flags; add config-update function
config-help gains two new flags:
- --html / -w: opens docs/html/index.html in the default browser using
  smart browser detection (xdg-mime https scheme handler → known binaries
  → xdg-open fallback) to avoid MIME-type mismatches with non-browser apps
- --man / -m: opens the compiled docs/fish-config.1 man page via man -l

config-update is a new function that pulls the latest fish config from the
hard-coded upstream URL without requiring a configured git remote. Suppresses
git output and reports status with colored messages. Supports --dry-run and
--force flags.

README updated to document all new commands.
2026-06-08 15:29:57 -04:00
rootiest 9779dcc8ec docs(readme): Keep intro text line length under 80 characters
Offline docs drift reminder / remind (push) Successful in 5s
2026-06-06 23:24:56 -04:00
rootiest 91ee993302 docs(readme): fix minor table alignment formatting
Offline docs drift reminder / remind (push) Failing after 3s
2026-06-06 23:15:58 -04:00
rootiest 278ceb2c06 docs(readme): document first_run.fish and update Fisher bootstrap reference 2026-06-06 23:12:30 -04:00
rootiest 569d17a342 feat(help): integrate config-help into fish's help command
Rename config_help → config-help and add a help wrapper that
intercepts 'help config [section]', forwarding sub-topics to
config-help. Update README and docs to use 'help config' as the
preferred interface so offline docs feel like a natural extension
of fish's built-in help system.
2026-06-06 22:31:24 -04:00
rootiest 4117b0ddb6 feat(tricks): auto-create fish-config.1 symlink on shell start
Offline docs drift reminder / remind (push) Failing after 3s
Generate man page / build-manpage (push) Successful in 16s
The symlink from ~/.local/share/man/man1/fish-config.1 to
docs/fish-config.1 is now created automatically alongside the
existing MANPATH setup, making `man fish-config` work out of the
box on any machine after cloning. Simplified docs accordingly.
2026-06-06 04:37:58 -04:00
rootiest 7359c12e79 docs: document man fish-config and fish_config naming distinction
Offline docs drift reminder / remind (push) Failing after 4s
Generate man page / build-manpage (push) Successful in 17s
Adds man page viewing instructions to README Offline Documentation
section and to docs/fish-config.md section 9, including a note that
fish-config (hyphen) is this config's man page while fish_config
(underscore) is fish's built-in browser tool.
2026-06-06 04:35:21 -04:00
rootiest 329dae0f08 docs(readme): add docs/ directory to Structure section
Offline docs drift reminder / remind (push) Failing after 3s
Co-documents fish-config.md and fish-config.index in the repo layout.
2026-06-06 04:27:02 -04:00
rootiest 02c27c6907 feat(docs): add offline documentation, config_help viewer, and CI pipelines
- docs/fish-config.md: curated terminal-optimized manual covering all
  public functions, keybindings, abbreviations, configuration variables,
  dependency catalog, and customization guide. Written for ov/bat/less
  readability rather than browser rendering — no callouts, no hyperlinks.
  Pandoc-compatible YAML front matter for man page compilation.

- functions/config_help.fish: viewer function with fallback chain
  ov -> bat -> man -l -> less -> cat. Accepts an optional section
  keyword to jump directly to the first matching heading.

- .gitea/workflows/man-page.yml: compiles docs/fish-config.md to
  docs/fish-config.1 via pandoc on every push to main that touches the
  source doc, then commits the result automatically.

- .gitea/workflows/docs-drift.yml: opens a reminder issue whenever
  README.md changes without a corresponding docs/fish-config.md update
  in the same push.

- README.md: documents config_help and the offline manual.
- AGENTS.md: adds Convention 10 requiring offline doc to be updated
  alongside any function, keybinding, or config change.
2026-06-06 03:14:36 -04:00
rootiest 00055a7c38 feat(pkg): add cross-platform package manager support
Refactor pkg.fish to auto-detect the system package manager via
_fish_deps_detect_pm instead of hard-requiring paru/yay. Supports
install, uninstall, and auto (toggle) modes across paru, yay, pacman,
apt, dnf, zypper, yum, brew, and pkg. Package installed-checks now use
the correct query tool per PM (pacman -Qi, dpkg -s, rpm -q, etc.).

Also adds zypper to the _fish_deps_detect_pm detection priority list.
2026-06-06 02:41:10 -04:00
rootiest 2a08e1acef feat(shell): add fzf inline picker bound to @@
Adds __fzf_inline_picker function and @@ keybinding (Emacs + all Vi
modes). Opens an fzf session and injects the selected item at the
cursor position in the current command line. Includes SYNOPSIS/
DESCRIPTION doc block per project conventions. Updates README with
new binding in the User Bindings table.
2026-06-05 19:46:54 -04:00
rootiest 13b9ba5828 docs(readme): update mkdir, mkcd, poke entries for _fish_mkdir_p integration 2026-06-03 23:26:21 -04:00
rootiest c97c2290eb feat(shell): add poke function and update fish-deps for ov and yay
- Add poke: touch with automatic parent directory creation; prints
  colored notice when new dirs are created; handles multiple file args
- Refactor config.fish CachyOS override block: consolidate copy into
  the erase+source loop alongside ls/lt/cleanup
- fish-deps: replace most with ov (cargo crate + AUR pkg); add yay as
  rec dep with yay-build special (paru -S yay or AUR makepkg); add
  update handling for yay-build in _fish_deps_update
- README: document poke in Directory & File Listing table
2026-06-03 22:52:49 -04:00
rootiest 7610a4121d docs(readme): simplify return sentinel callout wording 2026-06-03 21:11:34 -04:00
rootiest fd1ddddbf0 fix(shell): preserve scrollback prompt colors in ov sticky headers
Use a per-invocation temp ov config to set SectionLine Background/Foreground
to empty strings, preventing ov from overriding the ANSI colors embedded in
the starship prompt when it is pinned as a sticky section header.

Also adds a second return sentinel inside the interactive block of config.fish
to guard against tool-injected init lines that target the inner scope, and
updates README accordingly.
2026-06-03 20:43:00 -04:00
rootiest db33d9cff7 feat(shell): enhance log browser, add yay wrapper, and integrate starship OSC prompt markers
- logs.fish: add yay category, ov-powered viewing for paru/yay (section
  headers, color highlights, ==> AUR build markers) and scrollback logs
  (OSC 133;A sticky prompt headers); add fzf Ctrl-D delete with Y/n
  confirm and list refresh, ? toggleable help overlay; run
  _scrollback_prune_junk before building file list
- _scrollback_prune_junk: new utility to remove empty, single-line, and
  Kitty tab-rename noise logs before display and before max-file pruning;
  called from both logs and smart_exit
- smart_exit: call _scrollback_prune_junk before counting toward max files
- conf.d/yay-wrapper.fish: auto-generate ~/.local/bin/yay logging wrapper
  mirroring paru-wrapper; tees output to timestamped logs, prunes old ones
- conf.d/starship.fish: move fish_prompt from config.fish; emit OSC 133;A
  after the prompt's leading newline so the marker lands on the info-bar
  line rather than the blank line above it; guard with type -q starship so
  clean fish sessions use built-in markers unchanged
- config.fish: remove inline fish_prompt block (now in conf.d/starship.fish);
  add return sentinel at EOF to prevent tool-injected init lines from running
- completions/ov.fish: add ov tab completions
- README.md: document all of the above
2026-06-03 01:02:55 -04:00
rootiest f97272d0ec feat(shell): replace pager with ov, add logs browser, and auto-generate paru wrapper
- Set $PAGER to ov in config.fish (falls back to less); remove LESS=-R
- Rewrite less wrapper with full hierarchy: $PAGER → ov → less → more → cat
- Simplify view.fish fallback to delegate to the less wrapper
- Add logs function: fzf browser for scrollback and paru logs, opens in $PAGER
- Add claude wrapper: auto-injects --remote-control unless already present
- Add conf.d/paru-wrapper.fish: generates ~/.local/bin/paru on first run,
  versioned so future template changes auto-propagate on next shell start
- Sync README.md and requirements.md to document all of the above
2026-05-31 20:39:52 -04:00
rootiest 378cb6b221 feat(shell): add scrollback history capture on shell exit
- Add smart_exit function: captures Kitty scrollback to a timestamped
  log file on exit; --no-log/-n skips capture; auto-prunes oldest logs
  once count exceeds SCROLLBACK_HISTORY_MAX_FILES
- Wire exit → smart_exit in config.fish for interactive sessions;
  export SCROLLBACK_HISTORY_DIR and SCROLLBACK_HISTORY_MAX_FILES with
  sane defaults (~/.terminal_history and 100 respectively)
- Update cat to detect files in SCROLLBACK_HISTORY_DIR or containing
  raw ANSI escape sequences and pass them through command cat instead
  of bat, preserving color output
- Remove redundant alias rm="rm -i" from tricks.fish (superseded by
  functions/rm.fish trash-aware wrapper)
- Sync README: new Scrollback History integration section, smart_exit
  added to System functions table, cat description updated, stale rm
  Safety Wrapper entry and note removed
2026-05-30 01:20:40 -04:00
rootiest 1ef4bb9f0a feat(shell): expand tricks.fish with system aliases, bat man pages, and done plugin
- Add system aliases: dot-navigation (.., ..., etc.), color overrides for
  grep/dir/vdir, safety wrappers (cp/mv/rm -i), archive shortcuts
  (tarnow, untar), wget resume, tb (termbin), and jctl
- Set MANPAGER/MANROFFOPT to render man pages through bat when available
- Configure franciscolourenco/done notification plugin settings
  (__done_min_cmd_duration=10s, __done_notification_urgency_level=low)
- Add psmem/psmem10 memory-monitoring helpers
- Switch PATH setup to fish_add_path (handles deduplication automatically)
- Add conf.d/done.fish (done plugin v1.19.1)
- Source tricks.fish explicitly after CachyOS base config in config.fish
- Sync README with all new functions, aliases, and integrations
2026-05-29 14:04:03 -04:00
rootiest e4743bc8e2 feat(shell): add CachyOS-derived tricks.fish and copy utilities
Adds conf.d/tricks.fish (PATH additions for ~/.local/bin and depot_tools,
bang-bang key bindings, history timestamp override, backup utility) and
functions/copy.fish (smarter cp wrapper that strips trailing slashes from
source directories, fixing a CachyOS-specific cp quirk).

Updates config.fish to explicitly source copy.fish on startup and refactors
several conditional blocks to single-line style for consistency. Syncs
README.md to document all new utilities.
2026-05-29 13:36:03 -04:00
rootiest 2e7f2d07e4 feat(navigation): add mkcd function
Creates a directory (including all missing parents) and immediately
cd's into it. Supports -h/--help, distinguishes new vs existing dirs
in feedback, and uses set_color for consistent colored output.
2026-05-27 15:30:08 -04:00
rootiest 724c631cd0 feat(system): add sudo-toggle function
Toggles sudo password enforcement on/off by writing or
truncating a NOPASSWD rule in /etc/sudoers.d/nofail-toggle.
Useful for temporarily bypassing FIDO key prompts during
batch admin tasks without permanently weakening sudoers.
2026-05-26 13:09:41 -04:00
rootiest 31a1c4089a feat(pkg): add install/remove toggle with force flags
pkg now auto-detects whether each package is installed and
installs or removes accordingly. Explicit -i/--install and
-u/--uninstall flags override the auto-detection. Adds help
output when invoked without arguments.
2026-05-26 13:09:22 -04:00
rootiest ed11877ff4 docs(readme): sync README with gi/gitig merge and magic-enter removal
- Remove magic-enter.fish from plugins table (plugin removed)
- Add gi function to Git functions table with all flags documented
- Add gitig/git-ignore abbreviations to Git abbreviations table
- Add GITIGNORE_BOILERPLATE env var example to local.fish personalization block
2026-05-22 23:48:20 -04:00
rootiest af979db1b0 docs(readme): add scrub function to Miscellaneous table 2026-05-20 21:01:52 -04:00
rootiest e075c40c9d feat(ai): migrate gemini-cli references to antigravity-cli (agy)
Rename gemini-resume → antigravity-resume and save_gemini_session →
save_antigravity_session; update all session files from .gemini_session
to .antigravity_session and LAST_GEMINI_SESSION → LAST_ANTIGRAVITY_SESSION.
Replace gemini/gemini-cli binary calls with agy throughout superpowers,
code-resume, and the resume function. Add antigravity-ide wrapper for the
renamed IDE binary; update abbr v → antigravity-ide (VSCode-equivalent)
and update README/requirements to reflect the new tool names.
2026-05-20 20:41:04 -04:00
rootiest a351e62a17 feat(fish-deps): add uv as managed dep; install before cargo and fish
uv is now listed first in the catalog (before cargo and fish) so it is
installed automatically before the fish source build is attempted.
Install uses the official curl script; update uses `uv self update`.

Catalog order is now: uv → cargo → fish → … ensuring prerequisites are
in place before any dependent install method runs.

README updated: uv and cargo added to the Required table, warning callout
and dependency management note reflect the automatic install flow.
2026-05-18 23:34:49 -04:00
rootiest 7936a0966e feat(fish-deps): build fish from source via git + cargo when upgrading
Adds a git-cargo-fish install method that clones fish-shell, checks out
the latest tag, and runs `uv run --no-managed-python cargo install --path .`.
This is offered first in `fish-deps install` (requires cargo + uv) and
used automatically by `fish-deps update`, falling back to the system PM
when cargo or uv are absent.

Removes the stale `cargo install fish` README note (that crate is a
library, not the shell binary).
2026-05-18 23:29:55 -04:00
rootiest 9e7539d863 feat(deps): support upgrading fish itself via cargo install fish
Fish 4.x is a Rust rewrite published to crates.io as 'fish'. Added the
crate to the catalog so fish-deps update will run cargo install --force
fish to upgrade it. A yellow restart reminder is printed after the
upgrade since the new binary won't take effect until the shell restarts.

README warning updated to mention cargo install fish as the upgrade
path for users stuck on Fish 3.x.
2026-05-18 22:23:10 -04:00
rootiest 6fd1e3221e docs(readme): require Fish >= 4.0 and add Rust/cargo to dependencies 2026-05-18 22:20:16 -04:00
rootiest a86f797627 fix(deps): demote paru from required to recommended
paru is an AUR helper only available on Arch-based distros and is not
required for the config to function. Moved to recommended tier alongside
yay. README updated accordingly.
2026-05-18 21:59:56 -04:00
rootiest 9b342114aa feat(deps): add fish-deps unified dependency management command
Introduces `fish-deps` with four subcommands:
- status: colored installed/missing report per tier (required/integrations/recommended)
- install: interactively install each missing dep, prompts method when multiple exist
- update: update all installed deps using their preferred method
- sync: install missing then update installed

Install method priority: cargo (Rust tools get latest crate) > system PM
(paru/pacman/apt/brew/pkg/dnf/yum) > git clone (fzf via fzf-update) >
curl installer (starship, fisher) > pipx (wakatime).

Splits into focused helper files:
- _fish_deps_catalog.fish: parallel-array dep catalog with tiers, cargo crates, PM names, special install keys
- _fish_deps_pm.fish: PM detection and install/upgrade helpers
- _fish_deps_status.fish: tier-grouped colored status display
- _fish_deps_install.fish: per-dep interactive install with method selection
- _fish_deps_update.fish: per-dep update using known install method

check_fish_deps becomes a thin wrapper delegating to `fish-deps status`.
README updated with Dependency Management section.
2026-05-18 21:51:22 -04:00
rootiest d2e7c799c4 docs(readme): use callouts for notes/tips
Use callouts and clearer wording in the Integrations section.
2026-05-12 00:08:00 -04:00
rootiest 2e3230974c feat(completions): unify cd/z completions across CWD, CDPATH, and zoxide
Previous to this commit, tab completion and auto-suggestions for cd/z
were inconsistent — only one or two of: CWD, CDPATH, and zoxide frecency
results would work at a time, with different sourced matches shown in
tab completion, shown in auto-suggest, and execution after pressing
<Enter>.

- Add _zoxide_z_complete in functions/zoxide.fish that merges all three
  sources into a single completion list (CWD via __fish_complete_cd,
  CDPATH via __fish_complete_directories, zoxide via query -l capped at
25)
- Wire the new completer to both z and cd via complete directives in
  conf.d/zoxide.fish, replacing the previous incomplete approach
- Add completions/zoxide.fish for full tab completion of the zoxide CLI
  itself (add, query, remove, import, init subcommands)
- Update README to document the unified completion behavior and fix
  structural issues in Personalization/Attribution/Dependencies sections
2026-05-11 23:28:59 -04:00
rootiest b62c2476da feat(functions,bindings): add smart-execute, fast-cli; refactor qalc and rm
- Add _smart_execute: context-aware Ctrl+Enter that routes to qalc when
  the buffer ends with '=', or falls through to standard execute otherwise
- Refactor qalc_eval → _qalc_eval (private helper, same behavior)
- Bind Ctrl+Enter to _smart_execute in all vi modes
- Add fast-cli wrapper (fast.com speed test) and fast placeholder with
  a friendly ANSI redirect message
- Add speedtest-fast abbreviation expanding to fast-cli
- Enhance _replace_command_token to handle sudo-prefixed commands: places
  cursor at index 5 (between sudo and the replacement slot)
- Improve rm error reporting: colored output, culprit-path listing, and
  cleaned technical detail for non-missing-file errors
- Add SPDX copyright headers to cat, ld, claude-docs, claude-pr functions
- Update README: Ctrl+Enter binding, fast-cli/fast functions, speedtest-fast abbr
2026-05-10 01:36:14 -04:00
rootiest 37f35ce0a0 feat(functions): add claude-docs and claude-pr helper functions
Add two Claude Code helper functions to streamline common dev workflows:
- `claude-docs`: triggers Claude to sync README.md with recent session changes
- `claude-pr`: triggers Claude to create a branch, commit, push, and open a PR

Also add `.claude` to .gitignore and document both functions in README.md.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08 13:37:41 -04:00
rootiest 95f26eadc1 docs(readme): add Ctrl+Alt+= qalc_eval keybinding to User Bindings table
Documents the new inline Qalculate! evaluator shortcut added in the
recent config refactor, so users know it exists and how to use it.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08 00:57:38 -04:00
rootiest d8bd2b32ab feat(config): refactor config.fish, add XDG compliance, new functions, and keybindings
Restructure and expand the Fish shell configuration for better XDG compliance,
interactive-session gating, modularity, and ergonomics.

config.fish:
- Add full XDG Base Directory variable block (XDG_CONFIG_HOME, XDG_CACHE_HOME,
  XDG_DATA_HOME, XDG_STATE_HOME) and redirect tool caches/configs accordingly
  (cargo, rustup, go, bun, npm, gnupg, wakatime, wget, nvidia, codeium, etc.)
- Add editor setup with `type -q nvim` guard and NVIM_APPNAME
- Add CDPATH block (., ~/projects, ~) with explanatory comments
- Gate all interactive-only setup (key bindings, FZF, direnv, starship, secrets,
  local overrides, CLAUDE_CODE_NO_FLICKER) behind `status is-interactive`
- Guard FZF integration source behind a file-existence check
- Move secrets.fish and local.fish sourcing into the interactive block as overrides
- Remove obsolete universal `cdp` variable and duplicate PATH/editor blocks
- Update PATH entries to use XDG-resolved $CARGO_HOME and $BUN_INSTALL

conf.d/theme.fish:
- Move FZF_DEFAULT_OPTS (Catppuccin Mocha palette) from config.fish into theme.fish
  so all theming lives in one place
- Add section header for FZF colors; condense file header comment

conf.d/abbr.fish:
- Add `/exit` abbreviation as a vim-style alias for the `exit` builtin

conf.d/key_bindings.fish:
- Bind Ctrl+Alt+= to new `qalc_eval` function (inline Qalculate! evaluation)
- Add binding in both normal and all Vi modes
- Add descriptive comment block explaining the keybinding purpose

functions/bash.fish:
- Pass `--rcfile "$XDG_CONFIG_HOME/bash/bashrc"` so bash respects XDG config location

functions/cat.fish:
- Extend cat wrapper: detect directory arguments and delegate to `ls` instead of bat
- Preserve stdin-passthrough behavior when no arguments are provided

functions/__auto_source_fallback_venv.fish (new):
- Extract auto-venv PWD watcher from config.fish into its own autoloaded function file
- Skips activation when direnv manages the directory (.envrc present or DIRENV_DIR set)
- Deactivates venv when leaving its project tree

functions/ld.fish (new):
- Wrapper for lazydocker that injects the active Docker context's DOCKER_HOST,
  enabling correct context-aware operation

functions/joplin.fish (new):
- Joplin CLI wrapper function

functions/qalc_eval.fish (new):
- Inline Qalculate! evaluator: reads the current commandline buffer, passes it to
  `qalc`, prints the result, and clears the buffer for rapid-fire math in the shell

README.md:
- Remove stale `cdp` variable example from the local.fish documentation section

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08 00:45:02 -04:00
rootiest a7833919a2 docs: update terminal, utility, and system function documentation in fish README 2026-04-30 23:36:29 -04:00
rootiest a39df3c466 feat(terminal): harden terminal abbreviations and functions
- Wrap Kitty-specific abbreviations and functions with $TERM checks

- Resurrect WezTerm abbreviations and wrap with $TERM_PROGRAM checks

- Add check_fish_deps function to list and verify all fish-related dependencies

- Update README to recommend Kitty and WezTerm and document requirements

- Improve fallback behavior for rg outside of Kitty
2026-04-30 20:44:58 -04:00