This commit is contained in:
2026-04-20 09:40:17 +02:00
parent 876194e91b
commit cafb3f1ecb
18 changed files with 321 additions and 92 deletions
+12
View File
@@ -0,0 +1,12 @@
function duh --description "Disk usage utility"
if test (count $argv) -eq 0
#echo "duh: missing operand" >&2
#return 1
set fold '.'
else
set fold $argv
end
du -hd1 $fold | sort -h
end
-3
View File
@@ -1,3 +0,0 @@
function ezals --wraps='eza --icons --git --no-user --octal-permissions --no-permissions --group-directories-first -s name -lah' --description 'Base exa'
eza --icons --git --no-user --octal-permissions --no-permissions --group-directories-first -s name --hyperlink -lah $argv
end
+3
View File
@@ -0,0 +1,3 @@
function fish_preexec --on-event fish_preexec
set -g __fish_prompt_command_ran 1
end
+113 -63
View File
@@ -1,69 +1,119 @@
function fish_prompt --description 'Write out the prompt'
set -l last_pipestatus $pipestatus
set -lx __fish_last_status $status # Export for __fish_print_pipestatus.
if not set -q __fish_git_prompt_show_informative_status
set -g __fish_git_prompt_show_informative_status 1
end
if not set -q __fish_git_prompt_hide_untrackedfiles
set -g __fish_git_prompt_hide_untrackedfiles 1
end
if not set -q __fish_git_prompt_color_branch
set -g __fish_git_prompt_color_branch magenta --bold
end
if not set -q __fish_git_prompt_showupstream
set -g __fish_git_prompt_showupstream informative
end
if not set -q __fish_git_prompt_color_dirtystate
set -g __fish_git_prompt_color_dirtystate blue
end
if not set -q __fish_git_prompt_color_stagedstate
set -g __fish_git_prompt_color_stagedstate yellow
end
if not set -q __fish_git_prompt_color_invalidstate
set -g __fish_git_prompt_color_invalidstate red
end
if not set -q __fish_git_prompt_color_untrackedfiles
set -g __fish_git_prompt_color_untrackedfiles $fish_color_normal
end
if not set -q __fish_git_prompt_color_cleanstate
set -g __fish_git_prompt_color_cleanstate green --bold
end
set -l color_cwd
set -l suffix
if functions -q fish_is_root_user; and fish_is_root_user
if set -q fish_color_cwd_root
set color_cwd $fish_color_cwd_root
else
set color_cwd $fish_color_cwd
end
set suffix '#'
set -l last_pipestatus $pipestatus
set -lx __fish_last_status $status # Export for __fish_print_pipestatus.
# Blank line before prompt only after a command was executed
if set -q __fish_prompt_command_ran
echo
set -e __fish_prompt_command_ran
end
if not set -q __fish_git_prompt_show_informative_status
set -g __fish_git_prompt_show_informative_status 1
end
if not set -q __fish_git_prompt_hide_untrackedfiles
set -g __fish_git_prompt_hide_untrackedfiles 1
end
if not set -q __fish_git_prompt_color_branch
set -g __fish_git_prompt_color_branch magenta --bold
end
if not set -q __fish_git_prompt_showupstream
set -g __fish_git_prompt_showupstream informative
end
if not set -q __fish_git_prompt_color_dirtystate
set -g __fish_git_prompt_color_dirtystate blue
end
if not set -q __fish_git_prompt_color_stagedstate
set -g __fish_git_prompt_color_stagedstate yellow
end
if not set -q __fish_git_prompt_color_invalidstate
set -g __fish_git_prompt_color_invalidstate red
end
if not set -q __fish_git_prompt_color_untrackedfiles
set -g __fish_git_prompt_color_untrackedfiles $fish_color_normal
end
if not set -q __fish_git_prompt_color_cleanstate
set -g __fish_git_prompt_color_cleanstate green --bold
end
set -l color_cwd
if functions -q fish_is_root_user; and fish_is_root_user
if set -q fish_color_cwd_root
set color_cwd $fish_color_cwd_root
else
set color_cwd $fish_color_cwd
set suffix '$'
set color_cwd $fish_color_cwd
end
# PWD
set_color $color_cwd
echo -n (prompt_pwd)
else
set color_cwd $fish_color_cwd
end
# Time
set_color brblack
echo -n (date '+%H:%M:%S')
set_color normal
echo -n ' '
# Last command duration
if test -n "$CMD_DURATION" -a "$CMD_DURATION" -gt 0
set -l secs (math --scale=0 "$CMD_DURATION / 1000")
if test $secs -gt 0
set_color yellow
if test $secs -ge 60
set -l mins (math --scale=0 "$secs / 60")
set -l rem (math --scale=0 "$secs % 60")
echo -n $mins"m"$rem"s "
else
echo -n $secs"s "
end
set_color normal
end
end
# User@host
set_color brgreen
echo -n $USER
set_color normal
echo -n @
set_color brblue
echo -n (prompt_hostname)
set_color normal
echo -n ' '
# PWD
set_color $color_cwd
echo -n (prompt_pwd)
set_color normal
# Git + Kubernetes cluster
set -l vcs (fish_vcs_prompt)
if test -n "$vcs"
printf '%s' $vcs
# Kubernetes context
if command -sq kubectl
set -l kctx (kubectl config current-context 2>/dev/null)
if test -n "$kctx"
set_color brblack
echo -n " [$kctx]"
set_color normal
end
end
end
echo -n ' '
set -l status_color (set_color $fish_color_status)
set -l statusb_color (set_color --bold $fish_color_status)
set -l prompt_status (__fish_print_pipestatus "[" "]" "|" "$status_color" "$statusb_color" $last_pipestatus)
echo -n $prompt_status
set_color normal
# Background jobs counter
set -l jobs_count (count (jobs -p))
if test $jobs_count -gt 0
set_color yellow
echo -n "[$jobs_count] "
set_color normal
printf '%s ' (fish_vcs_prompt)
set -l status_color (set_color $fish_color_status)
set -l statusb_color (set_color --bold $fish_color_status)
set -l prompt_status (__fish_print_pipestatus "[" "]" "|" "$status_color" "$statusb_color" $last_pipestatus)
echo -n $prompt_status
set_color normal
end
# Background jobs counter
set -l jobs_count (count (jobs -p))
if test $jobs_count -gt 0
set_color yellow
echo -n "[$jobs_count] "
set_color normal
end
echo -n "$suffix "
# Prompt on new line
echo
end
+2
View File
@@ -0,0 +1,2 @@
function fish_right_prompt
end
+6
View File
@@ -0,0 +1,6 @@
function fish_user_key_bindings
# Bind k to Atuin search in vim normal mode
if type -q atuin
bind -M default k _atuin_bind_up
end
end
+2 -2
View File
@@ -5,8 +5,8 @@
# * $path package path
# * $dependencies package dependencies
# Timeout in seconds before allowing another git pull (default: 15 minutes)
set -q GIT_REFRESH_TIMEOUT; or set -g GIT_REFRESH_TIMEOUT 900
# Timeout in seconds before allowing another git pull (default: 60 minutes)
set -q GIT_REFRESH_TIMEOUT; or set -g GIT_REFRESH_TIMEOUT 3600
function git-refresh --on-variable PWD \
--description "git pull automatically wherever inside a git repository"
+3
View File
@@ -0,0 +1,3 @@
function lls --wraps='eza --icons --git --no-user --octal-permissions --no-permissions --group-directories-first -s name -lah' --description 'Base exa'
eza --icons --git --no-user --octal-permissions --no-permissions --group-directories-first -s name --hyperlink -lah $argv
end
+15
View File
@@ -0,0 +1,15 @@
# worktrunk shell integration for fish
# Sources full integration from binary on first use.
# Docs: https://worktrunk.dev/config/#shell-integration
# Check: wt config show | Uninstall: wt config shell uninstall
function wt
command wt config shell init fish | source
# Check both command exit code ($pipestatus[1]) and source exit code ($pipestatus[2])
# If source fails, the function isn't replaced and we'd infinite-loop calling ourselves
set -l wt_status $pipestatus[1]
set -l source_status $pipestatus[2]
test $wt_status -eq 0; or return $wt_status
test $source_status -eq 0; or return $source_status
wt $argv
end
+8 -7
View File
@@ -1,9 +1,10 @@
function y
set tmp (mktemp -t "yazi-cwd.XXXXXX")
yazi $argv --cwd-file="$tmp"
if read -z cwd < "$tmp"; and [ -n "$cwd" ]; and [ "$cwd" != "$PWD" ]
builtin cd -- "$cwd"
end
rm -f -- "$tmp"
set tmp (mktemp -t "yazi-cwd.XXXXXX")
yazi $argv --cwd-file="$tmp"
if read -z cwd <"$tmp"; and [ -n "$cwd" ]; and [ "$cwd" != "$PWD" ]
builtin cd -- "$cwd"
end
rm -f -- "$tmp"
clear
lls
end
+8
View File
@@ -0,0 +1,8 @@
function zjs -d "Avvia zellij in una nuova finestra TERM"
if test (count $argv) -eq 0
$TERM -e zellij &
else
$TERM -e zellij attach -c $argv[1] &
end
disown
end