Files
nvim-modular/lua/custom/autocommands/quarto.lua
2025-08-16 18:43:42 +02:00

52 lines
1.7 KiB
Lua

-- Quarto autocommands file
--
local status_wk, wk = pcall(require, 'which-key')
if not status_wk then
return
end
local group = vim.api.nvim_create_augroup('quarto_autocommands', { clear = true })
vim.api.nvim_create_autocmd('FileType', {
group = group,
desc = '',
pattern = 'quarto',
callback = function()
local init = function()
local quarto_cfg = require('quarto.config').config
quarto_cfg.codeRunner.default_method = 'molten'
vim.cmd [[MoltenInit]]
end
local deinit = function()
local quarto_cfg = require('quarto.config').config
quarto_cfg.codeRunner.default_method = 'slime'
vim.cmd [[MoltenStop]]
vim.cmd [[MoltenDeinit]]
end
wk.add {
{ mode = { 'n', 'v', 'i' } },
{ -- Quarto
{ '<leader>q', group = '[q]uarto', buffer = true },
{ '<leader>qp', '<CMD>QuartoPreview<CR>', desc = '[p]review Quarto', buffer = true },
{ '<leader>qs', '<CMD>QuartoSend<CR>', desc = '[s]end to Quarto', buffer = true },
},
{ -- Molten
{ '<leader>M', group = '[M]olten', buffer = true },
{ '<leader>Mi', init, desc = '[i]nitialize Molten', buffer = true },
{ '<leader>Ms', deinit, desc = '[s]top Molten', buffer = true },
{ '<leader>Mp', '<CMD>MoltenPause<CR>', desc = '[p]ause Molten', buffer = true },
{ '<leader>Mr', '<CMD>MoltenReset<CR>', desc = '[r]eset Molten', buffer = true },
},
{ -- Vim-slime
{ '<leader>S', group = '[S]lime', buffer = true },
{ '<leader>Ss', '<CMD>SlimeSend<CR>', desc = '[s]end to Slime', buffer = true },
{ '<leader>Sr', '<CMD>SlimeRestart<CR>', desc = '[r]estart Slime', buffer = true },
},
}
end,
})