From 42de4a6ad781f2bb65dbd53a9e7d4bd77b5dfb76 Mon Sep 17 00:00:00 2001 From: David Ibia Date: Mon, 1 Jul 2024 15:53:26 +0100 Subject: [PATCH] chore(molten.lua): remove unnecessary configuration for molten plugin chore(quarto.lua): remove unnecessary configuration for quarto plugin --- lua/absolute/after/molten.lua | 84 ----------------------------------- lua/absolute/after/quarto.lua | 63 -------------------------- 2 files changed, 147 deletions(-) delete mode 100644 lua/absolute/after/molten.lua delete mode 100644 lua/absolute/after/quarto.lua diff --git a/lua/absolute/after/molten.lua b/lua/absolute/after/molten.lua deleted file mode 100644 index e27d777..0000000 --- a/lua/absolute/after/molten.lua +++ /dev/null @@ -1,84 +0,0 @@ --- change the configuration when editing a python file -vim.api.nvim_create_autocmd("BufEnter", { - pattern = "*.py", - callback = function(e) - if string.match(e.file, ".otter.") then - return - end - if require("molten.status").initialized() == "Molten" then -- this is kinda a hack... - vim.fn.MoltenUpdateOption("virt_lines_off_by_1", false) - vim.fn.MoltenUpdateOption("virt_text_output", false) - else - vim.g.molten_virt_lines_off_by_1 = false - vim.g.molten_virt_text_output = false - end - end, -}) - --- Undo those config changes when we go back to a markdown or quarto file -vim.api.nvim_create_autocmd("BufEnter", { - pattern = { "*.qmd", "*.md", "*.ipynb" }, - callback = function(e) - if string.match(e.file, ".otter.") then - return - end - if require("molten.status").initialized() == "Molten" then - vim.fn.MoltenUpdateOption("virt_lines_off_by_1", true) - vim.fn.MoltenUpdateOption("virt_text_output", true) - else - vim.g.molten_virt_lines_off_by_1 = true - vim.g.molten_virt_text_output = true - end - end, -}) - --- automatically export output chunks to a jupyter notebook on write -vim.api.nvim_create_autocmd("BufWritePost", { - pattern = { "*.ipynb" }, - callback = function() - if require("molten.status").initialized() == "Molten" then - vim.cmd("MoltenExportOutput!") - end - end, -}) - --- automatically import output chunks from a jupyter notebook --- tries to find a kernel that matches the kernel in the jupyter notebook --- falls back to a kernel that matches the name of the active venv (if any) -local imb = function(e) -- init molten buffer - vim.schedule(function() - local kernels = vim.fn.MoltenAvailableKernels() - local try_kernel_name = function() - local metadata = vim.json.decode(io.open(e.file, "r"):read("a"))["metadata"] - return metadata.kernelspec.name - end - local ok, kernel_name = pcall(try_kernel_name) - if not ok or not vim.tbl_contains(kernels, kernel_name) then - kernel_name = nil - local venv = os.getenv("VIRTUAL_ENV") - if venv ~= nil then - kernel_name = string.match(venv, "/.+/(.+)") - end - end - if kernel_name ~= nil and vim.tbl_contains(kernels, kernel_name) then - vim.cmd(("MoltenInit %s"):format(kernel_name)) - end - vim.cmd("MoltenImportOutput") - end) -end - --- automatically import output chunks from a jupyter notebook -vim.api.nvim_create_autocmd("BufAdd", { - pattern = { "*.ipynb" }, - callback = imb, -}) - --- we have to do this as well so that we catch files opened like nvim ./hi.ipynb -vim.api.nvim_create_autocmd("BufEnter", { - pattern = { "*.ipynb" }, - callback = function(e) - if vim.api.nvim_get_vvar("vim_did_enter") ~= 1 then - imb(e) - end - end, -}) diff --git a/lua/absolute/after/quarto.lua b/lua/absolute/after/quarto.lua deleted file mode 100644 index 926ff88..0000000 --- a/lua/absolute/after/quarto.lua +++ /dev/null @@ -1,63 +0,0 @@ -local quarto = require("quarto") -local runner = require("quarto.runner") - -quarto.setup({ - debug = false, - ft = { "quarto", "markdown" }, - closePreviewOnExit = true, - lspFeatures = { - enabled = true, - chunks = "curly", - languages = { "r", "python", "julia", "bash", "html", "markdown" }, - - diagnostics = { - enabled = true, - triggers = { "BufWritePost" }, - }, - completion = { - enabled = true, - }, - }, - codeRunner = { - enabled = false, - default_method = nil, -- 'molten' or 'slime' - ft_runners = {}, -- filetype to runner, ie. `{ python = "molten" }`. - -- Takes precedence over `default_method` - never_run = { "yaml" }, -- filetypes which are never sent to a code runner - }, - keymap = { - -- set whole section or individual keys to `false` to disable - hover = "K", - definition = "gd", - type_definition = "gD", - rename = "lR", - format = "lf", - references = "gr", - document_symbols = "gS", - }, -}) - -local opts = { noremap = true, silent = true } - -opts.desc = "Quarto: Preview" -vim.keymap.set("n", "qp", "QuartoPreview", opts) - -opts.desc = "Quarto: Run Cell" -vim.keymap.set("n", "rc", runner.run_cell, opts) - -opts.desc = "Quarto: Run Cell and Above" -vim.keymap.set("n", "ra", runner.run_above, opts) - -opts.desc = "Quarto: Run All Cells" -vim.keymap.set("n", "rA", runner.run_all, opts) - -opts.desc = "Quarto: Run Line" -vim.keymap.set("n", "rl", runner.run_line, opts) - -opts.desc = "Quarto: Run Range" -vim.keymap.set("v", "r", runner.run_range, opts) - -opts.desc = "Quarto: Run All" -vim.keymap.set("n", "RA", function() - runner.run_all(true) -end, opts)