From ca7172b14a48571cf9632cfdd67bdc2e92ce3be0 Mon Sep 17 00:00:00 2001 From: Sanchayan Maity Date: Wed, 2 Mar 2022 09:05:35 +0530 Subject: [PATCH] nvim: autocmd: Use the new auto command API --- nvim/.config/nvim/lua/autocmd.lua | 69 ++++++++++++++++--------------- 1 file changed, 36 insertions(+), 33 deletions(-) diff --git a/nvim/.config/nvim/lua/autocmd.lua b/nvim/.config/nvim/lua/autocmd.lua index beb7032..80b593f 100644 --- a/nvim/.config/nvim/lua/autocmd.lua +++ b/nvim/.config/nvim/lua/autocmd.lua @@ -1,36 +1,39 @@ -local vim = vim -local api = vim.api +vim.api.nvim_create_augroup("custom_group", {clear = true}) ---- This function is taken from https://github.com/norcalli/nvim_utils -local function nvim_create_augroups(definitions) - for group_name, definition in pairs(definitions) do - api.nvim_command('augroup '..group_name) - api.nvim_command('autocmd!') - for _, def in ipairs(definition) do - local command = table.concat(vim.tbl_flatten{'autocmd', def}, ' ') - api.nvim_command(command) - end - api.nvim_command('augroup END') - end -end +vim.api.nvim_create_autocmd("TermOpen", { + group = "custom_group", + pattern = "*", + command = "startinsert" +}) -local autocmds = { - terminal_job = { - { "TermOpen", "*", "startinsert" }; - { "TermOpen", "*", "setlocal listchars= nonumber norelativenumber" }; - }; - resize_windows_proportionally = { - { "VimResized", "*", ":wincmd =" }; - }; - toggle_search_highlighting = { - { "InsertEnter", "*", "setlocal nohlsearch" }; - }; - lua_highlight = { - { "TextYankPost", "*", "silent! lua vim.highlight.on_yank({timeout=1000})" }; - }; - ansi_esc_log = { - { "BufEnter", "*.log", ":AnsiEsc" }; - }; -} +vim.api.nvim_create_autocmd("TermOpen", { + group = "custom_group", + pattern = "*", + command = "setlocal listchars= nonumber norelativenumber" +}) -nvim_create_augroups(autocmds) +vim.api.nvim_create_autocmd("VimResized", { + group = "custom_group", + pattern = "*", + command = ":wincmd =" +}) + +vim.api.nvim_create_autocmd("InsertEnter", { + group = "custom_group", + pattern = "*", + command = "setlocal nohlsearch" +}) + +vim.api.nvim_create_autocmd("TextYankPost", { + group = "custom_group", + pattern = "*", + callback = function () + require("vim.highlight").on_yank({timeout = 1000}) + end, +}) + +vim.api.nvim_create_autocmd("BufEnter", { + group = "custom_group", + pattern = "*.log", + command = ":AnsiEsc" +})