dotfiles/lua/custom_functions.lua
Joshua Finch 487f874984 Massive rewrite and modularization of the existing neovim config to
break it up into multiple files and to use a maintained package manager
(lazy.nvim)
2024-02-29 21:22:09 -06:00

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