1
Fork 0

Jupytext and harpoon setup!

This commit is contained in:
Matei Adriel 2023-03-31 18:54:44 +02:00
parent 9d7fd2277a
commit 26e2bee4e0
No known key found for this signature in database
6 changed files with 88 additions and 34 deletions
dotfiles/neovim/lua/my/plugins

View file

@ -215,41 +215,15 @@ return {
},
{
"goerz/jupytext.vim",
lazy = false, -- Otherwise I can't get this to work with nvim *.ipynb
cond = env.vscode.not_active(),
config = function()
-- Use %% as cell delimiter
vim.g.jupytext_fmt = "py:percent"
-- vim.opt.foldmarker = "%%,%%"
end,
"mbbill/undotree",
cmd = "UndotreeToggle",
init = function()
vim.cmd([[
function GetJupytextFold(linenum)
if getline(a:linenum) =~ "^#\\s%%"
" start fold
return ">1"
elseif getline(a:linenum + 1) =~ "^#\\s%%"
return "<1"
else
return "-1"
endif
endfunction
]])
-- Set the correct foldexpr
vim.api.nvim_create_autocmd("BufEnter", {
pattern = { "*.ipynb" },
group = vim.api.nvim_create_augroup("JupytextFoldExpr", {}),
callback = function()
vim.cmd([[
setlocal foldexpr=GetJupytextFold(v:lnum)
setlocal foldmethod=expr
" Deletes and pastes all text. Used to refresh folds.
:norm ggVGdpggdd
]])
end,
})
vim.keymap.set(
"n",
"<leader>u",
"<cmd>UndotreeToggle<cr>",
{ desc = "[U]ndo tree" }
)
end,
},
}