refactor(config): migrate C5 logging call sites to self-identifying guard

This commit is contained in:
2026-08-18 02:22:31 -04:00
parent e02919de21
commit c3a2e35465
6 changed files with 33 additions and 6 deletions
+10
View File
@@ -8,7 +8,9 @@
set -g __fish_config_op_registry_keys \ set -g __fish_config_op_registry_keys \
__auto_source_fallback_venv: \ __auto_source_fallback_venv: \
__fish_config_sync_logging: \
__fish_user_dots_link: \ __fish_user_dots_link: \
_zellij_dump_log: \
agy: \ agy: \
auto-pull: \ auto-pull: \
autopair: \ autopair: \
@@ -23,6 +25,8 @@ set -g __fish_config_op_registry_keys \
help: \ help: \
hist: \ hist: \
key_bindings: \ key_bindings: \
kitty-logging: \
kitty-watcher-reminder: \
less: \ less: \
logs: \ logs: \
ls: \ ls: \
@@ -38,6 +42,7 @@ set -g __fish_config_op_registry_keys \
starship: \ starship: \
tab: \ tab: \
theme: \ theme: \
tmux-logging: \
top: \ top: \
upgrade: \ upgrade: \
yt-dlp: \ yt-dlp: \
@@ -45,7 +50,9 @@ set -g __fish_config_op_registry_keys \
set -g __fish_config_op_registry_values \ set -g __fish_config_op_registry_values \
"autoexec/venv" \ "autoexec/venv" \
"logging/terminal-capture" \
"autoexec/sync" \ "autoexec/sync" \
"logging/multiplexer-capture" \
"aliases/dev-tools" \ "aliases/dev-tools" \
"autoexec/sync autoexec/sync" \ "autoexec/sync autoexec/sync" \
"overrides/key-bindings" \ "overrides/key-bindings" \
@@ -60,6 +67,8 @@ set -g __fish_config_op_registry_values \
"aliases/shell-tools" \ "aliases/shell-tools" \
"integrations/history-logs" \ "integrations/history-logs" \
"overrides/key-bindings" \ "overrides/key-bindings" \
"logging/terminal-capture" \
"logging/terminal-capture" \
"aliases/shell-tools" \ "aliases/shell-tools" \
"integrations/history-logs" \ "integrations/history-logs" \
"aliases/filesystem" \ "aliases/filesystem" \
@@ -75,6 +84,7 @@ set -g __fish_config_op_registry_values \
"overrides/prompt" \ "overrides/prompt" \
"integrations/window-mgmt" \ "integrations/window-mgmt" \
"overrides/prompt" \ "overrides/prompt" \
"logging/multiplexer-capture" \
"aliases/monitor" \ "aliases/monitor" \
"integrations/pkg-upgrade" \ "integrations/pkg-upgrade" \
"aliases/network" \ "aliases/network" \
+5 -1
View File
@@ -1,5 +1,9 @@
# Copyright (C) 2026 Rootiest # Copyright (C) 2026 Rootiest
# SPDX-License-Identifier: AGPL-3.0-or-later # SPDX-License-Identifier: AGPL-3.0-or-later
# COMPONENT
# logging/terminal-capture
# #
# C5 — Logging & Capture: a non-blocking, per-session reminder shown inside Kitty # C5 — Logging & Capture: a non-blocking, per-session reminder shown inside Kitty
# when the fish-config scrollback watcher is not yet set up. It never blocks the # when the fish-config scrollback watcher is not yet set up. It never blocks the
@@ -10,7 +14,7 @@
status is-interactive; or exit status is-interactive; or exit
type -q kitty; or exit type -q kitty; or exit
set -q KITTY_WINDOW_ID; or exit set -q KITTY_WINDOW_ID; or exit
__fish_config_op_enabled __fish_config_op_logging; or exit __fish_config_op_enabled (status basename); or exit
__fish_variable_check __fish_config_kitty_watcher_dismissed; and exit __fish_variable_check __fish_config_kitty_watcher_dismissed; and exit
__kitty_logging_has_watcher; and exit __kitty_logging_has_watcher; and exit
+5 -1
View File
@@ -1,12 +1,16 @@
# Copyright (C) 2026 Rootiest # Copyright (C) 2026 Rootiest
# SPDX-License-Identifier: AGPL-3.0-or-later # SPDX-License-Identifier: AGPL-3.0-or-later
# COMPONENT
# logging/multiplexer-capture
# #
# C5 — Logging & Capture: starts a pipe-pane log for the current tmux pane # C5 — Logging & Capture: starts a pipe-pane log for the current tmux pane
# when fish launches inside a tmux session. Each fish shell gets its own # when fish launches inside a tmux session. Each fish shell gets its own
# timestamped log file in SCROLLBACK_HISTORY_DIR (default: ~/.terminal_history). # timestamped log file in SCROLLBACK_HISTORY_DIR (default: ~/.terminal_history).
# Naming: tmux_<session>-w<window>-p<pane>_YYYY-MM-DD_HH-MM-SS.log # Naming: tmux_<session>-w<window>-p<pane>_YYYY-MM-DD_HH-MM-SS.log
__fish_config_op_enabled __fish_config_op_logging; or exit __fish_config_op_enabled (status basename); or exit
status is-interactive; or exit status is-interactive; or exit
type -q tmux; or exit type -q tmux; or exit
set -q TMUX; or exit set -q TMUX; or exit
+4 -1
View File
@@ -1,6 +1,9 @@
# Copyright (C) 2026 Rootiest # Copyright (C) 2026 Rootiest
# SPDX-License-Identifier: AGPL-3.0-or-later # SPDX-License-Identifier: AGPL-3.0-or-later
# COMPONENT
# logging/terminal-capture
#
# SYNOPSIS # SYNOPSIS
# __fish_config_sync_logging # __fish_config_sync_logging
# #
@@ -29,7 +32,7 @@ function __fish_config_sync_logging --description 'Sync C5 logging state: sentin
set -l yay_wrapper "$HOME/.local/bin/yay" set -l yay_wrapper "$HOME/.local/bin/yay"
set -l wrapper_version 1 set -l wrapper_version 1
if __fish_config_op_enabled __fish_config_op_logging if __fish_config_op_enabled (status current-function)
# Logging enabled: remove sentinel and regenerate wrappers if binaries exist # Logging enabled: remove sentinel and regenerate wrappers if binaries exist
rm -f $sentinel rm -f $sentinel
+4 -1
View File
@@ -1,6 +1,9 @@
# Copyright (C) 2026 Rootiest # Copyright (C) 2026 Rootiest
# SPDX-License-Identifier: AGPL-3.0-or-later # SPDX-License-Identifier: AGPL-3.0-or-later
# COMPONENT
# logging/multiplexer-capture
#
# SYNOPSIS # SYNOPSIS
# _zellij_dump_log # _zellij_dump_log
# #
@@ -23,7 +26,7 @@
# EXAMPLE # EXAMPLE
# _zellij_dump_log # _zellij_dump_log
function _zellij_dump_log --description 'Dump the current Zellij pane scrollback to a log file, with pruning' function _zellij_dump_log --description 'Dump the current Zellij pane scrollback to a log file, with pruning'
__fish_config_op_enabled __fish_config_op_logging; or return 0 __fish_config_op_enabled (status current-function); or return 0
set -q ZELLIJ; or return 0 set -q ZELLIJ; or return 0
type -q zellij; or return 0 type -q zellij; or return 0
+5 -2
View File
@@ -4,6 +4,9 @@
# CATEGORY # CATEGORY
# 14-miscellaneous # 14-miscellaneous
# #
# COMPONENT
# logging/terminal-capture
#
# SYNOPSIS # SYNOPSIS
# kitty-logging [install | uninstall | status | dismiss] [-h] # kitty-logging [install | uninstall | status | dismiss] [-h]
# #
@@ -97,7 +100,7 @@ function kitty-logging --description 'Install/manage the fish-config Kitty scrol
else else
echo " Watcher file: $c_warn""not installed$c_reset" echo " Watcher file: $c_warn""not installed$c_reset"
end end
if __fish_config_op_enabled __fish_config_op_logging if __fish_config_op_enabled (status current-function)
echo " C5 logging: $c_ok""enabled$c_reset" echo " C5 logging: $c_ok""enabled$c_reset"
else else
echo " C5 logging: $c_warn""disabled$c_reset (capture is currently inert)" echo " C5 logging: $c_warn""disabled$c_reset (capture is currently inert)"
@@ -143,7 +146,7 @@ function kitty-logging --description 'Install/manage the fish-config Kitty scrol
end end
echo "$c_ok""→ Installed.$c_reset Watcher wired into $conf" echo "$c_ok""→ Installed.$c_reset Watcher wired into $conf"
echo " $c_dim""Restart Kitty (new windows) for it to take effect.$c_reset" echo " $c_dim""Restart Kitty (new windows) for it to take effect.$c_reset"
if not __fish_config_op_enabled __fish_config_op_logging if not __fish_config_op_enabled (status current-function)
echo " $c_warn""Note: C5 logging is disabled, so capture is currently inert.$c_reset" echo " $c_warn""Note: C5 logging is disabled, so capture is currently inert.$c_reset"
end end
return 0 return 0