summaryrefslogtreecommitdiff
path: root/lua/utils.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/utils.lua')
-rw-r--r--lua/utils.lua29
1 files changed, 29 insertions, 0 deletions
diff --git a/lua/utils.lua b/lua/utils.lua
new file mode 100644
index 00000000..59c905f1
--- /dev/null
+++ b/lua/utils.lua
@@ -0,0 +1,29 @@
+local function define_augroups(definitions) -- {{{1
+ -- Create autocommand groups based on the passed definitions
+ --
+ -- The key will be the name of the group, and each definition
+ -- within the group should have:
+ -- 1. Trigger
+ -- 2. Pattern
+ -- 3. Text
+ -- just like how they would normally be defined from Vim itself
+ for group_name, definition in pairs(definitions) do
+ vim.cmd('augroup ' .. group_name)
+ vim.cmd('autocmd!')
+
+ for _, def in pairs(definition) do
+ local command = table.concat(vim.tbl_flatten {'autocmd', def}, ' ')
+ vim.cmd(command)
+ end
+
+ vim.cmd('augroup END')
+ end
+end
+
+define_augroups(
+ {_general_settings = {
+ {'TextYankPost', '*', 'lua require(\'vim.highlight\').on_yank({higroup = \'IncSearch\', timeout = 200})'},
+ },
+ }
+)
+