dippin-dotfiles/.vivaldi-mods/posix.lua

147 lines
3.9 KiB
Lua
Executable file

-- This file contains wrappers for hilbish.run for common POSIX utilities.
local M = {}
M.pwd = function()
return hilbish.run("pwd", false)
end
M.touch = function(file, opts)
local cmd = "touch "
if opts then
if opts.sudo ~=nil and opts.sudo == true then
cmd = "sudo " .. cmd
end
if opts.change_mod_time ~= nil and opts.change_mod_time == true then
cmd = cmd .. "-m "
end
if opts.change_access_time ~= nil and opts.change_access_time == true then
cmd = cmd .. "-a "
end
if opts.flags ~= nil then
cmd = cmd .. opts.flags .. " "
end
end
cmd = cmd .. file
return hilbish.run(cmd, false)
end
M.cp = function(file1, file2, opts)
local cmd = "cp "
if opts then
if opts.sudo ~= nil and opts.sudo == true then
cmd = "sudo " .. cmd
end
if opts.force ~= nil and opts.force == true then
cmd = cmd .. "-f "
end
if opts.recursive ~= nil and opts.recursive == true then
cmd = cmd .. "-r "
end
if opts.flags ~= nil then
cmd = cmd .. opts.flags .. " "
end
end
cmd = cmd .. file1 .. " " .. file2
return hilbish.run(cmd, false)
end
M.rm = function(file, opts)
local cmd = "rm "
if opts then
if opts.sudo ~= nil and opts.sudo == true then
cmd = "sudo " .. cmd
end
if opts.force ~= nil and opts.force == true then
cmd = cmd .. "-f "
end
if opts.recursive ~= nil and opts.recursive == true then
cmd = cmd .. "-r "
end
if opts.flags ~= nil then
cmd = cmd .. opts.flags .. " "
end
end
cmd = cmd .. file
return hilbish.run(cmd, false)
end
M.mv = function(file1, file2, opts)
local cmd = "mv "
if opts then
if opts.sudo ~= nil and opts.sudo == true then
cmd = "sudo " .. cmd
end
if opts.flags ~= nil then
cmd = cmd .. opts.flags .. " "
end
end
cmd = cmd .. file1 .. " " .. file2
return hilbish.run(cmd, false)
end
M.find = function(dir, opts)
local cmd = "find " .. dir .. " "
if opts then
if opts.depth ~= nil then
cmd = cmd .. "-depth " .. opts.depth .. " "
end
if opts.maxdepth ~= nil then
cmd = cmd .. "-maxdepth " .. opts.maxdepth .. " "
end
if opts.type ~= nil then
cmd = cmd .. "-type " .. opts.type .. " "
end
if opts.name ~= nil then
cmd = cmd .. "-name " .. opts.name .. " "
end
if opts.flags ~= nil then
cmd = cmd .. opts.flags .. " "
end
end
return hilbish.run(cmd, false)
end
M.dirname = function(dir)
return hilbish.run("dirname " .. dir, false)
end
M.sed = function(script, file, opts)
local cmd = "sed -e '" .. script .. "' "
if opts then
if opts.sudo ~= nil and opts.sudo == true then
cmd = "sudo " .. cmd
end
if opts.script_file ~= nil then
cmd = cmd .. "-f " .. opts.script_file .. " "
end
if opts.suppress_default ~= nil and opts.suppress_default == true then
cmd = cmd .. "-n "
end
if opts.flags ~= nil then
cmd = cmd .. opts.flags .. " "
end
end
cmd = cmd .. file
return hilbish.run(cmd, false)
end
M.cat = function(files, opts)
local cmd = "cat " .. files .. " "
if opts then
if opts.sudo ~= nil and opts.sudo == true then
cmd = "sudo " .. cmd
end
-- The following two options are mutually exclusive
if opts.output_file ~= nil then
cmd = cmd .. "> " .. opts.output_file
elseif opts.append_file ~= nil then
cmd = cmd .. ">> " .. opts.append_file
end
end
return hilbish.run(cmd, false)
end
return M