-- 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 { 'q', group = '[q]uarto', buffer = true }, { 'qp', 'QuartoPreview', desc = '[p]review Quarto', buffer = true }, { 'qs', 'QuartoSend', desc = '[s]end to Quarto', buffer = true }, }, { -- Molten { 'M', group = '[M]olten', buffer = true }, { 'Mi', init, desc = '[i]nitialize Molten', buffer = true }, { 'Ms', deinit, desc = '[s]top Molten', buffer = true }, { 'Mp', 'MoltenPause', desc = '[p]ause Molten', buffer = true }, { 'Mr', 'MoltenReset', desc = '[r]eset Molten', buffer = true }, }, { -- Vim-slime { 'S', group = '[S]lime', buffer = true }, { 'Ss', 'SlimeSend', desc = '[s]end to Slime', buffer = true }, { 'Sr', 'SlimeRestart', desc = '[r]estart Slime', buffer = true }, }, } end, })