| 12345678910111213141516171819202122232425262728293031 | 
							- 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})'},
 
-             {'BufWinEnter', '*', 'setlocal formatoptions-=c formatoptions-=r formatoptions-=o'},
 
-             {'BufRead', '*', 'setlocal formatoptions-=c formatoptions-=r formatoptions-=o'},
 
-             {'BufNewFile', '*', 'setlocal formatoptions-=c formatoptions-=r formatoptions-=o'},
 
-         },
 
-     }
 
- )
 
 
  |