You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
oh-my-fish/oh-my-fish.fish

75 lines
1.8 KiB
Fish

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

###
# Helper functions
###
function _fish_add_plugin
set -l plugin $argv[1]
set -l plugin_path "plugins/$plugin"
_prepend_path $fish_path/$plugin_path fish_function_path
_prepend_path $fish_custom/$plugin_path fish_function_path
end
function _fish_add_completion
set -l plugin $argv[1]
set -l completion_path "plugins/$plugin/completions"
_prepend_path $fish_path/$completion_path fish_complete_path
_prepend_path $fish_custom/$completion_path fish_complete_path
end
function _fish_source_plugin_load_file
set -l plugin $argv[1]
set -l load_file_path "plugins/$plugin/$plugin.load"
if test -e $fish_path/$load_file_path
. $fish_path/$load_file_path
end
if test -e $fish_custom/$load_file_path
. $fish_custom/$load_file_path
end
end
function _fish_load_theme
_prepend_path $fish_path/themes/$fish_theme fish_function_path
_prepend_path $fish_custom/themes/$fish_theme fish_function_path
end
###
# Configuration
###
# Set fish_custom to the path where your custom config files
# and plugins exists, or else we will use the default custom.
if not set -q fish_custom
set -g fish_custom $fish_path/custom
end
# Extracting user's functions will be added later.
set user_function_path $fish_function_path[1]
set -e fish_function_path[1]
# Add all functions
if not contains $fish_path/functions/ $fish_function_path
set fish_function_path $fish_path/functions/ $fish_function_path
end
# Add all defined plugins
for plugin in $fish_plugins
_fish_add_plugin $plugin
_fish_add_completion $plugin
_fish_source_plugin_load_file $plugin
end
# Load user defined theme
_fish_load_theme $fish_theme
# Source all files inside custom folder
for config_file in $fish_custom/*.load
. $config_file
end
# Re-adding user's functions so they have the highest priority
set fish_function_path $user_function_path $fish_function_path