From db21efee0cb8ef2941d1598b3429aa28a5431983 Mon Sep 17 00:00:00 2001 From: Rootiest Date: Tue, 18 Aug 2026 02:56:35 -0400 Subject: [PATCH] fix(config): split tricks.fish overrides-tricks into manpager/bang sites overrides-tricks conflated two distinct C3 concerns under one shared site (overrides/environment), so __fish_config_op_overrides_key_bindings off left tricks.fish's bang-bang bindings active while abbr.fish/puffer.fish/ config.fish's equivalent sites correctly disabled -- a half-dismantled bang-bang system per docs/manual's own atomic-gating claim. Split into tricks-manpager (overrides/environment, matches PAGER/EDITOR/CDPATH) and tricks-bang (overrides/key-bindings, matches abbr.fish/puffer.fish/ config.fish's bang-related sites, per docs/manual/08-components-reference/03-c3-key-and-environment-overrides.md). Also fixes stale prose in config.fish's top-of-file comment: the guard signature is now [], not . --- conf.d/__fish_config_op_registry.fish | 4 +++- conf.d/tricks.fish | 7 ++++--- config.fish | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/conf.d/__fish_config_op_registry.fish b/conf.d/__fish_config_op_registry.fish index 70490ca..23471be 100644 --- a/conf.d/__fish_config_op_registry.fish +++ b/conf.d/__fish_config_op_registry.fish @@ -62,7 +62,8 @@ set -g __fish_config_op_registry_keys \ tmux-logging: \ top: \ tricks:aliases-tricks \ - tricks:overrides-tricks \ + tricks:tricks-bang \ + tricks:tricks-manpager \ upgrade: \ wakatime:wakatime-autoexec \ wakatime:wakatime-hook \ @@ -127,6 +128,7 @@ set -g __fish_config_op_registry_values \ "logging/multiplexer-capture" \ "aliases/monitor" \ "aliases/filesystem" \ + "overrides/key-bindings" \ "overrides/environment" \ "integrations/pkg-upgrade" \ "autoexec/telemetry" \ diff --git a/conf.d/tricks.fish b/conf.d/tricks.fish index 8c1a5e5..a3a5474 100644 --- a/conf.d/tricks.fish +++ b/conf.d/tricks.fish @@ -9,7 +9,8 @@ # COMPONENT # site aliases-tricks: aliases/filesystem -# site overrides-tricks: overrides/environment +# site tricks-manpager: overrides/environment +# site tricks-bang: overrides/key-bindings ## Environment setup # Apply .profile: use this to put fish compatible .profile stuff in @@ -28,7 +29,7 @@ end # Format man pages using bat (only if bat is installed) # Overriding $MANPAGER is opinionated (C3 overrides) -if type -q bat; and __fish_config_op_enabled (status basename) overrides-tricks +if type -q bat; and __fish_config_op_enabled (status basename) tricks-manpager set -gx MANROFFOPT -c set -gx MANPAGER "sh -c 'col -bx | bat -l man -p'" end @@ -41,7 +42,7 @@ set -gx __done_notification_urgency_level low # Functions needed for !! and !$ https://github.com/oh-my-fish/plugin-bang-bang # The bang-bang system is opinionated (C3 overrides) and is gated atomically # here, in conf.d/abbr.fish, conf.d/puffer.fish, and functions/expand_*.fish. -if __fish_config_op_enabled (status basename) overrides-tricks +if __fish_config_op_enabled (status basename) tricks-bang function __history_previous_command switch (commandline -t) case "!" diff --git a/config.fish b/config.fish index 82a5318..acae248 100644 --- a/config.fish +++ b/config.fish @@ -7,7 +7,7 @@ # ───────────────────── Opinionated component guards ───────────────────── # Opinionated components (AGENTS.md Task #3) are wrapped in -# __fish_config_op_enabled guards throughout this file and conf.d/. +# __fish_config_op_enabled [] guards throughout this file and conf.d/. # The helper always evaluates the master switch __fish_config_opinionated # first (falsy disables everything), then the per-category opt-out variable: # __fish_config_op_aliases C1 — command shadows / flag injection