diff --git a/share/functions/__fish_print_portage_repository_paths.fish b/share/functions/__fish_print_portage_repository_paths.fish index da65a6487..e2d76036a 100644 --- a/share/functions/__fish_print_portage_repository_paths.fish +++ b/share/functions/__fish_print_portage_repository_paths.fish @@ -1,4 +1,14 @@ function __fish_print_portage_repository_paths --description 'Print the paths of all configured repositories' - # repos.conf may be a file or a directory - find /etc/portage/repos.conf -type f -exec cat '{}' + | string replace -r --filter '^\s*location\s*=\s*(\S+)' '$1' + set -l a /etc/portage/repos.conf + set -l b + set -l c /usr/share/portage/config/repos.conf + test -d $a + and set b (find $a -type f ) + test -f $a + and set b $a + test -n "$b" + and string match -q "[gentoo]" -- (cat $b) + and set c $b + or set -a c $b + cat $c | string match -g -r '^location = (.*$)' end