diff --git a/lua/lazyvim/config/autocmds.lua b/lua/lazyvim/config/autocmds.lua index d37634cd..ea95da04 100644 --- a/lua/lazyvim/config/autocmds.lua +++ b/lua/lazyvim/config/autocmds.lua @@ -67,3 +67,16 @@ vim.api.nvim_create_autocmd("FileType", { vim.opt_local.spell = true end, }) + +-- Auto create dir when saving a file, in case some intermediate directory does not exist +vim.api.nvim_create_autocmd({ "BufWritePre" }, { + group = augroup("auto_create_dir"), + callback = function(ctx) + local dir = vim.fn.fnamemodify(ctx.file, ":p:h") + local res = vim.fn.isdirectory(dir) + + if res == 0 then + vim.fn.mkdir(dir, "p") + end + end, +})