setup-cockpit/roles/neovim/files/lua/autocommands.lua

64 lines
1.9 KiB
Lua

-- AUTOCOMMANDS
local group = vim.api.nvim_create_augroup("configgroup", { clear = true })
-- Open pdf after entering .ly file for side-by-side
vim.api.nvim_create_autocmd("VimEnter", {
pattern = "*.ly",
command = "silent ![ -f ./%:r.pdf ] && zathura %:r.pdf &",
group = group
})
-- Run lilypond after save on .ly files
vim.api.nvim_create_autocmd("BufWritePost", {
pattern = "*.ly",
command = "!lilypond --silent %",
group = group
})
-- Toggle relative number and absolute number according to focus and insert
vim.api.nvim_create_autocmd({ "BufEnter", "FocusGained", "InsertLeave" }, {
command = "set relativenumber",
group = group
})
vim.api.nvim_create_autocmd({ "BufLeave", "FocusLost", "InsertEnter" }, {
command = "set norelativenumber",
group = group
})
vim.api.nvim_create_autocmd("FileType", {
pattern = { "lilypond", },
command = "setlocal foldmethod=indent",
group = group
})
vim.api.nvim_create_autocmd("FileType", {
pattern = "python",
command = "setlocal colorcolumn=80",
group = group
})
vim.api.nvim_create_autocmd("BufEnter", {
pattern = { "Makefile", "*.asm" },
command = "setlocal noexpandtab tabstop=6 shiftwidth=6 softtabstop=0",
group = group
})
vim.api.nvim_create_autocmd("BufEnter", {
pattern = "*.sh",
command = "setlocal shiftwidth=2 tabstop=2 softtabstop=2",
group = group
})
vim.api.nvim_create_autocmd("FileType", {
pattern = "yaml",
command = "setlocal shiftwidth=4 tabstop=4 softtabstop=4",
group = group
})
vim.api.nvim_create_autocmd("FileType", {
pattern = { "lua", "vhdl" },
command = "setlocal shiftwidth=2 tabstop=2 softtabstop=2",
group = group
})
vim.api.nvim_create_autocmd({ "BufRead", "BufNewFile" }, {
pattern = "*/playbooks/*.yml",
command = "set filetype=yaml.ansible",
group = group
})
vim.api.nvim_create_autocmd({ "BufRead", "BufNewFile" }, {
pattern = "*.neomuttrc",
command = "set filetype=neomuttrc",
group = group
})