diff options
author | kylo252 <[email protected]> | 2021-07-25 13:55:19 +0200 |
---|---|---|
committer | GitHub <[email protected]> | 2021-07-25 11:55:19 +0000 |
commit | e37a511abc1f6d6c6925719427f9890423f007f6 (patch) | |
tree | abaac43231db8210a6f5ec3c17ba662ead16b665 | |
parent | 47c44ae248084bcd83e6b917ef0f87e092c66903 (diff) |
Fix ignored user autocommands (#1090)
-rw-r--r-- | README.md | 4 | ||||
-rw-r--r-- | init.lua | 1 | ||||
-rw-r--r-- | lua/core/autocmds.lua | 112 | ||||
-rw-r--r-- | lua/core/dashboard.lua | 3 | ||||
-rw-r--r-- | lua/default-config.lua | 2 | ||||
-rw-r--r-- | lua/lsp/init.lua | 2 | ||||
-rw-r--r-- | lua/lv-utils/init.lua | 100 | ||||
-rw-r--r-- | utils/installer/lv-config.example-no-ts.lua | 4 | ||||
-rw-r--r-- | utils/installer/lv-config.example.lua | 5 |
9 files changed, 128 insertions, 105 deletions
@@ -106,7 +106,9 @@ lvim.plugins = { } -- Autocommands (https://neovim.io/doc/user/autocmd.html) --- lvim.autocommands = {{ "BufWinEnter", "*", "echo \"hi again\""}} +-- lvim.autocommands.custom_groups = { +-- { "BufWinEnter", "*.lua", "setlocal ts=8 sw=8" }, +-- } ``` @@ -18,6 +18,7 @@ if not status_ok then print "something is wrong with your lv-config" print(error) end +require('core.autocmds').define_augroups(lvim.autocommands) require "keymappings" diff --git a/lua/core/autocmds.lua b/lua/core/autocmds.lua new file mode 100644 index 00000000..26a5cde8 --- /dev/null +++ b/lua/core/autocmds.lua @@ -0,0 +1,112 @@ +local autocommands = {} + + +lvim.autocommands = { + _general_settings = { + { + "TextYankPost", + "*", + "lua require('vim.highlight').on_yank({higroup = 'Search', timeout = 200})", + }, + { + "BufWinEnter", + "*", + "setlocal formatoptions-=c formatoptions-=r formatoptions-=o", + }, + { + "BufWinEnter", + "dashboard", + "setlocal cursorline signcolumn=yes cursorcolumn number", + }, + { + "BufRead", + "*", + "setlocal formatoptions-=c formatoptions-=r formatoptions-=o", + }, + { + "BufNewFile", + "*", + "setlocal formatoptions-=c formatoptions-=r formatoptions-=o", + }, + { "BufWritePost", + "lv-config.lua", + "lua require('lv-utils').reload_lv_config()" + }, + { + "FileType", + "qf", + "set nobuflisted" + }, + -- { "VimLeavePre", "*", "set title set titleold=" }, + }, + _filetypechanges = { + { "BufWinEnter", ".tf", "setlocal filetype=hcl" }, + { "BufRead", "*.tf", "setlocal filetype=hcl" }, + { "BufNewFile", "*.tf", "setlocal filetype=hcl" }, + { "BufWinEnter", ".zsh", "setlocal filetype=sh" }, + { "BufRead", "*.zsh", "setlocal filetype=sh" }, + { "BufNewFile", "*.zsh", "setlocal filetype=sh" }, + }, + -- _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 =" }, + }, + _packer_compile = { + -- will cause split windows to be resized evenly if main window is resized + { "BufWritePost", "plugins.lua", "PackerCompile" }, + }, + + -- _fterm_lazygit = { + -- -- will cause esc key to exit lazy git + -- {"TermEnter", "*", "call LazyGitNativation()"} + -- }, + -- _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'}, + -- }, + custom_groups = {}, +} + +function autocommands.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 + + + +return autocommands diff --git a/lua/core/dashboard.lua b/lua/core/dashboard.lua index 7433f2d6..f76e0e1e 100644 --- a/lua/core/dashboard.lua +++ b/lua/core/dashboard.lua @@ -82,7 +82,8 @@ M.setup = function() -- vim.g.dashboard_session_directory = CACHE_PATH..'/session' -- vim.g.dashboard_custom_footer = lvim.dashboard.footer - require("lv-utils").define_augroups { + + require("core.autocmds").define_augroups { _dashboard = { -- seems to be nobuflisted that makes my stuff disapear will do more testing { diff --git a/lua/default-config.lua b/lua/default-config.lua index c8588ee3..89ab7f55 100644 --- a/lua/default-config.lua +++ b/lua/default-config.lua @@ -54,7 +54,7 @@ lvim = { }, autocommands = { - { "FileType", "qf", "set nobuflisted" }, + }, } diff --git a/lua/lsp/init.lua b/lua/lsp/init.lua index f6de746f..dab2cfe4 100644 --- a/lua/lsp/init.lua +++ b/lua/lsp/init.lua @@ -266,7 +266,7 @@ function lsp_config.tsserver_on_attach(client, _) -- vim.api.nvim_buf_set_keymap(bufnr, "n", "gi", ":TSLspImportAll<CR>", {silent = true}) end -require("lv-utils").define_augroups { +require("core.autocmds").define_augroups { _general_lsp = { { "FileType", "lspinfo", "nnoremap <silent> <buffer> q :q<CR>" }, }, diff --git a/lua/lv-utils/init.lua b/lua/lv-utils/init.lua index 89abdb2a..cfc1dac4 100644 --- a/lua/lv-utils/init.lua +++ b/lua/lv-utils/init.lua @@ -59,7 +59,7 @@ end -- autoformat local toggle_autoformat = function() if lvim.format_on_save then - require("lv-utils").define_augroups { + require("core.autocmds").define_augroups { autoformat = { { "BufWritePost", @@ -130,110 +130,12 @@ function lv_utils.add_keymap_term_mode(opts, keymaps) lv_utils.add_keymap("t", opts, keymaps) end -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!" - - 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 function lv_utils.unrequire(m) package.loaded[m] = nil _G[m] = nil end -lv_utils.define_augroups { - - _general_settings = { - { - "TextYankPost", - "*", - "lua require('vim.highlight').on_yank({higroup = 'Search', timeout = 200})", - }, - { - "BufWinEnter", - "*", - "setlocal formatoptions-=c formatoptions-=r formatoptions-=o", - }, - { - "BufWinEnter", - "dashboard", - "setlocal cursorline signcolumn=yes cursorcolumn number", - }, - { - "BufRead", - "*", - "setlocal formatoptions-=c formatoptions-=r formatoptions-=o", - }, - { - "BufNewFile", - "*", - "setlocal formatoptions-=c formatoptions-=r formatoptions-=o", - }, - { "BufWritePost", "lv-config.lua", "lua require('lv-utils').reload_lv_config()" }, - -- { "VimLeavePre", "*", "set title set titleold=" }, - }, - _filetypechanges = { - { "BufWinEnter", ".tf", "setlocal filetype=hcl" }, - { "BufRead", "*.tf", "setlocal filetype=hcl" }, - { "BufNewFile", "*.tf", "setlocal filetype=hcl" }, - { "BufWinEnter", ".zsh", "setlocal filetype=sh" }, - { "BufRead", "*.zsh", "setlocal filetype=sh" }, - { "BufNewFile", "*.zsh", "setlocal filetype=sh" }, - }, - -- _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 =" }, - }, - _packer_compile = { - -- will cause split windows to be resized evenly if main window is resized - { "BufWritePost", "plugins.lua", "PackerCompile" }, - }, - - -- _fterm_lazygit = { - -- -- will cause esc key to exit lazy git - -- {"TermEnter", "*", "call LazyGitNativation()"} - -- }, - -- _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'}, - -- }, - _user_autocommands = lvim.autocommands, -} - function lv_utils.gsub_args(args) if args == nil or type(args) ~= "table" then return args diff --git a/utils/installer/lv-config.example-no-ts.lua b/utils/installer/lv-config.example-no-ts.lua index 91c3b2ed..9e56de51 100644 --- a/utils/installer/lv-config.example-no-ts.lua +++ b/utils/installer/lv-config.example-no-ts.lua @@ -58,6 +58,8 @@ lvim.builtin.treesitter.highlight.enabled = true -- } -- Autocommands (https://neovim.io/doc/user/autocmd.html) --- lvim.autocommands = {{ "BufWinEnter", "*", "echo \"hi again\""}} +-- lvim.autocommands.custom_groups = { +-- { "BufWinEnter", "*.lua", "setlocal ts=8 sw=8" }, +-- } -- Additional Leader bindings for WhichKey diff --git a/utils/installer/lv-config.example.lua b/utils/installer/lv-config.example.lua index b8af5a80..e186af25 100644 --- a/utils/installer/lv-config.example.lua +++ b/utils/installer/lv-config.example.lua @@ -67,7 +67,10 @@ lvim.builtin.treesitter.highlight.enabled = true -- } -- } + -- Autocommands (https://neovim.io/doc/user/autocmd.html) --- lvim.autocommands = {{ "BufWinEnter", "*", "echo \"hi again\""}} +-- lvim.autocommands.custom_groups = { +-- { "BufWinEnter", "*.lua", "setlocal ts=8 sw=8" }, +-- } -- Additional Leader bindings for WhichKey |