Files
nvim-modular/lua/custom/autocommands/quarto.lua
2025-08-11 03:50:33 +02:00

49 lines
1.5 KiB
Lua

-- Quarto autocommands file
--
local status_wk, wk = pcall(require, 'which-key')
if not status_wk then
return
end
vim.api.nvim_create_autocmd('FileType', {
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 [[MoltenDeinit]]
end
wk.add {
{ mode = { 'n', 'v', 'i' }, buffer = true },
{ -- Quarto
{ '<leader>Q', group = '[Q]uarto' }, -- group
{ '<leader>Qp', '<CMD>QuartoPreview<CR>', desc = '[p]review Quarto' },
{ '<leader>Qs', '<CMD>QuartoSend<CR>', desc = '[s]end to Quarto' },
},
{ -- Molten
{ '<leader>M', group = '[M]olten' }, -- group
{ '<leader>Mi', init, desc = '[i]nitialize Molten' },
{ '<leader>Ms', deinit, desc = '[s]top Molten' },
{ '<leader>Md', '<CMD>MoltenStop<CR>', desc = '[S]top Molten' },
{ '<leader>Mp', '<CMD>MoltenPause<CR>', desc = '[p]ause Molten' },
{ '<leader>Mr', '<CMD>MoltenReset<CR>', desc = '[r]eset Molten' },
},
{ -- Vim-slime
{ '<leader>S', group = '[S]lime' }, -- group
{ '<leader>Ss', '<CMD>SlimeSend<CR>', desc = '[s]end Slime' },
{ '<leader>Sr', '<CMD>SlimeRestart<CR>', desc = '[r]estart Slime' },
},
}
end,
})