From d2d9e50a57be1186bfa30eb5d74a0fb323c859d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20La=C3=ADn?= Date: Sat, 10 Feb 2024 01:52:50 +0100 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(nvim):=20add=20autocmd=20to=20?= =?UTF-8?q?create=20a=20new=20dir=20when=20saving=20a=20file=20inside=20(r?= =?UTF-8?q?emoved=20mkdir.nvim=20extra)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .config/nvim/lazyvim.json | 3 ++- .config/nvim/lua/config/autocmds.lua | 12 ++++++++++++ .config/nvim/lua/plugins/extras/util/mkdir.lua | 4 ---- 3 files changed, 14 insertions(+), 5 deletions(-) delete mode 100644 .config/nvim/lua/plugins/extras/util/mkdir.lua diff --git a/.config/nvim/lazyvim.json b/.config/nvim/lazyvim.json index 73d7f970..08b713b1 100644 --- a/.config/nvim/lazyvim.json +++ b/.config/nvim/lazyvim.json @@ -106,4 +106,5 @@ "NEWS.md": "2123" }, "version": 2 -} \ No newline at end of file +} + diff --git a/.config/nvim/lua/config/autocmds.lua b/.config/nvim/lua/config/autocmds.lua index df99c3b3..3f63879d 100644 --- a/.config/nvim/lua/config/autocmds.lua +++ b/.config/nvim/lua/config/autocmds.lua @@ -128,3 +128,15 @@ au({ "BufLeave", "FocusLost", "InsertEnter", "CmdlineEnter", "WinLeave" }, { end end, }) + +-- Create a dir when saving a file if it doesnt exist +au("BufWritePre", { + group = ag("auto_create_dir", { clear = true }), + callback = function(args) + if args.match:match("^%w%w+://") then + return + end + local file = vim.loop.fs_realpath(args.match) or args.match + vim.fn.mkdir(vim.fn.fnamemodify(file, ":p:h"), "p") + end, +}) diff --git a/.config/nvim/lua/plugins/extras/util/mkdir.lua b/.config/nvim/lua/plugins/extras/util/mkdir.lua deleted file mode 100644 index 2bc26a77..00000000 --- a/.config/nvim/lua/plugins/extras/util/mkdir.lua +++ /dev/null @@ -1,4 +0,0 @@ -return { - "jghauser/mkdir.nvim", - event = "VeryLazy", -}