From ed48b85dbea30a15518b4caa58cbf5d2b54f97a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=B5=20Quang=20Chi=E1=BA=BFn?= <87252943+yeuxacucodon@users.noreply.github.com> Date: Fri, 31 Mar 2023 14:40:57 +0700 Subject: [PATCH] feat(autocmds): add auto create dir (#493) * feat(autocmds): add auto create dir * refactor: auto-create dir --------- Co-authored-by: Folke Lemaitre --- lua/lazyvim/config/autocmds.lua | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lua/lazyvim/config/autocmds.lua b/lua/lazyvim/config/autocmds.lua index d37634cd..0e201f29 100644 --- a/lua/lazyvim/config/autocmds.lua +++ b/lua/lazyvim/config/autocmds.lua @@ -67,3 +67,12 @@ 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(event) + local file = vim.loop.fs_realpath(event.match) or event.match + vim.fn.mkdir(vim.fn.fnamemodify(file, ":p:h"), "p") + end, +})