aboutsummaryrefslogtreecommitdiffhomepage
path: root/share/functions/__fish_complete_lpr_option.fish
blob: aa9d981f01aa5bb294f3abe57d3f65f99efb61b6 (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
function __fish_complete_lpr_option --description 'Complete lpr option'
	set -l optstr (commandline -t)
	switch $optstr
	case '*=*'
		set -l IFS =
		echo $optstr | read -l opt val
		set -l descr
		# Some seds (e.g. on Mac OS X), don't support \n in the RHS
		# Use a literal newline instead
		# http://sed.sourceforge.net/sedfaq4.html#s4.1
		for l in (lpoptions -l ^ /dev/null | grep $opt | sed 's+\(.*\)/\(.*\):\s*\(.*\)$+\2 \3+; s/ /\\
/g;')
			if not set -q descr[1]
				set descr $l
				continue
			end
			set -l default ''
			if test (expr substr $l 1 1) = '*'
				set default 'Default '
				set l (echo $l | sed 's/\*//')
			end
			echo $opt=$l\t$default$descr
		end
	case '*'
		lpoptions -l ^ /dev/null | sed 's+\(.*\)/\(.*\):.*$+\1=\t\2+'
	end


end