break it up into multiple files and to use a maintained package manager (lazy.nvim)
32 lines
892 B
Lua
32 lines
892 B
Lua
-- 'softrequire' provides a wrapper around the builtin require. If the require has failed in a `local mod = softrequire('m') call, a quick check of
|
|
-- 'if mod then' can wrap code dependent upon the require, and fails gracefully
|
|
local function softrequire(m)
|
|
local ok, err = pcall(require, m)
|
|
if not ok then return nil, err end
|
|
return err
|
|
end
|
|
|
|
local function execute(type)
|
|
local command_table = {
|
|
run = {
|
|
java = "java %",
|
|
python = "python %",
|
|
rust = "cargo run",
|
|
},
|
|
test = {
|
|
python = "python test",
|
|
rust = "cargo test",
|
|
},
|
|
benchmark = {
|
|
rust = "cargo bench",
|
|
},
|
|
}
|
|
vim.api.nvim_command('write')
|
|
local command = command_table[type][vim.bo.filetype]
|
|
|
|
if command ~= nil then
|
|
vim.cmd('FloatermNew --autoclose=0 ' .. command)
|
|
end
|
|
end
|
|
|