2 function string:ends_with(str)
3 return self:sub(#self - #str + 1, #self) == str
7 ["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"},
8 ["~/.local/kitty.app/bin/kitty +kitten icat"] = {".png", ".jpg", ".jpeg", ".gif", ".svg"},
12 function get_command(file)
13 for cmd, endings in pairs(commands) do
14 for _, ending in pairs(endings) do
15 if file:ends_with(ending) then
24 for _, file in ipairs(arg) do
25 os.execute(get_command(file) .. " \"" .. file .. "\"", "r")