-- Create parent directories when saving a file vim.api.nvim_create_autocmd("BufWritePre", { pattern = "*", callback = function() local dir = vim.fn.expand(":p:h") if vim.fn.isdirectory(dir) == 0 then vim.fn.mkdir(dir, "p") end end, }) -- Load project specific configuration vim.api.nvim_create_autocmd("VimEnter", { callback = function() local project_config = vim.fn.getcwd() .. "/.project.lua" if vim.fn.filereadable(project_config) == 1 then dofile(project_config) end end, }) -- Remove trailing spaces vim.api.nvim_create_autocmd("BufWritePre", { pattern = "*", callback = function() vim.cmd("%s/\\s\\+$//e") end, }) vim.api.nvim_create_autocmd({ "BufRead", "BufNewFile" }, { pattern = "*.rabl", callback = function() vim.bo.filetype = "ruby" end, })