Skip to content

Commit 8ab47fc

Browse files
committed
nvim: further fixes and clean ups
1 parent 19c077f commit 8ab47fc

File tree

7 files changed

+330
-232
lines changed

7 files changed

+330
-232
lines changed

home/nvim/ftplugin/go.lua

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,3 +166,5 @@ vim.keymap.set("n", "gY", function()
166166
else
167167
end
168168
end, { desc = "copy test command" })
169+
170+
pcall(vim.cmd, "TSContextEnable")

home/nvim/ftplugin/lua.lua

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ vim.lsp.start({
1313
settings = {
1414
Lua = {
1515
telemetry = { enable = false },
16+
diagnostics = {
17+
disable = { "missing-fields" },
18+
},
1619
},
1720
},
1821
})

home/nvim/init.lua

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,28 +15,15 @@ require("lazy").setup({
1515
dev = {
1616
path = "~/code",
1717
},
18-
diff = {
19-
cmd = "terminal_git",
20-
},
21-
checker = {
22-
enabled = false,
23-
},
2418
change_detection = {
2519
enabled = false,
2620
},
27-
install = {
28-
colorscheme = { "kanagawa", "zaibatsu" },
29-
},
30-
readme = {
31-
root = vim.fn.stdpath("data") .. "/lazy-readme",
32-
},
33-
state = vim.fn.stdpath("data") .. "/lazy-state.json",
3421
performance = {
3522
rtp = {
3623
disabled_plugins = {
3724
"gzip",
3825
"matchit",
39-
"netrw",
26+
"matchparen",
4027
"netrwPlugin",
4128
"tarPlugin",
4229
"tohtml",

home/nvim/lua/aucmd.lua

Lines changed: 14 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -7,36 +7,36 @@ vim.api.nvim_create_autocmd("LspAttach", {
77
vim.lsp.buf.format()
88
end, { desc = "Format current buffer with LSP" })
99
vim.api.nvim_buf_create_user_command(event.buf, "LspRestart", function(_)
10-
vim.lsp.stop_client(vim.lsp.get_clients())
10+
vim.lsp.stop_client(vim.lsp.get_clients(), true)
1111
vim.cmd("edit")
1212
end, { desc = "Restart all active LSP clients" })
1313

1414
-- mappings
15+
vim.keymap.set("n", "<cr>", vim.diagnostic.open_float, { buffer = event.buf, desc = "lsp: open diagnostic" })
1516
vim.keymap.set("n", "gd", vim.lsp.buf.definition, { buffer = event.buf, desc = "lsp: show definition" })
16-
vim.keymap.set("n", "<c-w>d", function()
17-
vim.cmd.vsplit()
18-
vim.lsp.buf.definition()
19-
end, { buffer = event.buf, desc = "lsp: show definition in new split" })
2017
vim.keymap.set("n", "gD", vim.lsp.buf.type_definition, { buffer = event.buf, desc = "lsp: show type definition" })
21-
vim.keymap.set("n", "gr", function()
22-
vim.lsp.buf.references({ includeDeclaration = false })
23-
end, { buffer = event.buf, desc = "lsp: show refs" })
2418
vim.keymap.set("n", "gi", vim.lsp.buf.implementation, { buffer = event.buf, desc = "lsp: show implementations" })
2519
vim.keymap.set("n", "go", vim.lsp.buf.document_symbol, { buffer = event.buf, desc = "lsp: outline symbols" })
20+
vim.keymap.set("n", "<leader>r", vim.lsp.buf.rename, { buffer = event.buf, desc = "lsp: rename symbol" })
21+
vim.keymap.set("n", "<leader>?", vim.lsp.buf.code_action, { buffer = event.buf, desc = "lsp: run code action" })
2622
vim.keymap.set("n", "<leader>qd", vim.diagnostic.setqflist, { buffer = event.buf, desc = "lsp: list diagnostics" })
2723
vim.keymap.set("n", "<leader>qD", function()
28-
vim.diagnostic.setqflist({ severity = vim.diagnostic.severity.ERROR })
24+
vim.diagnostic.setqflist({
25+
severity = vim.diagnostic.severity.ERROR,
26+
})
2927
end, { buffer = event.buf, desc = "lsp: list serious diagnostics" })
30-
vim.keymap.set("n", "<leader>r", vim.lsp.buf.rename, { buffer = event.buf, desc = "lsp: rename symbol" })
31-
vim.keymap.set("n", "<leader>?", vim.lsp.buf.code_action, { buffer = event.buf, desc = "lsp: run code action" })
32-
vim.keymap.set("n", "<cr>", vim.diagnostic.open_float, { buffer = event.buf, desc = "lsp: open diagnostic" })
28+
vim.keymap.set("n", "gr", function()
29+
vim.lsp.buf.references({
30+
includeDeclaration = false,
31+
})
32+
end, { buffer = event.buf, desc = "lsp: show refs" })
3333
end,
3434
})
3535

3636
-- display help in a vertical split
3737
vim.api.nvim_create_autocmd("BufWinEnter", {
3838
group = vim.api.nvim_create_augroup("vertical_help", { clear = true }),
39-
pattern = { "*.txt" },
39+
pattern = { "*.txt", "*.md" },
4040
callback = function()
4141
if vim.o.filetype == "help" then
4242
vim.cmd.wincmd("L")
@@ -61,7 +61,6 @@ vim.api.nvim_create_autocmd("FileType", {
6161
"dap-float",
6262
"dap-preview",
6363
"git",
64-
"lspinfo",
6564
"man",
6665
"notify",
6766
"qf",
@@ -88,7 +87,6 @@ vim.api.nvim_create_autocmd({ "InsertEnter" }, {
8887
pattern = "*",
8988
callback = function()
9089
vim.opt.relativenumber = false -- switch to real line numbers
91-
vim.g.miniindentscope_disable = true -- disable indent guides
9290
end,
9391
})
9492

@@ -102,7 +100,6 @@ vim.api.nvim_create_autocmd({ "InsertLeave" }, {
102100
return
103101
end
104102
vim.opt.relativenumber = true -- switch to relative line numbers
105-
vim.g.miniindentscope_disable = false -- re-enable indent guides
106103
end,
107104
})
108105

@@ -134,7 +131,7 @@ vim.api.nvim_create_autocmd({ "VimEnter" }, {
134131

135132
-- autocmds for every buffer
136133
vim.api.nvim_create_autocmd({ "BufRead" }, {
137-
group = vim.api.nvim_create_augroup("autocmd_on_buf_enter", { clear = true }),
134+
group = vim.api.nvim_create_augroup("add_autocmd_on_buf_enter", { clear = true }),
138135
pattern = { "*" },
139136
callback = function(_)
140137
-- skip those on some filetypes
@@ -180,54 +177,3 @@ vim.api.nvim_create_autocmd({ "WinEnter", "BufWinEnter", "TermOpen" }, {
180177
end
181178
end,
182179
})
183-
184-
-- highlight definitions (adapted from nvim-treesitter-refactor)
185-
vim.g.disable_highlight_defs = false
186-
local highlight_defs_augroup = vim.api.nvim_create_augroup("highlight_defs", { clear = true })
187-
local highlight_defs = vim.api.nvim_create_namespace("nvim_treesitter_usages")
188-
vim.api.nvim_create_autocmd({ "CursorHold" }, {
189-
group = highlight_defs_augroup,
190-
callback = function(event)
191-
if vim.g.disable_highlight_defs then
192-
return
193-
end
194-
local ts_utils = require("nvim-treesitter.ts_utils")
195-
local locals = require("nvim-treesitter.locals")
196-
local last_nodes = {}
197-
local node_at_point = ts_utils.get_node_at_cursor()
198-
-- Don't calculate usages again if we are on the same node.
199-
if
200-
node_at_point
201-
and node_at_point == last_nodes[event.buf]
202-
and #vim.api.nvim_buf_get_extmarks(event.buf, highlight_defs, 0, -1, {}) > 0
203-
then
204-
return
205-
else
206-
last_nodes[event.buf] = node_at_point
207-
end
208-
209-
vim.api.nvim_buf_clear_namespace(event.buf, highlight_defs, 0, -1)
210-
if not node_at_point then
211-
return
212-
end
213-
214-
local def_node, scope = locals.find_definition(node_at_point, event.buf)
215-
local usages = locals.find_usages(def_node, scope, event.buf)
216-
217-
for _, usage_node in ipairs(usages) do
218-
if usage_node ~= node_at_point and usage_node ~= def_node then
219-
ts_utils.highlight_node(usage_node, event.buf, highlight_defs, "CurSearch")
220-
end
221-
end
222-
223-
if def_node ~= node_at_point then
224-
ts_utils.highlight_node(def_node, event.buf, highlight_defs, "IncSearch")
225-
end
226-
end,
227-
})
228-
vim.api.nvim_create_autocmd({ "CursorMoved", "InsertEnter" }, {
229-
group = highlight_defs_augroup,
230-
callback = function(event)
231-
vim.api.nvim_buf_clear_namespace(event.buf, highlight_defs, 0, -1)
232-
end,
233-
})

home/nvim/lua/maps.lua

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,13 @@ vim.keymap.set({ "o", "x" }, "H", "^", { desc = "go to start of line" })
1616
vim.keymap.set({ "n", "o", "x" }, "L", "$", { desc = "go to end of line" })
1717

1818
-- better paste
19-
vim.keymap.set("n", "<leader>p", function()
19+
vim.keymap.set({ "n", "x" }, "<leader>p", '"+p', { desc = "paste system clipboard" })
20+
vim.keymap.set({ "n", "x" }, "<leader>P", function()
2021
vim.fn.setreg("+", vim.fn.getreg("+"), "V")
21-
vim.cmd.normal("p")
22-
end, { desc = "paste as lines" })
22+
vim.cmd.normal('"+p')
23+
end, { desc = "paste system clipboard as lines" })
24+
-- better paste
25+
vim.keymap.set({ "n", "x" }, "<leader>y", '"+y', { desc = "yank system clipboard" })
2326

2427
-- live grep
2528
vim.keymap.set("x", "<leader>*", function()
@@ -99,7 +102,7 @@ vim.keymap.set("n", "<s-tab>", function()
99102
vim.cmd("bp")
100103
end, { silent = true, desc = "go to previous buffer" })
101104
vim.keymap.set("n", "<leader>x", function()
102-
vim.print("Clearing buffers...")
105+
vim.notify("Clearing buffers...")
103106
for _, bufnr in ipairs(vim.api.nvim_list_bufs()) do
104107
if
105108
vim.bo[bufnr].buflisted

home/nvim/lua/options.lua

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
-- general behavior
2-
vim.opt.clipboard = "unnamedplus" -- sync yank with system clipboard
32
vim.opt.updatetime = 500 -- faster CursorHold
43
vim.opt.mouse = "" -- no mouse
54
vim.opt.jumpoptions = "stack,view" -- discard jumps when diverging from an earlier position
@@ -36,7 +35,6 @@ vim.opt.smartcase = true -- search case-sensitive when capital letters are searc
3635
-- ui
3736
vim.opt.cmdheight = 0 -- more space on the bottom
3837
vim.opt.laststatus = 3 -- global statusline
39-
vim.opt.signcolumn = "yes" -- always show signcolumn
4038

4139
-- virtual text
4240
vim.opt.listchars = "eol:¬,tab:»·,trail:~,space:·" -- list these chars if enabled
@@ -71,9 +69,3 @@ vim.filetype.add({
7169
vim.diagnostic.config({
7270
severity_sort = true,
7371
})
74-
75-
vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, {
76-
-- border = { "", "", "", "│", "", "", "", "│" },
77-
border = "none",
78-
max_width = 120,
79-
})

0 commit comments

Comments
 (0)