diff --git a/nvim/.config/nvim/lua/disabled_plugins/jupytext.lua b/nvim/.config/nvim/lua/disabled_plugins/jupytext.lua deleted file mode 100644 index d740fb1..0000000 --- a/nvim/.config/nvim/lua/disabled_plugins/jupytext.lua +++ /dev/null @@ -1,6 +0,0 @@ -return { - { - "GCBallesteros/jupytext.nvim", - config = true - } -} diff --git a/nvim/.config/nvim/lua/plugins/molten.lua b/nvim/.config/nvim/lua/plugins/molten.lua index 7ef709a..afc5f24 100644 --- a/nvim/.config/nvim/lua/plugins/molten.lua +++ b/nvim/.config/nvim/lua/plugins/molten.lua @@ -1,30 +1,87 @@ return { - { - "benlubas/molten-nvim", - build = ":UpdateRemotePlugins", - version = "v1.7.0", + { -- Ability to show images in the output + "3rd/image.nvim", + opts = {} + }, { -- Use LSP in markdown files + "quarto-dev/quarto-nvim", + dependencies = {"jmbuhr/otter.nvim", "nvim-treesitter/nvim-treesitter"}, + ft = {"quarto", "markdown"}, init = function() - vim.keymap.set("n", "mi", ":MoltenInit", { - silent = true, - desc = "Initialize the plugin" - }) - vim.keymap.set("n", "e", ":MoltenEvaluateOperator", { - silent = true, - desc = "run operator selection" - }) - vim.keymap.set("n", "rl", ":MoltenEvaluateLine", { - silent = true, - desc = "evaluate line" - }) - vim.keymap.set("n", "rr", ":MoltenReevaluateCell", { - silent = true, - desc = "re-evaluate cell" - }) - vim.keymap.set("v", "r", ":MoltenEvaluateVisualgv", { - silent = true, - desc = "evaluate visual selection" + vim.api.nvim_create_autocmd('FileType', { + pattern = 'markdown', + callback = function() + require("quarto").activate() + end }) + -- local runner = require("quarto.runner") + -- vim.keymap.set("n", "rc", runner.run_cell, { + -- desc = "run cell", + -- silent = true + -- }) + -- vim.keymap.set("n", "ra", runner.run_above, { + -- desc = "run cell and above", + -- silent = true + -- }) + -- vim.keymap.set("n", "rA", runner.run_all, { + -- desc = "run all cells", + -- silent = true + -- }) + -- vim.keymap.set("n", "rl", runner.run_line, { + -- desc = "run line", + -- silent = true + -- }) + -- vim.keymap.set("v", "r", runner.run_range, { + -- desc = "run visual range", + -- silent = true + -- }) + -- vim.keymap.set("n", "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 = "rn", + references = "gr", + format = "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", "mi", ":MoltenInit", + {silent = true, desc = "Initialize the plugin"}) + vim.keymap.set("n", "e", ":MoltenEvaluateOperator", + {silent = true, desc = "run operator selection"}) + vim.keymap.set("n", "rl", ":MoltenEvaluateLine", + {silent = true, desc = "evaluate line"}) + vim.keymap.set("n", "rr", ":MoltenReevaluateCell", + {silent = true, desc = "re-evaluate cell"}) + vim.keymap.set("v", "r", + ":MoltenEvaluateVisualgv", + {silent = true, desc = "evaluate visual selection"}) + + vim.g.molten_image_provider = "image.nvim" + vim.g.molten_auto_open_output = false vim.g.molten_virt_text_output = true vim.g.molten_virt_text_max_lines = 32