1
Fork 0
satellite/home/features/neovim/config/ftplugin/lua.lua
2024-02-26 12:57:07 +01:00

45 lines
942 B
Lua

local opts = function(desc)
return { desc = desc, buffer = true }
end
local function runLocal(functionName)
return function()
local path = vim.api.nvim_buf_get_name(0)
local status, M = pcall(dofile, path)
if status then
if M ~= nil then
if type(M[functionName]) == "function" then
M[functionName]()
print("M." .. functionName .. "() executed succesfully!")
else
print("Module does not return a " .. functionName .. " function")
end
else
print("Module returned nil")
end
else
print("Cannot import current file :(")
end
end
end
vim.keymap.set(
"n",
"<leader>lf",
"<cmd>source %<cr>",
opts("Run [l]ua [f]ile ")
)
vim.keymap.set(
"n",
"<leader>ls",
runLocal("setup"),
opts("Run .[s]etup() in current file")
)
vim.keymap.set(
"n",
"<leader>lc",
runLocal("config"),
opts("Run .[c]onfig() in current file")
)