mirror of
https://github.com/oh-my-fish/oh-my-fish
synced 2024-11-03 15:40:32 +00:00
Merge pull request #290 from bpinto/prepend_path
Function _prepend_path allowing multiple paths to be specified at once
This commit is contained in:
commit
852da7e94d
@ -1,14 +1,52 @@
|
|||||||
# Prepends the path to the specified path list. If no list specified, defaults to $PATH
|
# NAME
|
||||||
function _prepend_path
|
# _prepend_path - adds a path to a list
|
||||||
set -l path PATH
|
#
|
||||||
|
# SYNOPSIS
|
||||||
|
# _prepend_path [-d --destination <destination path>] <path>
|
||||||
|
#
|
||||||
|
# DESCRIPTION
|
||||||
|
# Adds a path to a list.
|
||||||
|
# If no list specified, defaults to $PATH
|
||||||
|
#
|
||||||
|
# OPTIONS
|
||||||
|
# <path>
|
||||||
|
# Required. Specify the path to add to the list.
|
||||||
|
#
|
||||||
|
# [<glob> [<operator> <glob>..]]
|
||||||
|
# Glob pattern to match when traversing the path path.
|
||||||
|
#
|
||||||
|
# OPERATORS
|
||||||
|
# -d <DESTINATION PATH>
|
||||||
|
# Should appear at the end if used. Specifies the name of the
|
||||||
|
# list to prepend the paths to.
|
||||||
|
# If not used, $PATH is assumed by default.
|
||||||
|
#
|
||||||
|
# EXAMPLES
|
||||||
|
# _prepend_path $path
|
||||||
|
# Add $path to $PATH
|
||||||
|
#
|
||||||
|
# _prepend_path $path -d $fish_function_path
|
||||||
|
# Add $path to $fish_function_path
|
||||||
|
#/
|
||||||
|
|
||||||
if test (echo $argv | wc -w) -eq 2
|
function _prepend_path
|
||||||
set path $argv[2]
|
set -l destination_path PATH #$PATH is the default destination path
|
||||||
|
set -l len (count $argv)
|
||||||
|
set -l path $argv
|
||||||
|
|
||||||
|
if test $len -gt 2
|
||||||
|
switch $argv[-2]
|
||||||
|
case -d --destination
|
||||||
|
set destination_path $argv[-1]
|
||||||
|
set path $argv[1..-3]
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if test -d $argv[1]
|
for path in $path
|
||||||
if not contains $argv[1] $$path
|
if test -d $path
|
||||||
set $path $argv[1] $$path
|
if not contains $path $$destination_path
|
||||||
|
set $destination_path $path $$destination_path
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -6,16 +6,16 @@ function _fish_add_plugin
|
|||||||
set -l plugin $argv[1]
|
set -l plugin $argv[1]
|
||||||
set -l plugin_path "plugins/$plugin"
|
set -l plugin_path "plugins/$plugin"
|
||||||
|
|
||||||
_prepend_path $fish_path/$plugin_path fish_function_path
|
_prepend_path $fish_path/$plugin_path -d fish_function_path
|
||||||
_prepend_path $fish_custom/$plugin_path fish_function_path
|
_prepend_path $fish_custom/$plugin_path -d fish_function_path
|
||||||
end
|
end
|
||||||
|
|
||||||
function _fish_add_completion
|
function _fish_add_completion
|
||||||
set -l plugin $argv[1]
|
set -l plugin $argv[1]
|
||||||
set -l completion_path "plugins/$plugin/completions"
|
set -l completion_path "plugins/$plugin/completions"
|
||||||
|
|
||||||
_prepend_path $fish_path/$completion_path fish_complete_path
|
_prepend_path $fish_path/$completion_path -d fish_complete_path
|
||||||
_prepend_path $fish_custom/$completion_path fish_complete_path
|
_prepend_path $fish_custom/$completion_path -d fish_complete_path
|
||||||
end
|
end
|
||||||
|
|
||||||
function _fish_source_plugin_load_file
|
function _fish_source_plugin_load_file
|
||||||
@ -32,8 +32,8 @@ function _fish_source_plugin_load_file
|
|||||||
end
|
end
|
||||||
|
|
||||||
function _fish_load_theme
|
function _fish_load_theme
|
||||||
_prepend_path $fish_path/themes/$fish_theme fish_function_path
|
_prepend_path $fish_path/themes/$fish_theme -d fish_function_path
|
||||||
_prepend_path $fish_custom/themes/$fish_theme fish_function_path
|
_prepend_path $fish_custom/themes/$fish_theme -d fish_function_path
|
||||||
end
|
end
|
||||||
|
|
||||||
###
|
###
|
||||||
|
Loading…
Reference in New Issue
Block a user