Skip to content

Commit 38ac084

Browse files
committed
refactor: clean up and improve plugin configuration and docs
1 parent 9cc0784 commit 38ac084

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+555
-623
lines changed

lazy-lock.json

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,27 @@
11
{
22
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
33
"LuaSnip": { "branch": "master", "commit": "458560534a73f7f8d7a11a146c801db00b081df0" },
4-
"advanced-git-search.nvim": { "branch": "main", "commit": "a9979109d9e8f28c72fb4bf1e14c80c3c94490ab" },
4+
"advanced-git-search.nvim": { "branch": "main", "commit": "c1f599afd69cc1c47044a5e3ae77c8bab1e8d592" },
55
"alpha-nvim": { "branch": "main", "commit": "2b3cbcdd980cae1e022409289245053f62fb50f6" },
6-
"blink-ripgrep.nvim": { "branch": "main", "commit": "cc1cf1cbfe2801311e8aaa16f0de4d145d6f58e4" },
7-
"blink.cmp": { "branch": "main", "commit": "bae4bae0eedd1fa55f34b685862e94a222d5c6f8" },
6+
"blink-ripgrep.nvim": { "branch": "main", "commit": "19066e6571640911dfe43ee220de6e443ffe80f2" },
7+
"blink.cmp": { "branch": "main", "commit": "586ee87534f5bf65f1c8dea2d1da2a57e8cddd36" },
88
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
99
"bullets.vim": { "branch": "master", "commit": "1c13e510e11d08b0259e8e627f128359c5521962" },
1010
"catppuccin": { "branch": "refactor/syntax-highlighting", "commit": "6056f37ecc13403fa42b4f550bd9b1c900a1c433" },
1111
"colorful-menu.nvim": { "branch": "master", "commit": "bc3e82609f2fcf7dad7ca87c20e65e51d5d9d87c" },
1212
"dial.nvim": { "branch": "master", "commit": "78bd73aaf2b9c8f80715a878feaf56f7ffa8b6ff" },
1313
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
14-
"dropbar.nvim": { "branch": "master", "commit": "f5addbb9c5f625f7d0e5e1b6a90b470a1d71216a" },
14+
"dropbar.nvim": { "branch": "master", "commit": "a55340026e69c46c8db441c76bfdf0c0f3a45de3" },
1515
"edgy.nvim": { "branch": "main", "commit": "7e8dedc39abebe40c289b8012cc89b11c69aa7a0" },
16+
"faster.nvim": { "branch": "main", "commit": "9fe4717d8c8c0a6aa306bd3b4f5fac5707eca334" },
1617
"flash.nvim": { "branch": "main", "commit": "3c942666f115e2811e959eabbdd361a025db8b63" },
1718
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
18-
"fzf": { "branch": "master", "commit": "04c4269db3f8058d2afc301dfba49d497249eb5c" },
19-
"gitsigns.nvim": { "branch": "main", "commit": "b01433169be710d6c69f7b4ee264d9670698b831" },
19+
"fzf": { "branch": "master", "commit": "4efcc344c35e8bb7e6ba7bb23e5885051420b361" },
20+
"gitsigns.nvim": { "branch": "main", "commit": "1fcaddcc427ff5802b6602f46de37a5352d0f9e0" },
2021
"glance.nvim": { "branch": "master", "commit": "bf86d8b79dce808e65fdb6e9269d0b4ed6d2eefc" },
22+
"go.nvim": { "branch": "master", "commit": "28d9618bfe4385d3af60fed15a4c9f9445ae1f10" },
2123
"grug-far.nvim": { "branch": "main", "commit": "45981a9af7f4e666a3cdaedb1d21d2ab926727a2" },
24+
"guihua.lua": { "branch": "master", "commit": "87bea7b98429405caf2a0ce4d029b027bb017c70" },
2225
"indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
2326
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
2427
"lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" },
@@ -30,20 +33,20 @@
3033
"mason-lspconfig.nvim": { "branch": "main", "commit": "bb3a17efc797c34c054463174e5522442576ebd8" },
3134
"mason-null-ls.nvim": { "branch": "main", "commit": "de19726de7260c68d94691afb057fa73d3cc53e7" },
3235
"mason-nvim-dap.nvim": { "branch": "main", "commit": "86389a3dd687cfaa647b6f44731e492970034baa" },
33-
"mason.nvim": { "branch": "main", "commit": "197f6352c276bbc2d25541dfce00ec50d1a4e88f" },
36+
"mason.nvim": { "branch": "main", "commit": "8024d64e1330b86044fed4c8494ef3dcd483a67c" },
3437
"mini.ai": { "branch": "main", "commit": "e139eb1101beb0250fea322f8c07a42f0f175688" },
3538
"mini.align": { "branch": "main", "commit": "0202e1662a7a03a95cefd6851795ceae5e87b9b3" },
3639
"mini.cursorword": { "branch": "main", "commit": "52834085b4ad175a050343cd96c4517def711cc5" },
3740
"mini.surround": { "branch": "main", "commit": "b12fcfefd6b9b7c9e9a773bc0e3e07ae20c03351" },
3841
"neogen": { "branch": "main", "commit": "d7f9461727751fb07f82011051338a9aba07581d" },
3942
"neoscroll.nvim": { "branch": "master", "commit": "f957373912e88579e26fdaea4735450ff2ef5c9c" },
40-
"none-ls.nvim": { "branch": "main", "commit": "3ce66bc62eb363f19cceeb1fae2e71ea2bede56d" },
43+
"none-ls.nvim": { "branch": "main", "commit": "103b0926a31be1bc95743c6328cee309768f0a88" },
4144
"nvim-bqf": { "branch": "main", "commit": "dd17c73912487dccb372deff85d4262d2b89bc2b" },
4245
"nvim-bufdel": { "branch": "main", "commit": "523d58e94e7212fff3e05c247b962dc8f93bcfde" },
4346
"nvim-dap": { "branch": "master", "commit": "5dd4d50f2e6a2eaf9e57fad023d294ef371bda35" },
4447
"nvim-dap-ui": { "branch": "master", "commit": "cf91d5e2d07c72903d052f5207511bf7ecdb7122" },
4548
"nvim-highlight-colors": { "branch": "main", "commit": "b42a5ccec7457b44e89f7ed3b3afb1b375bb2093" },
46-
"nvim-lspconfig": { "branch": "master", "commit": "4d3b3bb8815fbe37bcaf3dbdb12a22382bc11ebe" },
49+
"nvim-lspconfig": { "branch": "master", "commit": "f47cd681d7cb6048876a2e908b6d8ba1e530d152" },
4750
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
4851
"nvim-notify": { "branch": "master", "commit": "397c7c1184745fca649e5104de659e6392ef5a4d" },
4952
"nvim-scrollview": { "branch": "main", "commit": "8cc50e5e9af861c15778947677aba87cdded66cc" },
@@ -53,17 +56,17 @@
5356
"nvim-treesitter-textobjects": { "branch": "master", "commit": "89ebe73cd2836db80a22d9748999ace0241917a5" },
5457
"nvim-ts-autotag": { "branch": "main", "commit": "a1d526af391f6aebb25a8795cbc05351ed3620b5" },
5558
"nvim-ts-context-commentstring": { "branch": "main", "commit": "1b212c2eee76d787bbea6aa5e92a2b534e7b4f8f" },
56-
"nvim-web-devicons": { "branch": "master", "commit": "4a8369f4c78ef6f6f895f0cec349e48f74330574" },
59+
"nvim-web-devicons": { "branch": "master", "commit": "0422a19d9aa3aad2c7e5cca167e5407b13407a9d" },
5760
"paint.nvim": { "branch": "main", "commit": "ef6f717a8669619ebbd098fb72f85115d64c6c92" },
5861
"persisted.nvim": { "branch": "main", "commit": "d35a3ed973e17defd8800acd46a0c893498a2671" },
59-
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
62+
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
6063
"project.nvim": { "branch": "main", "commit": "63297b26c98db8302107800e5d304bb9220fd9dc" },
6164
"python-copy-reference.vim": { "branch": "main", "commit": "8172d0ce83d730820d9497fd2e988046022d0b99" },
62-
"rainbow-delimiters.nvim": { "branch": "master", "commit": "97bf4b8ef9298644a29fcd9dd41a0210cf08cac7" },
65+
"rainbow-delimiters.nvim": { "branch": "master", "commit": "49372aadaaf04d14a50efaa34150c51d5a8047e1" },
6366
"render-markdown.nvim": { "branch": "main", "commit": "5c0e241bdbd208b7ae546009378d6bc93c083ef3" },
64-
"schemastore.nvim": { "branch": "main", "commit": "67d6c391e9a372d2d8701b5b8c9ae89455561fbf" },
67+
"schemastore.nvim": { "branch": "main", "commit": "c957914d75b4a008ce09f4116e57e59fe6e3fae1" },
6568
"search.nvim": { "branch": "main", "commit": "d2d177769b7816e49faba5131ee155ce65930313" },
66-
"smart-splits.nvim": { "branch": "master", "commit": "825073e87de5fae98b0c107917e15977d100323b" },
69+
"smart-splits.nvim": { "branch": "master", "commit": "f59fddc055373ec0fe2bbe2a3e7d7df2ee314994" },
6770
"smartyank.nvim": { "branch": "master", "commit": "c4e53e0d9316ca790a6f5d78aad73206a763873b" },
6871
"smear-cursor.nvim": { "branch": "main", "commit": "1a3df9af4ed017fafecd93c6837956914f269472" },
6972
"sniprun": { "branch": "master", "commit": "a90c65846c3c18efc3f799d8b6dc26af9d4a69ed" },

lua/core/event.lua

Lines changed: 74 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,9 @@
11
local autocmd = {}
22
local cmd = vim.api.nvim_command
33

4-
function autocmd.nvim_create_augroups(definitions)
5-
for group_name, definition in pairs(definitions) do
6-
-- Prepend an underscore to avoid name clashes
7-
vim.api.nvim_command("augroup _" .. group_name)
8-
cmd("autocmd!")
9-
for _, def in ipairs(definition) do
10-
local command = table.concat(vim.iter({ "autocmd", def }):flatten(), " ")
11-
cmd(command)
12-
end
13-
cmd("augroup END")
14-
end
15-
end
16-
17-
-- Hold off on configuring anything related to the LSP until LspAttach
18-
local mapping = require("keymap.completion")
19-
vim.api.nvim_create_autocmd("LspAttach", {
20-
group = vim.api.nvim_create_augroup("LspKeymapLoader", { clear = true }),
21-
callback = function(event)
22-
if not _G._debugging then
23-
-- LSP Keymaps
24-
mapping.lsp(event.buf)
25-
26-
-- LSP Inlay Hints
27-
local inlayhints_enabled = require("core.settings").lsp_inlayhints
28-
local client = vim.lsp.get_client_by_id(event.data.client_id)
29-
if client and client.server_capabilities.inlayHintProvider ~= nil then
30-
vim.lsp.inlay_hint.enable(inlayhints_enabled == true, { bufnr = event.buf })
31-
end
32-
end
33-
end,
34-
})
35-
36-
-- auto close NvimTree
4+
-- Autoclose NvimTree
375
vim.api.nvim_create_autocmd("BufEnter", {
38-
group = vim.api.nvim_create_augroup("NvimTreeClose", { clear = true }),
6+
group = vim.api.nvim_create_augroup("NvimTreeAutoClose", { clear = true }),
397
pattern = "NvimTree_*",
408
callback = function()
419
local layout = vim.api.nvim_call_function("winlayout", {})
@@ -44,78 +12,115 @@ vim.api.nvim_create_autocmd("BufEnter", {
4412
and vim.bo[vim.api.nvim_win_get_buf(layout[2])].filetype == "NvimTree"
4513
and layout[3] == nil
4614
then
47-
cmd([[confirm quit]])
15+
vim.api.nvim_command([[confirm quit]])
4816
end
4917
end,
5018
})
5119

52-
-- create custom filetype for gitlab_ci_ls
53-
vim.api.nvim_create_autocmd({ "BufRead", "BufNewFile" }, {
54-
pattern = "*.gitlab-ci*.{yml,yaml}",
55-
callback = function()
56-
vim.bo.filetype = "yaml.gitlab"
57-
end,
58-
})
59-
60-
-- auto close some filetype with <q>
20+
-- Autoclose some filetype with <q>
6121
vim.api.nvim_create_autocmd("FileType", {
6222
pattern = {
6323
"qf",
6424
"help",
6525
"man",
6626
"notify",
6727
"nofile",
68-
"lspinfo",
6928
"terminal",
7029
"prompt",
7130
"toggleterm",
7231
"copilot",
7332
"startuptime",
7433
"tsplayground",
75-
"PlenaryTestPopup",
7634
},
7735
callback = function(event)
7836
vim.bo[event.buf].buflisted = false
7937
vim.api.nvim_buf_set_keymap(event.buf, "n", "q", "<Cmd>close<CR>", { silent = true })
8038
end,
8139
})
8240

83-
-- auto jump to last place
84-
vim.api.nvim_create_autocmd("BufReadPost", {
85-
callback = function()
86-
local mark = vim.api.nvim_buf_get_mark(0, '"')
87-
local lcount = vim.api.nvim_buf_line_count(0)
88-
if mark[1] > 0 and mark[1] <= lcount then
89-
pcall(vim.api.nvim_win_set_cursor, 0, mark)
41+
-- Hold off on configuring anything related to the LSP until LspAttach
42+
local mapping = require("keymap.completion")
43+
vim.api.nvim_create_autocmd("LspAttach", {
44+
group = vim.api.nvim_create_augroup("LspKeymapLoader", { clear = true }),
45+
callback = function(event)
46+
if not _G._debugging then
47+
-- LSP Keymaps
48+
mapping.lsp(event.buf)
49+
50+
-- LSP Inlay Hints
51+
local inlayhints_enabled = require("core.settings").lsp_inlayhints
52+
local client = vim.lsp.get_client_by_id(event.data.client_id)
53+
if client and client.server_capabilities.inlayHintProvider ~= nil then
54+
vim.lsp.inlay_hint.enable(inlayhints_enabled == true, { bufnr = event.buf })
55+
end
56+
end
57+
end,
58+
})
59+
60+
function autocmd.nvim_create_augroups(definitions)
61+
for group_name, definition in pairs(definitions) do
62+
-- Prepend an underscore to avoid name clashes
63+
vim.api.nvim_command("augroup _" .. group_name)
64+
cmd("autocmd!")
65+
for _, def in ipairs(definition) do
66+
local command = table.concat(vim.iter({ "autocmd", def }):flatten(), " ")
67+
cmd(command)
9068
end
69+
cmd("augroup END")
70+
end
71+
end
72+
73+
-- Create custom filetype for gitlab_ci_ls
74+
vim.api.nvim_create_autocmd({ "BufRead", "BufNewFile" }, {
75+
pattern = "*.gitlab-ci*.{yml,yaml}",
76+
callback = function()
77+
vim.bo.filetype = "yaml.gitlab"
9178
end,
9279
})
9380

81+
-- Autojump to last place
82+
-- vim.api.nvim_create_autocmd("BufReadPost", {
83+
-- callback = function()
84+
-- local mark = vim.api.nvim_buf_get_mark(0, '"')
85+
-- local lcount = vim.api.nvim_buf_line_count(0)
86+
-- if mark[1] > 0 and mark[1] <= lcount then
87+
-- pcall(vim.api.nvim_win_set_cursor, 0, mark)
88+
-- end
89+
-- end,
90+
-- })
91+
9492
function autocmd.load_autocmds()
9593
local definitions = {
96-
lazy = {},
9794
bufs = {
9895
-- Reload vim config automatically
9996
{
10097
"BufWritePost",
10198
[[$VIM_PATH/{*.vim,*.yaml,vimrc} nested source $MYVIMRC | redraw]],
10299
},
100+
-- Reload Vim script automatically if setlocal autoread
101+
{
102+
"BufWritePost,FileWritePost",
103+
"*.vim",
104+
[[nested if &l:autoread > 0 | source <afile> | echo 'source ' . bufname('%') | endif]],
105+
},
106+
{ "BufWritePre", "*~", "setlocal noundofile" },
103107
{ "BufWritePre", "/tmp/*", "setlocal noundofile" },
104-
{ "BufWritePre", "COMMIT_EDITMSG", "setlocal noundofile" },
105-
{ "BufWritePre", "MERGE_MSG", "setlocal noundofile" },
106108
{ "BufWritePre", "*.tmp", "setlocal noundofile" },
107109
{ "BufWritePre", "*.bak", "setlocal noundofile" },
108-
-- auto place to last edit
109-
-- {
110-
-- "BufReadPost",
111-
-- "*",
112-
-- [[if line("'\"") > 1 && line("'\"") <= line("$") | execute "normal! g'\"" | endif]],
113-
-- },
114-
-- auto change directory
110+
{ "BufWritePre", "MERGE_MSG", "setlocal noundofile" },
111+
{ "BufWritePre", "description", "setlocal noundofile" },
112+
{ "BufWritePre", "COMMIT_EDITMSG", "setlocal noundofile" },
113+
-- Auto place to last edit
114+
{
115+
"BufReadPost",
116+
"*",
117+
[[if line("'\"") > 1 && line("'\"") <= line("$") | execute "normal! g'\"" | endif]],
118+
},
119+
-- Auto change directory
115120
-- { "BufEnter", "*", "silent! lcd %:p:h" },
116121
},
117122
wins = {
118-
-- Highlight current line only on focused window
123+
-- Highlight current line only in focused window
119124
{
120125
"WinEnter,BufEnter,InsertLeave",
121126
"*",
@@ -133,9 +138,9 @@ function autocmd.load_autocmds()
133138
-- `:wviminfo` will be deprecated in v0.11
134139
[[if has('nvim') | wshada | else | wviminfo! | endif]],
135140
},
136-
-- Check if file changed when its window is focus, more eager than 'autoread'
137-
{ "FocusGained", "* checktime" },
138-
-- Equalize window dimensions when resizing vim window
141+
-- Check if a file has changed when its window is in focus, being more proactive than 'autoread'
142+
{ "FocusGained", "*", "checktime" },
143+
-- Maintain uniform window dimensions when resizing Vim windows
139144
{ "VimResized", "*", [[tabdo wincmd =]] },
140145
},
141146
ft = {
@@ -145,14 +150,14 @@ function autocmd.load_autocmds()
145150
{
146151
"FileType",
147152
"c,cpp",
148-
"nnoremap <leader>h :ClangdSwitchSourceHeaderVSplit<CR>",
153+
"nnoremap <silent> <buffer> <leader>h <Cmd>ClangdSwitchSourceHeader<CR>",
149154
},
150155
},
151156
yank = {
152157
{
153158
"TextYankPost",
154159
"*",
155-
[[silent! lua vim.highlight.on_yank({higroup="IncSearch", timeout=300})]],
160+
[[silent! lua vim.highlight.on_yank({ higroup = "IncSearch", timeout = 300 })]],
156161
},
157162
},
158163
}

0 commit comments

Comments
 (0)