i3-setup/cat

27 lines
746 B
Lua
Executable File

#! /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