diff --git a/roles/neovim/files/init.lua b/roles/neovim/files/init.lua index 2cdc3cf..8c14110 100644 --- a/roles/neovim/files/init.lua +++ b/roles/neovim/files/init.lua @@ -4,7 +4,7 @@ require('remaps') require('options') require('plugins') -- require('colors') -require('autogroups') +require('autocommands') -- vim.cmd([[ -- set runtimepath^=~/.vim runtimepath+=~/.vim/after diff --git a/roles/neovim/files/lua/autocommands.lua b/roles/neovim/files/lua/autocommands.lua new file mode 100644 index 0000000..3b388db --- /dev/null +++ b/roles/neovim/files/lua/autocommands.lua @@ -0,0 +1,81 @@ +-- AUTOCOMMANDS + +local group = vim.api.nvim_create_augroup("configgroup", { clear = true }) +-- Run Flake8 on write in python files +vim.api.nvim_create_autocmd("BufWritePost", { + pattern = "*.py", + command = "call flake8#Flake8()", + group = group +}) +-- 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 +}) +-- FileType autocommands +vim.api.nvim_create_autocmd("FileType", { + pattern = "rust", + command = "nnoremap :RustFmt", + group = group +}) +vim.api.nvim_create_autocmd("FileType", { + pattern = "python", + command = "nnoremap :Black", + group = group +}) +vim.api.nvim_create_autocmd("FileType", { + pattern = { "html", "htmldjango", "lilypond", "python", "tex", "plaintex", "yaml" }, + 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 foldlevel=0 foldmethod=marker", + 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 = "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 +}) diff --git a/roles/neovim/files/lua/autogroups.lua b/roles/neovim/files/lua/autogroups.lua deleted file mode 100644 index bf56f0b..0000000 --- a/roles/neovim/files/lua/autogroups.lua +++ /dev/null @@ -1,32 +0,0 @@ --- AUTOGROUPS - -vim.cmd([[ -augroup configgroup -autocmd! - -" Run Flake8 on write in python files -autocmd BufWritePost *.py call flake8#Flake8() -" Open pdf after entering .ly file for side-by-side -autocmd VimEnter *.ly silent ![ -f ./%:r.pdf ] && zathura %:r.pdf & -" Run lilypond after save on .ly files -autocmd BufWritePost *.ly !lilypond --silent % - -" Toggle relative number and absolute number according to focus and insert -autocmd BufEnter,FocusGained,InsertLeave * set relativenumber -autocmd BufLeave,FocusLost,InsertEnter * set norelativenumber - -" FileType autocommands -autocmd FileType rust nnoremap :RustFmt -autocmd FileType python nnoremap :Black -autocmd FileType html,htmldjango,lilypond,python,tex,plaintex,yaml setlocal foldmethod=indent -autocmd FileType python setlocal colorcolumn=80 -autocmd BufEnter Makefile,*.asm setlocal noexpandtab tabstop=6 shiftwidth=6 softtabstop=0 -autocmd BufEnter *.sh setlocal shiftwidth=2 tabstop=2 softtabstop=2 foldlevel=0 foldmethod=marker -autocmd FileType yaml setlocal shiftwidth=4 tabstop=4 softtabstop=4 -autocmd FileType vhdl setlocal shiftwidth=2 tabstop=2 softtabstop=2 - -autocmd BufRead,BufNewFile */playbooks/*.yml set filetype=yaml.ansible -autocmd BufRead,BufNewFile *.neomuttrc set filetype=neomuttrc - -augroup END -]])