summaryrefslogtreecommitdiff
path: root/etc/functions/xsource
blob: a892d363b19c0e52dca5d8600127366356785394 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
## vim:ft=zsh
# Since source in a function makes typeset'ed parameters local
# (which is not what we want), we use a combination of functions
# and aliases here:
# autoload xsource; xsource
# xsource file anotherfile && x_source
xsource() {
	typeset file
	(( ${#*} )) && unset xsource_files
	for file in $*; {
		[[ -r $file ]] && xsource_files=($xsource_files $file)
	}
	(( ${#xsource_files} )) || return 1
}

alias x_source='source $xsource_files; unset xsource_files'