summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2026-10-02 22:16:14 +0800
committerlittleblack111 <littleblack11111@gmail.com>2026-10-02 22:16:14 +0800
commita113ee061e823ef1b24d09195773703ed5c0ebf8 (patch)
tree4e1767ce9cc85fc44e9bc29b5fbfc98feb73db6d
parent33485386f835273b3be49327c4803fd569eb3a5b (diff)
fish(sudo): respect alias etc.
-rw-r--r--dot-config/fish/conf.d/funcs.fish9
1 files changed, 9 insertions, 0 deletions
diff --git a/dot-config/fish/conf.d/funcs.fish b/dot-config/fish/conf.d/funcs.fish
index 593cb45a..994ac83a 100644
--- a/dot-config/fish/conf.d/funcs.fish
+++ b/dot-config/fish/conf.d/funcs.fish
@@ -106,3 +106,12 @@ end
function tempsend
bw send $argv 2>/dev/null | jq -r '.accessUrl'
end
+
+function sudo --description "Run sudo with fish functions and aliases" --wraps sudo
+ if set -q argv[1]; and functions -q -- $argv[1]
+ set -l func_def (string join "\n" (functions $argv[1]))
+ command sudo __sudo_func_def="$func_def" fish -c 'eval $__sudo_func_def; $argv' -- $argv
+ else
+ command sudo $argv
+ end
+end