return { --"quarto-dev/quarto-nvim", dir = vim.env.HOME .. '/comps/neovim/quarto-nvim', commit = 'bfc191b2c9f973fd405e703bd0dfe11fb327a149', lazy = true, cmd = { 'QuartoPreview', 'QuartoPreviewNoWatch', 'QuartoUpdatePreview', 'QuartoClosePreview', 'QuartoActivate', 'QuartoHelp', 'QuartoSend', 'QuartoSendAbove', 'QuartoSendBelow', 'QuartoSendAll', 'QuartoSendRange', 'QuartoSendLine', }, keys = { { ']c', function() require('nvim-treesitter.textobjects.move').goto_next_start('@cell.inner', 'textobjects') end, desc = 'Goto Next [C]ell Start', }, { '[c', function() require('nvim-treesitter.textobjects.move').goto_previous_start('@cell.inner', 'textobjects') end, desc = 'Goto Prev [C]ell Start', }, { ']C', function() require('nvim-treesitter.textobjects.move').goto_next_end('@cell.outer', 'textobjects') end, desc = 'Goto Next [C]ell End', }, { '[C', function() require('nvim-treesitter.textobjects.move').goto_previous_end('@cell.outer', 'textobjects') end, desc = 'Goto Prev [C]ell End', }, -- Jupyter / Notebooks --- j { 'jl', function() require('quarto.runner').run_cell() --vim.cmd(':noautocmd MoltenEnterOutput') end, desc = '[J]upyter Run Ce[L]l', silent = true, }, { 'jL', function() require('quarto.runner').run_cell() vim.cmd(':MoltenOpenInBrowser') end, desc = '[J]upyter Run Ce[L]l', }, { 'j;', function() require('quarto.runner').run_cell() require('nvim-treesitter.textobjects.move').goto_next_start('@cell.inner', 'textobjects') end, desc = '[J]upyter Run Cell and Skip', }, { 'jk', function() require('quarto.runner').run_above() end, desc = '[J]upyter Run Cell Above', }, { 'jA', function() require('quarto.runner').run_all() end, desc = '[J]upyter Run Cell Below', }, { 'j,', function() require('quarto.runner').run_line() end, desc = '[J]upyter Run L[I]ne', }, { 'jp', function() require('quarto').quartoPreview() end, desc = '[J]upyter Start [P]review', }, { 'jP', function() require('quarto').quartoStopPreview() end, desc = '[J]upyter Stop [P]review', }, }, init = function() vim.treesitter.language.register('markdown', { 'quarto', 'rmd' }) vim.api.nvim_create_autocmd('FileType', { pattern = { 'quarto' }, callback = function(ev) require('quarto').activate() end, }) end, opts = { venv = { enabled = true, }, codeRunner = { default_method = 'molten', }, }, }