summaryrefslogtreecommitdiff
path: root/dot_config/private_fish
diff options
context:
space:
mode:
Diffstat (limited to 'dot_config/private_fish')
-rw-r--r--dot_config/private_fish/functions/dot_.fish11
1 files changed, 10 insertions, 1 deletions
diff --git a/dot_config/private_fish/functions/dot_.fish b/dot_config/private_fish/functions/dot_.fish
index 93aca5a..64ece91 100644
--- a/dot_config/private_fish/functions/dot_.fish
+++ b/dot_config/private_fish/functions/dot_.fish
@@ -1,7 +1,16 @@
function . -a name
if ! test -n "$name"; return 255; end
set -e argv[1]
- for path in . $PATH
+
+ # 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