nvim: Modify jupyter notebook config

This commit is contained in:
Andreas Tsouchlos 2025-03-10 09:02:07 +01:00
parent 99fc6ec017
commit ac9058d3e3
2 changed files with 80 additions and 29 deletions

View File

@ -1,6 +0,0 @@
return {
{
"GCBallesteros/jupytext.nvim",
config = true
}
}

View File

@ -1,30 +1,87 @@
return { return {
{ { -- Ability to show images in the output
"benlubas/molten-nvim", "3rd/image.nvim",
build = ":UpdateRemotePlugins", opts = {}
version = "v1.7.0", }, { -- Use LSP in markdown files
"quarto-dev/quarto-nvim",
dependencies = {"jmbuhr/otter.nvim", "nvim-treesitter/nvim-treesitter"},
ft = {"quarto", "markdown"},
init = function() init = function()
vim.keymap.set("n", "<localleader>mi", ":MoltenInit<CR>", { vim.api.nvim_create_autocmd('FileType', {
silent = true, pattern = 'markdown',
desc = "Initialize the plugin" callback = function()
}) require("quarto").activate()
vim.keymap.set("n", "<localleader>e", ":MoltenEvaluateOperator<CR>", { end
silent = true,
desc = "run operator selection"
})
vim.keymap.set("n", "<localleader>rl", ":MoltenEvaluateLine<CR>", {
silent = true,
desc = "evaluate line"
})
vim.keymap.set("n", "<localleader>rr", ":MoltenReevaluateCell<CR>", {
silent = true,
desc = "re-evaluate cell"
})
vim.keymap.set("v", "<localleader>r", ":<C-u>MoltenEvaluateVisual<CR>gv", {
silent = true,
desc = "evaluate visual selection"
}) })
-- local runner = require("quarto.runner")
-- vim.keymap.set("n", "<localleader>rc", runner.run_cell, {
-- desc = "run cell",
-- silent = true
-- })
-- vim.keymap.set("n", "<localleader>ra", runner.run_above, {
-- desc = "run cell and above",
-- silent = true
-- })
-- vim.keymap.set("n", "<localleader>rA", runner.run_all, {
-- desc = "run all cells",
-- silent = true
-- })
-- vim.keymap.set("n", "<localleader>rl", runner.run_line, {
-- desc = "run line",
-- silent = true
-- })
-- vim.keymap.set("v", "<localleader>r", runner.run_range, {
-- desc = "run visual range",
-- silent = true
-- })
-- vim.keymap.set("n", "<localleader>RA", function() runner.run_all(true) end, {
-- desc = "run all cells of all languages",
-- silent = true
-- })
end,
opts = {
lspFeatures = {
languages = {"r", "python", "rust", "julia"},
chunks = "all",
diagnostics = {enabled = true, triggers = {"BufWritePost"}},
completion = {enabled = true}
},
keymap = {
hover = "H",
definition = "gd",
rename = "<leader>rn",
references = "gr",
format = "<leader>gf"
},
codeRunner = {enabled = true, default_method = "molten"}
}
}, { -- Convert ipynb to markdown and back
"GCBallesteros/jupytext.nvim",
opts = {
style = "markdown",
output_extension = "md",
force_ft = "markdown"
}
}, { -- Interactive code evaluation
"benlubas/molten-nvim",
version = "^1.0.0", -- use version <2.0.0 to avoid breaking changes
build = ":UpdateRemotePlugins",
init = function()
vim.keymap.set("n", "<localleader>mi", ":MoltenInit<CR>",
{silent = true, desc = "Initialize the plugin"})
vim.keymap.set("n", "<localleader>e", ":MoltenEvaluateOperator<CR>",
{silent = true, desc = "run operator selection"})
vim.keymap.set("n", "<localleader>rl", ":MoltenEvaluateLine<CR>",
{silent = true, desc = "evaluate line"})
vim.keymap.set("n", "<localleader>rr", ":MoltenReevaluateCell<CR>",
{silent = true, desc = "re-evaluate cell"})
vim.keymap.set("v", "<localleader>r",
":<C-u>MoltenEvaluateVisual<CR>gv",
{silent = true, desc = "evaluate visual selection"})
vim.g.molten_image_provider = "image.nvim"
vim.g.molten_auto_open_output = false vim.g.molten_auto_open_output = false
vim.g.molten_virt_text_output = true vim.g.molten_virt_text_output = true
vim.g.molten_virt_text_max_lines = 32 vim.g.molten_virt_text_max_lines = 32