114 lines
3.4 KiB
Lua
114 lines
3.4 KiB
Lua
vim.api.nvim_create_autocmd("FileType", {
|
|
pattern = "help",
|
|
callback = function()
|
|
vim.wo.number = true
|
|
vim.wo.relativenumber = true
|
|
end,
|
|
})
|
|
|
|
vim.api.nvim_create_autocmd("FileType", {
|
|
desc = "Use tabs for indents in Go files",
|
|
pattern = "go",
|
|
callback = function()
|
|
vim.bo.expandtab = false
|
|
end,
|
|
})
|
|
|
|
vim.api.nvim_create_autocmd("FileType", {
|
|
desc = "Fix parsing compile errors into quickfixlist",
|
|
pattern = "zig",
|
|
callback = function()
|
|
vim.bo.errorformat = "%f:%l:%c: %t%.%#: %m,%-G%.%#"
|
|
end,
|
|
})
|
|
|
|
vim.api.nvim_create_autocmd({ "BufReadPost" }, {
|
|
desc = "Return cursor to last position when re-opening a buffer",
|
|
pattern = "*",
|
|
command = 'silent! normal! g`"zv',
|
|
})
|
|
|
|
vim.api.nvim_create_autocmd("FileType", {
|
|
pattern = { "c" },
|
|
callback = function()
|
|
vim.o.errorformat = "%-Gmake: *** [Makefile:,"
|
|
.. "%-Gg%\\?make[%*\\d]: *** [%f:%l:%m,"
|
|
.. "%-Gg%\\?make: *** [%f:%l:%m,"
|
|
.. "%-G%f:%l: (Each undeclared identifier is reported only once,"
|
|
.. "%-G%f:%l: for each function it appears in.),"
|
|
.. "%-GIn file included from %f:%l:%c:,"
|
|
.. "%-GIn file included from %f:%l:%c\\,,"
|
|
.. "%-GIn file included from %f:%l:%c,"
|
|
.. "%-GIn file included from %f:%l,"
|
|
.. "%-G%*[ ]from %f:%l:%c,"
|
|
.. "%-G%*[ ]from %f:%l:,"
|
|
.. "%-G%*[ ]from %f:%l\\,,"
|
|
.. "%-G%*[ ]from %f:%l,"
|
|
.. "%-G%f:%l:%c: note: '%*[^']' declared here,"
|
|
.. "%D%*\\a[%*\\d]: Entering directory %*[`']%f',"
|
|
.. "%X%*\\a[%*\\d]: Leaving directory %*[`']%f',"
|
|
.. "%D%*\\a: Entering directory %*[`']%f',"
|
|
.. "%X%*\\a: Leaving directory %*[`']%f',"
|
|
.. "%DMaking %*\\a in %f,"
|
|
.. "%f:%l:%c: %t%*[^:]: %m,"
|
|
.. "%*[^:]: %f:%l: %m,"
|
|
.. "%-G%.%#"
|
|
end,
|
|
})
|
|
|
|
vim.api.nvim_create_autocmd("FileType", {
|
|
pattern = { "rust" },
|
|
callback = function()
|
|
vim.bo.errorformat = "%Enote: test %m at %f:%l:%c,"
|
|
.. "%E%\\%%(%.%#panicked%\\)%\\@=%m at %f:%l:%c:,"
|
|
.. "%-Gerror: test failed\\, %.%#,"
|
|
.. "%-Gwarning: %.%# generated 3 warnings%.%#,"
|
|
.. "%-Gnote: run with `RUST_BACKTRACE=%.%#,"
|
|
.. "%-G%\\s%#Running%.%#,"
|
|
.. vim.bo.errorformat:gsub(
|
|
"%%E left:%%m,%%C right:%%m %%f:%%l:%%c,",
|
|
""
|
|
)
|
|
end,
|
|
})
|
|
|
|
vim.api.nvim_create_autocmd("FileType", {
|
|
desc = "Use two space indent for C++ files",
|
|
pattern = { "cpp" },
|
|
callback = function()
|
|
vim.bo.tabstop = 2
|
|
vim.bo.softtabstop = 2
|
|
vim.bo.shiftwidth = 2
|
|
vim.bo.cinoptions = "g0"
|
|
end,
|
|
})
|
|
|
|
vim.api.nvim_create_autocmd("FileType", {
|
|
pattern = { "netrw" },
|
|
callback = function()
|
|
vim.keymap.set("n", "<C-h>", "-", { buffer = true, remap = true })
|
|
vim.keymap.set("n", "<C-l>", "<CR>", { buffer = true, remap = true })
|
|
end,
|
|
})
|
|
|
|
vim.api.nvim_create_autocmd("VimEnter", {
|
|
pattern = "*",
|
|
command = ":clearjumps",
|
|
})
|
|
|
|
vim.api.nvim_create_autocmd("FileType", {
|
|
desc = "Customize python indentation",
|
|
pattern = { "python" },
|
|
callback = function()
|
|
vim.opt_local.indentkeys:remove("<:>")
|
|
end,
|
|
})
|
|
|
|
vim.api.nvim_create_autocmd("TermLeave", {
|
|
desc = "Reload buffers when leaving terminal",
|
|
pattern = "*",
|
|
callback = function()
|
|
vim.cmd.checktime()
|
|
end,
|
|
})
|