aboutsummaryrefslogtreecommitdiffhomepage
path: root/share/functions/alias.fish
blob: 64ee83deb85a2ec846c4322e855a253b8fbd93c5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

function alias -d (_ "Legacy function for creating shellscript functions using an alias-like syntax")

	if count $argv >/dev/null
		switch $argv[1]
			case -h --h --he --hel --help
				__fish_print_help alias
				return 0
		end
	end

	set -l name
	set -l body
	switch (count $argv)

		case 1
			set -l tmp (echo $argv|sed -e "s/\([^=]\)=/\1\n/")
			set name $tmp[1]
			set body $tmp[2]

		case 2
			set name $argv[1]
			set body $argv[2]

		case \*
			printf ( _ "%s: Expected one or two arguments, got %d") alias (count $argv)
			return 1
	end

	eval "function $name; $body \$argv; end"
end