fish-shell/share/functions/__fish_parent_directories.fish

26 lines
568 B
Fish
Raw Normal View History

# Generates a list of parent directories for a given path
# i.e. /a/b/c/d -> [/a/b/c/, /a/b/, /a/, and /a]
function __fish_parent_directories
if test (count $argv) -ne 1
# for use in completions, so don't spew error messages
return 1
end
set -l splits (string split '/' $argv[1])
set -l parents
for split in $splits
if test (string length "$split") -eq 0
continue
end
set parents "$parents[1]/$split" $parents
end
for parent in $parents
echo $parent
end
return 0
end