local augroup = vim.api.nvim_create_augroup local gib_group = augroup('Gib', {}) local autocmd = vim.api.nvim_create_autocmd local yank_group = augroup('HighlightYank', {}) function R(name) require("plenary.reload").reload_module(name) end autocmd('TextYankPost', { group = yank_group, pattern = '*', callback = function() vim.highlight.on_yank({ higroup = 'IncSearch', timeout = 40, }) end, }) autocmd({"BufWritePre"}, { group = gib_group, pattern = "*", command = [[%s/\s\+$//e]], }) autocmd({'BufWritePost'}, { pattern = 'init.lua', command = 'source ', }) autocmd('LspAttach', { group = gib_group, callback = function(e) local opts = { buffer = e.buf } vim.keymap.set('n', 'kf', function() vim.lsp.buf.format() end, opts) vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, opts) vim.keymap.set("n", "kw", function() vim.lsp.buf.workspace_symbol() end, opts) vim.keymap.set("n", "kd", function() vim.diagnostic.open_float() end, opts) vim.keymap.set("n", "vca", function() vim.lsp.buf.code_action() end, opts) vim.keymap.set("n", "re", function() vim.lsp.buf.references() end, opts) vim.keymap.set("n", "rn", function() vim.lsp.buf.rename() end, opts) vim.keymap.set("i", "", function() vim.lsp.buf.signature_help() end, opts) end })