quarto setup

This commit is contained in:
Daniel Winkler 2026-01-31 17:28:09 +11:00
commit 765d53a1b1
5 changed files with 44 additions and 4 deletions

23
ftplugin/quarto.lua Normal file
View file

@ -0,0 +1,23 @@
local quarto = require('quarto')
quarto.setup()
vim.keymap.set('n', '<leader>qp', quarto.quartoPreview, { silent = true, noremap = true })
vim.keymap.set("n", "<Enter>", "<Plug>RDSendLine", { buffer = true })
vim.keymap.set("v", "<Enter>", "<Plug>RSendSelection", { buffer = true })
-- Assignment operator (--)
vim.keymap.set("i", "--", "<Cmd>lua MiniTrailspace.trim()<CR><Plug>RInsertAssign", { buffer = true, noremap = true })
-- Pipe operator (;;)
vim.keymap.set("i", ";;", "<Cmd>lua MiniTrailspace.trim()<CR><Plug>RInsertPipe<CR>", { buffer = true, noremap = true })
local runner = require("quarto.runner")
vim.keymap.set("n", "<localleader>a", runner.run_cell, { desc = "run cell", silent = true })
vim.keymap.set("n", "<localleader>A", runner.run_all, { desc = "run all cells", silent = true })
vim.keymap.set("n", "<localleader>RA", function()
runner.run_all(true)
end, { desc = "run all cells of all languages", silent = true })

View file

@ -300,6 +300,9 @@ now_if_args(function()
-- Use explicit buffer + filetype to avoid any ambiguity
local ok = pcall(vim.treesitter.start, args.buf, args.match)
vim.bo.syntax = 'on'
vim.bo.indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()"
vim.wo[0][0].foldexpr = 'v:lua.vim.treesitter.foldexpr()'
vim.wo[0][0].foldmethod = 'expr'
end,
})
@ -309,6 +312,7 @@ now_if_args(function()
return
end
vim.g.no_plugin_maps = true
nto.setup({
move = {
set_jumps = true,

View file

@ -97,9 +97,9 @@ later(function()
enabled = true,
},
},
-- codeRunner = {
-- enabled = true,
-- default_method = "slime",
-- },
codeRunner = {
enabled = true,
default_method = "slime",
},
})
end)

13
snippets/quarto.json Normal file
View file

@ -0,0 +1,13 @@
{
"Chunk": {
"R": {
"prefix": "_r",
"body": [
"```{r}",
"$1",
"```"
],
"description": "R code block"
}
}
}

0
snippets/r.json Normal file
View file