feat(guards): add in-function opinionated guards and CachyOS cleanup
C1 shadows (rm, cat, ls, less, du, bash, top, ping, ssh, rg, mkdir, help) fall back to the bare command when __fish_config_op_aliases is falsy; rm falls back to exact 'command rm' with no wrapper. C2 gates the auto-venv PWD hook. C3 gates smart_exit (composing with Task #4 logging), fish_right_prompt, and all six expand_bang_*/expand_typo_sub functions atomically with the bang-bang system. C4 integration commands (spwin, tab, split, hist, logs, upgrade) refuse with a colored stderr error when disabled. config.fish now also strips the CachyOS distro config's own bang-bang bindings, history override, and alias opinions per category, restoring fish stock functions where they exist.
This commit is contained in:
@@ -11,6 +11,10 @@
|
||||
# deletes via rm -rf and triggers fstrim. Plain paths and -r/-R are sent
|
||||
# to trash put; any other flags fall back to system rm.
|
||||
#
|
||||
# Opinionated component (C1): when disabled via __fish_config_op_aliases
|
||||
# (or the __fish_config_opinionated master), behaves exactly like bare
|
||||
# command rm — no wrapper, no trash, no trapping.
|
||||
#
|
||||
# ARGUMENTS
|
||||
# (none) List current trash contents
|
||||
# -e, --empty [opts] Empty the trash; opts forwarded to trash empty
|
||||
@@ -27,6 +31,12 @@
|
||||
# rm -e
|
||||
# rm -S sensitive_key.pem
|
||||
function rm --description 'Ultimate rm: trash, list, empty, and secure-erase'
|
||||
# Opinionated guard (C1): fall back to bare command rm when disabled.
|
||||
if not __fish_config_op_enabled __fish_config_op_aliases
|
||||
command rm $argv
|
||||
return $status
|
||||
end
|
||||
|
||||
# 1. No arguments: Show the Trash contents (Quick view)
|
||||
if not set -q argv[1]
|
||||
if type -q trash
|
||||
|
||||
Reference in New Issue
Block a user