36 lines
1.0 KiB
Lua
36 lines
1.0 KiB
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
|
|
|
|
return {
|
|
execute = function(type)
|
|
local command_table = {
|
|
build = {
|
|
rust = 'cargo build',
|
|
},
|
|
run = {
|
|
java = 'java %',
|
|
python = 'python %',
|
|
rust = 'cargo run',
|
|
},
|
|
test = {
|
|
python = 'pytest',
|
|
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
|
|
}
|