summaryrefslogtreecommitdiff
path: root/dot_config/private_fish/functions/dot_.fish
blob: 64ece917a992a187179b9a4dbc55536f333f080f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function . -a name
    if ! test -n "$name"; return 255; end
    set -e argv[1]

    # handle real paths
    if    string match -q   '/*' $name
       or string match -q  './*' $name
       or string match -q '../*' $name
        source $name $argv
    end

    set -q DOTPATH || set -l DOTPATH $PATH
    for path in $DOTPATH
        if test -r $path/$name.fish
            source $path/$name.fish $argv
            return
        else if test -r $path/$name
            source $path/$name $argv
            return
        end
    end
end