aboutsummaryrefslogtreecommitdiffhomepage
path: root/share/functions/__fish_complete_mime.fish
blob: 3639d31e687f18359e73b24f6956065f1699eab5 (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

function __fish_complete_mime -d "Complete using text files"
	# Find all possible file completions
	set -l all
	set -l comp (commandline -ct)
	set -l base (echo $comp | sed -e 's/\.[a-zA-Z0-9]*$//')
	set -l mimetype $argv[1]
	eval "set all $base*"

	# Select text files only
	set -l files (__fish_filter_mime $mimetype $all)

	# Get descriptions for files
	set desc (mimedb -d $files)

	# Format completions and descriptions
	if count $files > /dev/null
		set -l res
		for i in (seq (count $files))
			set res $res $files[$i]\t$desc[$i]
		end

		if test $res[1]
			printf "%s\n" $res
		end
	end
end