]> git.lizzy.rs Git - i3-setup.git/blob - cat
Create LICENSE
[i3-setup.git] / cat
1 #! /usr/bin/env lua
2 function string:ends_with(str)
3         return self:sub(#self - #str + 1, #self) == str
4 end
5
6 local commands = {
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"},
9         ["lolcat"] = {".txt"},
10 }
11
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
16                                 return cmd
17                         end
18                 end
19         end
20
21         return "/bin/cat"
22 end
23
24 for _, file in ipairs(arg) do
25         os.execute(get_command(file) .. " \"" .. file .. "\"", "r")
26 end