__fish_make_cache_dir: Create fish subdir and optionally deeper

This will move all current cache uses to e.g. ~/.cache/fish/

That's better anyway because it makes it easier to remove.

Also it allows supplying a subdir so you can do `__fish_make_cache_dir
completions`
to get ~/.cache/fish/completions.
This commit is contained in:
Fabian Boehm 2024-01-16 17:11:58 +01:00
parent 2f373d839c
commit 7e087d8eda

View File

@ -3,6 +3,10 @@ function __fish_make_cache_dir --description "Create and return XDG_CACHE_HOME"
if test -z "$xdg_cache_home"; or string match -qv '/*' -- $xdg_cache_home; or set -q xdg_cache_home[2]
set xdg_cache_home $HOME/.cache
end
mkdir -m 700 -p $xdg_cache_home
and echo $xdg_cache_home
# If we get an argument, we try to create that as a subdirectory.
# So if you call `__fish_make_cache_dir completions`,
# this creates e.g. ~/.cache/fish/completions
mkdir -m 700 -p $xdg_cache_home/fish/"$argv[1]"
and echo $xdg_cache_home/fish/"$argv[1]"
end