shoestrap/assets/default/fish/functions/fish_theme.fish

33 lines
959 B
Fish

# Variable to hold the currently set fish theme
set -gx current_fish_theme unknown
function fish_theme --description "Sets fish theme" --argument-names "theme_name"
if not set -q argv[1]
echo "$current_fish_theme"
return
end
set -l theme_name $argv[1]
for p in $fish_themes_path
set -l theme_file "$p/$theme_name.fish"
if test -f "$theme_file"
source "$theme_file"
set -gx current_fish_theme "$theme_name"
return
end
end
echo "Unknown theme $theme_name not in fish_themes_path"
return 1
end
function __fish_theme_list --description "List all fish themes found in path"
for p in $fish_themes_path
for theme in $p/*.fish
echo (basename "$theme" | string split -r -m1 .)[1]
end
end
end
# Add a completion for themes
complete --command fish_theme --arguments '(__fish_theme_list)' --no-files --description "Fish theme"