mirror of
https://github.com/oh-my-fish/oh-my-fish.git
synced 2024-11-25 17:57:38 +08:00
27 lines
710 B
Fish
27 lines
710 B
Fish
# SYNOPSIS
|
|
# require [name]
|
|
#
|
|
# OVERVIEW
|
|
# Require a plugin:
|
|
# - Autoload its functions and completions.
|
|
# - Source its initialization file.
|
|
# - Emit its initialization event.
|
|
#
|
|
# If the required plugin has already been loaded, does nothing.
|
|
|
|
function require -a name
|
|
# Skip if plugin has already been loaded.
|
|
contains -- $OMF_PATH/pkg/$name $fish_function_path;
|
|
or contains -- $OMF_CONFIG/pkg/$name $fish_function_path;
|
|
and return 0
|
|
|
|
for path in {$OMF_PATH,$OMF_CONFIG}/pkg/$name
|
|
if autoload $path $path/functions $path/completions
|
|
|
|
source $path/init.fish ^/dev/null;
|
|
or source $path/$name.fish ^/dev/null;
|
|
and emit init_$name $path
|
|
end
|
|
end
|
|
end
|