68 lines
1.4 KiB
Lua
68 lines
1.4 KiB
Lua
-- Lua vim-dummy variable
|
|
if vim == nil then
|
|
local vim = {}
|
|
end
|
|
|
|
-- @name Prove
|
|
-- @param
|
|
-- @short Run gnatprove
|
|
function Prove()
|
|
vim.cmd("new")
|
|
local run_cmd = { "alr gnatprove" }
|
|
vim.api.nvim_buf_set_lines(0, 0, -1, false, run_cmd)
|
|
vim.cmd(":%!bash")
|
|
|
|
buffer_loaded = true
|
|
end
|
|
|
|
-- @name Run
|
|
-- @param
|
|
-- @short Run program using alire
|
|
function Run()
|
|
vim.cmd("new")
|
|
local run_cmd = { "alr run" }
|
|
vim.api.nvim_buf_set_lines(0, 0, -1, false, run_cmd)
|
|
vim.cmd(":%!bash")
|
|
|
|
buffer_loaded = true
|
|
end
|
|
|
|
function Close_Prove()
|
|
if buffer_loaded then
|
|
buffer_loaded = false
|
|
vim.cmd("bd!")
|
|
end
|
|
end
|
|
|
|
vim.keymap.set("n", "pp", ":lua Close_Prove()<cr>")
|
|
vim.keymap.set("n", "<leader>pp", ":lua Prove()<cr>")
|
|
vim.keymap.set("n", "<leader>op", ":lua Run()<cr>")
|
|
|
|
-- @name setup_ada
|
|
-- @param
|
|
-- @short Verify installation of ada tools or install them.
|
|
local function setup_ada()
|
|
vim.keymap.set("n", "<leader>cb", ":!gnatpp %<cr>")
|
|
vim.opt.tabstop = 3
|
|
vim.opt.shiftwidth = 3
|
|
end
|
|
|
|
-- Setup and verify ada tools when opening a ada file
|
|
vim.api.nvim_create_autocmd({ "BufEnter" }, {
|
|
pattern = { "*.adb", "*.ads" },
|
|
callback = setup_ada,
|
|
})
|
|
|
|
-- @name leave_ada
|
|
-- @param
|
|
-- @short Leave ada and reverse any changes to my editor defaults
|
|
local function leave_ada()
|
|
vim.opt.tabstop = 4
|
|
vim.opt.shiftwidth = 4
|
|
end
|
|
|
|
vim.api.nvim_create_autocmd({ "BufLeave" }, {
|
|
pattern = { "*.adb", "*.ads" },
|
|
callback = leave_ada,
|
|
})
|