68 lines
1.8 KiB
Lua
68 lines
1.8 KiB
Lua
local M = {}
|
|
|
|
function M.map(mode, lhs, rhs, opts)
|
|
local options = { noremap = true }
|
|
if opts then
|
|
options = vim.tbl_extend("force", options, opts)
|
|
end
|
|
-- vim.api.nvim_set_keymap(mode, lhs, rhs, options)
|
|
vim.keymap.set(mode, lhs, rhs, options)
|
|
end
|
|
|
|
function M.use_google()
|
|
return M.file_exists(os.getenv("HOME").."/use_google")
|
|
end
|
|
|
|
function M.file_exists(name)
|
|
local f=io.open(name,"r")
|
|
if f~=nil then io.close(f) return true else return false end
|
|
end
|
|
|
|
function M.dump(o)
|
|
if type(o) == 'table' then
|
|
local s = '{ '
|
|
for k,v in pairs(o) do
|
|
if type(k) ~= 'number' then k = '"'..k..'"' end
|
|
s = s .. '['..k..'] = ' .. M.dump(v) .. ','
|
|
end
|
|
return s .. '} '
|
|
else
|
|
return tostring(o)
|
|
end
|
|
end
|
|
|
|
function M.tprint (tbl, indent)
|
|
if not indent then indent = 0 end
|
|
local toprint = string.rep(" ", indent) .. "{\r\n"
|
|
indent = indent + 2
|
|
for k, v in pairs(tbl) do
|
|
toprint = toprint .. string.rep(" ", indent)
|
|
if (type(k) == "number") then
|
|
toprint = toprint .. "[" .. k .. "] = "
|
|
elseif (type(k) == "string") then
|
|
toprint = toprint .. k .. "= "
|
|
end
|
|
if (type(v) == "number") then
|
|
toprint = toprint .. v .. ",\r\n"
|
|
elseif (type(v) == "string") then
|
|
toprint = toprint .. "\"" .. v .. "\",\r\n"
|
|
elseif (type(v) == "table") then
|
|
toprint = toprint .. M.tprint(v, indent + 2) .. ",\r\n"
|
|
else
|
|
toprint = toprint .. "\"" .. tostring(v) .. "\",\r\n"
|
|
end
|
|
end
|
|
toprint = toprint .. string.rep(" ", indent-2) .. "}"
|
|
return toprint
|
|
end
|
|
|
|
function M.log(message)
|
|
local log_file_path = vim.fn.expand('$HOME/nvim.log')
|
|
local log_file = io.open(log_file_path, "a")
|
|
io.output(log_file)
|
|
io.write(message.."\n")
|
|
io.close(log_file)
|
|
end
|
|
|
|
return M
|