diff --git a/lua/lazyvim/plugins/extras/editor/undotree.lua b/lua/lazyvim/plugins/extras/editor/undotree.lua new file mode 100644 index 00000000..cef1ecb2 --- /dev/null +++ b/lua/lazyvim/plugins/extras/editor/undotree.lua @@ -0,0 +1,26 @@ +return { + { + "mbbill/undotree", + cmd = "UndotreeToggle", + keys = { + -- [U]ndo [T]ree + { "uT", "UndotreeToggle", desc = "Undo Tree Toggle" }, + }, + init = function() + -- Persist undo, refer https://github.com/mbbill/undotree#usage + local undodir = vim.fn.expand("~/.undo-nvim") + + if vim.fn.has("persistent_undo") == 1 then + if vim.fn.isdirectory(undodir) == 0 then + os.execute("mkdir -p " .. undodir) + end + + vim.opt.undodir = undodir + vim.opt.undofile = true + end + + -- set layout style to 2, let g:undotree_WindowLayout = 2 + vim.g.undotree_WindowLayout = 2 + end, + }, +}