diff options
Diffstat (limited to 'lua/lv-utils/init.lua')
| -rw-r--r-- | lua/lv-utils/init.lua | 88 | 
1 files changed, 71 insertions, 17 deletions
| diff --git a/lua/lv-utils/init.lua b/lua/lv-utils/init.lua index 016bba62..db3deb87 100644 --- a/lua/lv-utils/init.lua +++ b/lua/lv-utils/init.lua @@ -1,27 +1,81 @@  local lv_utils = {}  function lv_utils.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!') +  -- 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') +    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 +lv_utils.define_augroups { + +    _user_autocommands = O.user_autocommands, +  _general_settings = { +    { +      "TextYankPost", +      "*", +      "lua require('vim.highlight').on_yank({higroup = 'Search', 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", +    }, +    { "VimLeavePre", "*", "set title set titleold=" }, +  }, +  -- _solidity = { +  --     {'BufWinEnter', '.sol', 'setlocal filetype=solidity'}, {'BufRead', '*.sol', 'setlocal filetype=solidity'}, +  --     {'BufNewFile', '*.sol', 'setlocal filetype=solidity'} +  -- }, +  -- _gemini = { +  --     {'BufWinEnter', '.gmi', 'setlocal filetype=markdown'}, {'BufRead', '*.gmi', 'setlocal filetype=markdown'}, +  --     {'BufNewFile', '*.gmi', 'setlocal filetype=markdown'} +  -- }, +  _markdown = { +    { "FileType", "markdown", "setlocal wrap" }, +    { "FileType", "markdown", "setlocal spell" }, +  }, +  _buffer_bindings = { +    { "FileType", "floaterm", "nnoremap <silent> <buffer> q :q<CR>" }, +  }, +  _auto_resize = { +    -- will cause split windows to be resized evenly if main window is resized +    {'VimResized ', '*', 'wincmd ='}, +  }, +  -- _mode_switching = { +  --   -- will switch between absolute and relative line numbers depending on mode +  --   {'InsertEnter', '*', 'if &relativenumber | let g:ms_relativenumberoff = 1 | setlocal number norelativenumber | endif'}, +  --   {'InsertLeave', '*', 'if exists("g:ms_relativenumberoff") | setlocal relativenumber | endif'}, +  --   {'InsertEnter', '*', 'if &cursorline | let g:ms_cursorlineoff = 1 | setlocal nocursorline | endif'}, +  --   {'InsertLeave', '*', 'if exists("g:ms_cursorlineoff") | setlocal cursorline | endif'}, +  -- }, +}  return lv_utils +-- TODO find a new home for these autocommands | 
