aboutsummaryrefslogtreecommitdiff
path: root/bin/show
blob: 7df4f6211c8c4d862dae54e68be63b6103d584c5 (plain) (blame)
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
#! /usr/bin/env lua

function string:ends_with(str)
	return self:sub(#self - #str + 1, #self) == str
end

local commands = {
	["batcat"] = {".c", ".cpp", ".h", ".hpp", ".lua", ".rb", ".java", ".xml", ".html", ".py", ".go", ".asm", ".php", ".rs", ".sh", ".diff", ".patch", ".js", ".css", "Makefile", ".basrc", ".bash_aliases", ".zshrc"},
	["~/.local/kitty.app/bin/kitty +kitten icat"] = {".png", ".jpg", ".jpeg", ".gif", ".svg"},
	["lolcat"] = {".txt"},
}

function get_command(file)
	for cmd, endings in pairs(commands) do
		for _, ending in pairs(endings) do
			if file:ends_with(ending) then
				return cmd
			end
		end
	end

	return "/bin/cat"
end

for _, file in ipairs(arg) do
	os.execute(get_command(file) .. " \"" .. file .. "\"", "r")
end