
extracted from this pull request of lazyvim: https://github.com/LazyVim/LazyVim/pull/1391
67 lines
1.7 KiB
Lua
67 lines
1.7 KiB
Lua
-- Autocmds are automatically loaded on the VeryLazy event
|
|
-- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua
|
|
-- Add any additional autocmds here
|
|
|
|
local function augroup(name)
|
|
return vim.api.nvim_create_augroup("lazyvim_" .. name, { clear = true })
|
|
end
|
|
|
|
-- Disable diagnostics in a .env file
|
|
vim.api.nvim_create_autocmd("BufRead", {
|
|
pattern = ".env",
|
|
callback = function()
|
|
vim.diagnostic.disable(0)
|
|
end,
|
|
})
|
|
|
|
-- start git messages in insert mode
|
|
vim.api.nvim_create_autocmd("BufRead", {
|
|
pattern = { "gitcommit", "gitrebase" },
|
|
callback = function()
|
|
vim.cmd("startinsert")
|
|
end,
|
|
})
|
|
|
|
local auto_close_filetype = {
|
|
"lazy",
|
|
"mason",
|
|
"lspinfo",
|
|
"toggleterm",
|
|
"null-ls-info",
|
|
"TelescopePrompt",
|
|
"notify",
|
|
}
|
|
|
|
-- Auto close window when leaving
|
|
vim.api.nvim_create_autocmd("BufLeave", {
|
|
group = augroup("auto_close_win"),
|
|
callback = function(event)
|
|
local ft = vim.api.nvim_buf_get_option(event.buf, "filetype")
|
|
|
|
if vim.fn.index(auto_close_filetype, ft) ~= -1 then
|
|
local winids = vim.fn.win_findbuf(event.buf)
|
|
for _, win in pairs(winids) do
|
|
vim.api.nvim_win_close(win, true)
|
|
end
|
|
end
|
|
end,
|
|
})
|
|
|
|
-- Disable leader and localleader for some filetypes
|
|
vim.api.nvim_create_autocmd("FileType", {
|
|
group = augroup("unbind_leader_key"),
|
|
pattern = {
|
|
"lazy",
|
|
"mason",
|
|
"lspinfo",
|
|
"toggleterm",
|
|
"null-ls-info",
|
|
"neo-tree-popup",
|
|
"TelescopePrompt",
|
|
"notify",
|
|
},
|
|
callback = function(event)
|
|
vim.keymap.set("n", "<leader>", "<nop>", { buffer = event.buf, desc = "" })
|
|
vim.keymap.set("n", "<localleader>", "<nop>", { buffer = event.buf, desc = "" })
|
|
end,
|
|
})
|