# 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