.bashrc: document _var_XXX funcs

This commit is contained in:
2023-12-16 16:48:43 +01:00
parent 107e3d045b
commit 3b2062798b

View File

@@ -15,13 +15,16 @@
# i.e., add at the end of .bashrc: # i.e., add at the end of .bashrc:
# [ -f "$HOME/.bashrc.$USER" ] && . "$HOME/.bashrc.$USER" # [ -f "$HOME/.bashrc.$USER" ] && . "$HOME/.bashrc.$USER"
# _var_del() - remove a directory from a column-separated list. # _var_del() - remove an element from a colon-separated list.
# $1: variable name (reference) # $1: name (reference) of a colon separated list
# $2: directory to remove # $2: element to remove (string)
# #
# $1 is the name of a PATH-like (with colon separator) variable. # _var_del() removes every occurrence of $2, if there are more than 1,
# example: # and leaves $1 unchanged if $2 is not present.
# _var_del PATH /usr/games #
# Example:
# With VAR's value being "foo:bar:quax:bar". Using "_var_del VAR bar" will
# leave VAR with the value "foo:quax".
_var_del() { _var_del() {
local -n _p_del=$1 local -n _p_del=$1
local _l=":$_p_del:" local _l=":$_p_del:"
@@ -34,9 +37,15 @@ _var_del() {
_p_del="$_l" _p_del="$_l"
} }
# _var_prepend() - prepend directory to colon separated variable. # _var_prepend() - prepend element to colon-separated variable.
# $1: variable name (reference) # $1: variable name (reference)
# $2: directory to add # $2: element to add (string)
#
# Any occurrence of $2 in $1 is first removed, then $2 is added at $1 beginning.
#
# Example:
# With VAR's value being "foo:bar:quax:bar". Using "_var_prepend VAR bar"
# will leave VAR with the value "bar:foo:quax".
_var_prepend() { _var_prepend() {
local -n _p_prepend=$1 local -n _p_prepend=$1
@@ -45,9 +54,15 @@ _var_prepend() {
_p_prepend="$2:$_p_prepend" _p_prepend="$2:$_p_prepend"
} }
# _var_append() - append directory to colon separated variable. # _var_append() - append element to colon-separated variable.
# $1: variable name (reference) # $1: variable name (reference)
# $2: directory to add # $2: element to add (string)
#
# Any occurrence of $2 in $1 is first removed, then $2 is added at $1 end.
#
# Example:
# With VAR's value being "foo:bar:quax:bar". Using "_var_append VAR bar"
# will leave VAR with the value "foo:quax:bar".
_var_append() { _var_append() {
local -n _p_append=$1 local -n _p_append=$1