2012-07-29 03:36:36 +00:00
|
|
|
|
###
|
|
|
|
|
# Helper functions
|
|
|
|
|
###
|
|
|
|
|
|
|
|
|
|
function _fish_add_plugin
|
|
|
|
|
set -l plugin $argv[1]
|
|
|
|
|
set -l plugin_path "plugins/$plugin"
|
|
|
|
|
|
2013-10-31 20:33:26 +00:00
|
|
|
|
if begin; test -d $fish_path/$plugin_path; and not contains \
|
|
|
|
|
$fish_path/$plugin_path $fish_function_path; end
|
2012-07-29 18:42:37 +00:00
|
|
|
|
set fish_function_path $fish_path/$plugin_path $fish_function_path
|
2012-07-29 03:36:36 +00:00
|
|
|
|
end
|
|
|
|
|
|
2013-10-31 20:33:26 +00:00
|
|
|
|
if begin; test -d $fish_custom/$plugin_path; and not contains \
|
|
|
|
|
$custom_path/$plugin_path $fish_function_path; end
|
2012-07-29 18:42:37 +00:00
|
|
|
|
set fish_function_path $fish_custom/$plugin_path $fish_function_path
|
2012-07-29 03:36:36 +00:00
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function _fish_add_completion
|
|
|
|
|
set -l plugin $argv[1]
|
|
|
|
|
set -l completion_path "plugins/$plugin/completions"
|
|
|
|
|
|
2012-07-29 18:42:37 +00:00
|
|
|
|
if test -d $fish_path/$completion_path
|
|
|
|
|
set fish_complete_path $fish_path/$completion_path $fish_complete_path
|
2012-07-29 03:36:36 +00:00
|
|
|
|
end
|
|
|
|
|
|
2012-07-29 18:42:37 +00:00
|
|
|
|
if test -d $fish_custom/$completion_path
|
|
|
|
|
set fish_complete_path $fish_custom/$completion_path $fish_complete_path
|
2012-07-29 03:36:36 +00:00
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
2012-07-29 04:14:44 +00:00
|
|
|
|
function _fish_source_plugin_load_file
|
|
|
|
|
set -l plugin $argv[1]
|
2012-08-16 02:25:14 +00:00
|
|
|
|
set -l load_file_path "plugins/$plugin/$plugin.load"
|
2012-07-29 04:14:44 +00:00
|
|
|
|
|
2012-07-29 18:42:37 +00:00
|
|
|
|
if test -e $fish_path/$load_file_path
|
2013-10-18 17:15:47 +00:00
|
|
|
|
. $fish_path/$load_file_path
|
2012-07-29 04:14:44 +00:00
|
|
|
|
end
|
|
|
|
|
|
2012-07-29 18:42:37 +00:00
|
|
|
|
if test -e $fish_custom/$load_file_path
|
2013-10-18 17:15:47 +00:00
|
|
|
|
. $fish_custom/$load_file_path
|
2012-07-29 04:14:44 +00:00
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
2013-08-07 12:33:10 +00:00
|
|
|
|
function _fish_load_theme
|
2013-10-31 20:33:26 +00:00
|
|
|
|
if begin; test -d $fish_path/themes/$fish_theme; and not contains \
|
|
|
|
|
$fish_custom/themes/$fish_theme $fish_function_path; end
|
2013-08-06 20:31:19 +00:00
|
|
|
|
set fish_function_path $fish_path/themes/$fish_theme $fish_function_path
|
|
|
|
|
end
|
|
|
|
|
|
2013-10-31 20:33:26 +00:00
|
|
|
|
if begin; test -d $fish_custom/themes/$fish_theme; and not contains \
|
|
|
|
|
$fish_custom/themes/$fish_theme $fish_function_path; end
|
2013-08-06 20:31:19 +00:00
|
|
|
|
set fish_function_path $fish_custom/themes/$fish_theme $fish_function_path
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
2012-07-29 03:36:36 +00:00
|
|
|
|
###
|
|
|
|
|
# Configuration
|
|
|
|
|
###
|
|
|
|
|
|
2012-07-29 18:42:37 +00:00
|
|
|
|
# Set fish_custom to the path where your custom config files
|
2012-07-25 04:07:27 +00:00
|
|
|
|
# and plugins exists, or else we will use the default custom.
|
2012-07-29 18:42:37 +00:00
|
|
|
|
if not set -q fish_custom
|
|
|
|
|
set -g fish_custom $fish_path/custom
|
2012-07-25 04:07:27 +00:00
|
|
|
|
end
|
|
|
|
|
|
2012-07-25 00:16:18 +00:00
|
|
|
|
# Extracting user's functions – will be added later.
|
|
|
|
|
set user_function_path $fish_function_path[1]
|
|
|
|
|
set -e fish_function_path[1]
|
|
|
|
|
|
2012-07-27 02:13:48 +00:00
|
|
|
|
# Add all functions
|
2013-10-31 20:33:26 +00:00
|
|
|
|
if not contains $fish_path/functions/ $fish_function_path
|
|
|
|
|
set fish_function_path $fish_path/functions/ $fish_function_path
|
|
|
|
|
end
|
2012-07-24 03:59:50 +00:00
|
|
|
|
|
2012-07-27 02:13:48 +00:00
|
|
|
|
# Add all defined plugins
|
2012-07-29 18:42:37 +00:00
|
|
|
|
for plugin in $fish_plugins
|
2012-07-29 03:36:36 +00:00
|
|
|
|
_fish_add_plugin $plugin
|
|
|
|
|
_fish_add_completion $plugin
|
2012-07-29 04:14:44 +00:00
|
|
|
|
_fish_source_plugin_load_file $plugin
|
2012-07-23 23:33:02 +00:00
|
|
|
|
end
|
|
|
|
|
|
2013-08-07 12:33:10 +00:00
|
|
|
|
# Load user defined theme
|
|
|
|
|
_fish_load_theme $fish_theme
|
2012-07-25 00:16:18 +00:00
|
|
|
|
|
2012-07-25 04:07:27 +00:00
|
|
|
|
# Source all files inside custom folder
|
2012-08-16 02:25:14 +00:00
|
|
|
|
for config_file in $fish_custom/*.load
|
2013-10-18 17:15:47 +00:00
|
|
|
|
. $config_file
|
2012-07-25 04:07:27 +00:00
|
|
|
|
end
|
|
|
|
|
|
2012-07-25 00:16:18 +00:00
|
|
|
|
# Re-adding user's functions so they have the highest priority
|
2013-10-31 20:33:26 +00:00
|
|
|
|
if contains $user_function_path $fish_function_path
|
|
|
|
|
set -e fish_function_path[(contains -i $user_function_path \
|
|
|
|
|
$fish_function_path)]
|
|
|
|
|
end
|
|
|
|
|
|
2012-07-25 00:16:18 +00:00
|
|
|
|
set fish_function_path $user_function_path $fish_function_path
|