From a0968bcf93a9529e86e51c5edd043ea18b9feadb Mon Sep 17 00:00:00 2001 From: Marty Oehme Date: Mon, 13 Jun 2022 17:49:25 +0200 Subject: [PATCH] nvim: Change init autocmds to lua versions With neovim 0.7 bringing autocmd bindings in lua, we can now rely on a built-in api instead of having to use our own helper function. Last missing migration is the lsp formatting autogroup. --- nvim/.config/nvim/init.lua | 51 ++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 29 deletions(-) diff --git a/nvim/.config/nvim/init.lua b/nvim/.config/nvim/init.lua index 3001dfc..ad79d2c 100644 --- a/nvim/.config/nvim/init.lua +++ b/nvim/.config/nvim/init.lua @@ -1,6 +1,5 @@ --- much of this config comes from +-- many ideas for this config come from -- https://github.com/elianiva/dotfiles/ - with much gratitude -local augroup = require("helpers.augroup") local api = vim.api require('settings') @@ -9,34 +8,28 @@ require('look') require('maps') -- Highlight whatever is being yanked -augroup({ - { - 'TextYankPost', '*', - 'silent! lua require"vim.highlight".on_yank{timeout=500}' - } -}, 'highlightyanks') - --- Compile on plugin edits -augroup({{'BufWritePost', 'plugins.lua', 'PackerCompile'}}, 'compilepackages') +vim.api.nvim_create_autocmd({ "TextYankPost" }, { + command = 'silent! lua require"vim.highlight".on_yank{timeout=500}', + desc = "Highlight yanked text whenevery yanking something", + group = vim.api.nvim_create_augroup('highlightyanks', { clear = true }), +}) -- Special setting for editing gopass files - make sure nothing leaks outside the directories it is supposed to -augroup({ - { - 'BufNewFile,BufRead', '/dev/shm/gopass.*', - 'setlocal noswapfile nobackup noundofile nowritebackup viminfo=' - }, { - 'BufNewFile,BufRead', '/dev/shm/pass.?*/?*.txt', - 'setlocal noswapfile nobackup noundofile nowritebackup viminfo=' - }, { - 'BufNewFile,BufRead', '$TMPDIR/pass.?*/?*.txt', - 'setlocal noswapfile nobackup noundofile nowritebackup viminfo=' - }, { - 'BufNewFile,BufRead', '/tmp/pass.?*/?*.txt', - 'setlocal noswapfile nobackup noundofile nowritebackup viminfo=' - } -}, 'passnoleak') - --- fixing neovim opening up at same moment as alacritty (see https://github.com/neovim/neovim/issues/11330) -augroup({{'VimEnter', '*', 'silent exec "!kill -s SIGWINCH $PPID"'}}, 'fixsize') +vim.api.nvim_create_autocmd({ "BufNewFile", "BufRead" }, { + pattern = { "/dev/shm/gopass.*", "/dev/shm/pass.?*/?*.txt", "$TMPDIR/pass.?*/?*.txt", "/tmp/pass.?*/?*.txt" }, + command = 'setlocal noswapfile nobackup noundofile nowritebackup viminfo=', + desc = "Don't leak any information when editing potential password files", + group = vim.api.nvim_create_augroup('passnoleak', { clear = true }), +}) api.nvim_exec('runtime abbrev.vim', false) + +-- fixing neovim opening up at same moment as alacritty (see https://github.com/neovim/neovim/issues/11330) +vim.api.nvim_create_autocmd({ "VimEnter" }, { + callback = function() + local pid, WINCH = vim.fn.getpid(), vim.loop.constants.SIGWINCH + vim.defer_fn(function() vim.loop.kill(pid, WINCH) end, 20) + end, + desc = "Fix neovim sizing issues if opening same time as alacritty", + group = vim.api.nvim_create_augroup('alacritty_fixsize', { clear = true }), +})