nvim/lua/pascal_mode.lua

42 lines
1003 B
Lua

-- Lua vim-dummy variable
if vim == nil then
local vim = {}
end
-- @name setup_pascal
-- @param
-- @short Verify installation of pascal tools or install them.
local function setup_pascal()
local check_ptop = { os.execute("which ptop") }
vim.cmd("set autoread")
-- if return value is 1, get ptop
if check_ptop == 1 then
os.execute("wget -o ~/.local/bin/ptop https://www.nickr.eu/data/ptop64")
os.execute("chmod +x ~/.local/bin/ptop")
end
end
-- Setup and verify pascal tools when opening a pascal file
vim.api.nvim_create_autocmd({ "BufEnter" }, {
pattern = { "*.pas" },
callback = setup_pascal,
})
-- @name auto_format
-- @param
-- @short The format function for pascal.
local function auto_format()
local write_cmd = "ptop -c ~/.config/nvim/ptop.conf "
.. vim.api.nvim_buf_get_name(0)
.. " "
.. vim.api.nvim_buf_get_name(0)
os.execute(write_cmd)
end
-- Add formatter command
vim.api.nvim_create_autocmd({ "BufWritePost" }, {
pattern = { "*.pas" },
callback = auto_format,
})