mirror of
https://github.com/oh-my-fish/oh-my-fish.git
synced 2024-11-27 02:34:13 +08:00
53 lines
1.6 KiB
Fish
53 lines
1.6 KiB
Fish
# NAME
|
|
# import - load libraries, plugins, themes, etc.
|
|
#
|
|
# SYNOPSIS
|
|
# import <path/library>[<path/library>..]
|
|
#
|
|
# DESCRIPTION
|
|
# Import libraries, plugins, themes, completions. Prepend existing
|
|
# user custom/<library> directories to the path to allow users to
|
|
# override specific functions in themes/plugins.
|
|
#
|
|
# NOTES
|
|
# $fish_path and $fish_custom point to oh-my-fish home and the user
|
|
# dotfiles folder respectively. Both globals are usually configured
|
|
# in ~/.config/fish/config.fish. Also, import is clever enough to
|
|
# skip directories with *.spec.fish files.
|
|
#
|
|
# EXAMPLES
|
|
# import plugins/<plugin>
|
|
# import plugins/{dpaste,cask} themes/bobthefish
|
|
#
|
|
# AUTHORS
|
|
# Jorge Bucaran <jbucaran@me.com>
|
|
#
|
|
# SEE ALSO
|
|
# functions/_prepend_path.fish
|
|
# functions/_prepend_tree.fish
|
|
#
|
|
# v.0.1.1
|
|
#/
|
|
function import -d "Load libraries, plugins, themes, etc."
|
|
# Do not add spec files to function path.
|
|
set -l skip_spec \*.fish -a ! \*.spec.fish
|
|
|
|
for library in $argv
|
|
# Prepend plugins, themes and completions, traversing library
|
|
# trees and prepending directories with fish code.
|
|
_prepend_tree $fish_path/$library $skip_spec
|
|
_prepend_tree $fish_custom/$library $skip_spec
|
|
_prepend_path $fish_path/$library/completions -d fish_complete_path
|
|
|
|
# Set path to load files.
|
|
set -l path $library/(basename $library).load
|
|
|
|
# Source each plugin, theme, etc., configuration load file.
|
|
for load in $fish_path/$path $fish_custom/$path
|
|
if [ -e $load ]
|
|
. $load
|
|
end
|
|
end
|
|
end
|
|
end
|