diff --git a/.gitignore b/.gitignore index 9f71d48..87cc2b5 100644 --- a/.gitignore +++ b/.gitignore @@ -62,6 +62,15 @@ opinionated_catalog.md docs/superpowers +# ──────────────── Fisher-Managed Plugin Files ─────────────── +# Fisher writes these into the repo directory on install/update. +# They are owned by Fisher — do not commit them. +functions/fisher.fish +completions/fisher.fish +conf.d/sponge.fish +functions/_sponge*.fish +functions/sponge_*.fish + # ─────────────────── AI Sessions and Rules ────────────────── # Matches CLAUDE.md, .claud*, etc. [Cc][Ll][Aa][Uu][Dd][Ee].[Mm][Dd] diff --git a/README.md b/README.md index ccb7662..4a27f46 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ This config layers on top of the CachyOS base Fish configuration and adds: - **Catppuccin Mocha** theming throughout (prompt, FZF, syntax highlighting) - **Starship** prompt with VI key bindings -- **Fisher** plugin manager bootstrapped automatically; plugin functionality (FZF bindings, Catppuccin theme, done notifications, autopair, puffer-fish) bundled directly with the config +- **Fisher** plugin manager bootstrapped automatically; manages `sponge` (failed-command history filter); FZF bindings, Catppuccin theme, done, autopair, and puffer-fish are bundled directly with the config as customized versions - **Smart CLI wrappers** that prefer modern tools (`eza`, `bat`, `btop`, `dust`, `prettyping`) with graceful fallbacks - **Auto Python venv** activation on directory change (direnv-aware) - **Kitty terminal** deep integration for splits, tabs, and SSH diff --git a/docs/fish-config.index b/docs/fish-config.index index 273c354..531404f 100644 --- a/docs/fish-config.index +++ b/docs/fish-config.index @@ -166,6 +166,8 @@ universal=## Fish Universal Variables # ── Section 8: Fisher Plugins ───────────────────────────────── plugins=# 8. FISHER PLUGINS fisher=# 8. FISHER PLUGINS +fisher-managed=## Fisher-Managed Plugins +sponge=## Fisher-Managed Plugins bundled-plugins=## Bundled Plugin Functionality fish-plugins-manifest=## fish_plugins Manifest diff --git a/docs/fish-config.md b/docs/fish-config.md index 57c6dcc..cf34cb0 100644 --- a/docs/fish-config.md +++ b/docs/fish-config.md @@ -1417,12 +1417,21 @@ testing), run: Then open a new shell. +## Fisher-Managed Plugins + +The following plugins are fully managed by Fisher. Their files are installed +into the repo directory by Fisher and are listed in `.gitignore` — do not +commit them. Fisher installs and updates them automatically. + + jorgebucaran/fisher Plugin manager itself + meaningful-ooo/sponge Remove failed commands from history + ## Bundled Plugin Functionality -Plugin functionality is bundled directly with this config rather than managed -through Fisher. The bundled versions include customizations for Fish 4.x -compatibility and improved behavior that differ from their upstream releases. -Installing them through Fisher would overwrite these customizations. +The remaining plugin functionality is bundled directly with this config rather +than managed through Fisher. The bundled versions include customizations for +Fish 4.x compatibility and improved behavior that differ from their upstream +releases. Installing them through Fisher would overwrite these customizations. Bundled components and their upstream origins: @@ -1437,13 +1446,13 @@ versions. To update their behavior, edit the relevant bundled files directly. ## fish_plugins Manifest -The `fish_plugins` file at the config root contains only the Fisher manager -entry itself: +The `fish_plugins` file at the config root: jorgebucaran/fisher Plugin manager itself + meaningful-ooo/sponge Remove failed commands from history -To update Fisher, run `fisher update` or `fish-deps update` which calls it -as its first step. +To update all Fisher-managed plugins, run `fisher update` or `fish-deps +update` which calls it as its first step. --- diff --git a/fish_plugins b/fish_plugins index 594dfc0..5dd7d8e 100644 --- a/fish_plugins +++ b/fish_plugins @@ -1 +1,2 @@ jorgebucaran/fisher +meaningful-ooo/sponge diff --git a/requirements.md b/requirements.md index c787555..48ed99b 100644 --- a/requirements.md +++ b/requirements.md @@ -116,9 +116,9 @@ Non-standard applications required by this fish shell configuration. | Tool | Description | Notes | |------|-------------|-------| -| `fisher` | Fish plugin manager | Bootstrapped automatically on first run; only entry in `fish_plugins` | +| `fisher` | Fish plugin manager | Bootstrapped automatically on first run; manages `sponge` via `fish_plugins` | +| `meaningful-ooo/sponge` | Remove failed commands from history | Fisher-managed; files are gitignored | -Plugin functionality (Catppuccin theme, FZF bindings, done notifications, autopair, puffer-fish -expansions) is bundled directly with this config in `functions/`, `conf.d/`, and `themes/`. These are -customized versions — do not install them via `fisher install`, as doing so would overwrite the -bundled modifications. +Other plugin functionality (Catppuccin theme, FZF bindings, done notifications, autopair, puffer-fish +expansions) is bundled directly with this config in `functions/`, `conf.d/`, and `themes/` as +customized versions — do not install them via `fisher install`.