mirror of
https://github.com/boxpositron/absolute-vim.git
synced 2026-02-28 11:40:36 +00:00
chore(molten.lua): remove unnecessary configuration for molten plugin
chore(quarto.lua): remove unnecessary configuration for quarto plugin
This commit is contained in:
@@ -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,
|
|
||||||
})
|
|
||||||
@@ -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 = "<leader>lR",
|
|
||||||
format = "<leader>lf",
|
|
||||||
references = "gr",
|
|
||||||
document_symbols = "gS",
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
local opts = { noremap = true, silent = true }
|
|
||||||
|
|
||||||
opts.desc = "Quarto: Preview"
|
|
||||||
vim.keymap.set("n", "<leader>qp", "<cmd>QuartoPreview<CR>", opts)
|
|
||||||
|
|
||||||
opts.desc = "Quarto: Run Cell"
|
|
||||||
vim.keymap.set("n", "<localleader>rc", runner.run_cell, opts)
|
|
||||||
|
|
||||||
opts.desc = "Quarto: Run Cell and Above"
|
|
||||||
vim.keymap.set("n", "<localleader>ra", runner.run_above, opts)
|
|
||||||
|
|
||||||
opts.desc = "Quarto: Run All Cells"
|
|
||||||
vim.keymap.set("n", "<localleader>rA", runner.run_all, opts)
|
|
||||||
|
|
||||||
opts.desc = "Quarto: Run Line"
|
|
||||||
vim.keymap.set("n", "<localleader>rl", runner.run_line, opts)
|
|
||||||
|
|
||||||
opts.desc = "Quarto: Run Range"
|
|
||||||
vim.keymap.set("v", "<localleader>r", runner.run_range, opts)
|
|
||||||
|
|
||||||
opts.desc = "Quarto: Run All"
|
|
||||||
vim.keymap.set("n", "<localleader>RA", function()
|
|
||||||
runner.run_all(true)
|
|
||||||
end, opts)
|
|
||||||
Reference in New Issue
Block a user