49 lines
1.1 KiB
Lua
49 lines
1.1 KiB
Lua
-- Lua vim-dummy variable
|
|
if vim == nil then
|
|
local vim = {}
|
|
end
|
|
|
|
-- @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,
|
|
})
|
|
|
|
-- @name format_file
|
|
-- @param
|
|
-- @short Run gnatpp as formatter on the current file.
|
|
local function format_file()
|
|
vim.cmd("checktime %")
|
|
local write_cmd = "gnatpp " .. vim.api.nvim_buf_get_name(0)
|
|
os.execute(write_cmd)
|
|
vim.cmd("checktime %")
|
|
end
|
|
|
|
-- Add formatter command
|
|
vim.api.nvim_create_autocmd({ "BufWritePost" }, {
|
|
pattern = { "*.adb", "*.ads" },
|
|
callback = format_file,
|
|
})
|