nvim/lua/autocommands.lua
2021-09-12 20:25:50 +02:00

49 lines
1.5 KiB
Lua

function nvim_create_augroups(definitions)
for group_name, definition in pairs(definitions) do
vim.cmd('augroup ' .. group_name)
vim.cmd('autocmd!')
for _, def in ipairs(definition) do
local command = table.concat(vim.tbl_flatten{'autocmd', def}, ' ')
vim.cmd(command)
end
vim.cmd('augroup END')
end
end
local autocmds = {
change_header = {
{'BufWritePre', '*', 'lua changeheader()'}
};
packer = {
{ 'BufWritePost', 'plugins.lua', 'PackerCompile' };
};
restore_cursor = {
{ 'BufRead', '*', [[call setpos(".", getpos("'\""))]] };
};
save_shada = {
{'VimLeave', '*', 'wshada!'};
};
resize_windows_proportionally = {
{ 'VimResized', '*', ':wincmd =' };
};
toggle_search_highlighting = {
{ 'InsertEnter', '*', 'setlocal nohlsearch' };
};
lua_highlight = {
{ 'TextYankPost', '*', [[silent! lua vim.highlight.on_yank() {higroup='IncSearch', timeout=400}]] };
};
ansi_esc_log = {
{ 'BufEnter', '*.log', ':AnsiEsc' };
};
file_type = {
{'BufRead,BufNewFile', '*.simvis', 'set filetype=xml'};
{'BufRead,BufNewFile', '*.simcfg,*.simcon,*.simudex', 'set filetype=cfg'}
{'BufRead,BufNewFile', 'Jenkinsfile*', 'set filetype=groovy'}
{'BufRead,BufNewFile', '*.manifest', 'set filetype=xml'}
{'BufRead,BufNewFile', 'SConstruct,SConscript', 'set filetype=python'}
}
}
nvim_create_augroups(autocmds)