update:nvim code diag
This commit is contained in:
@@ -62,6 +62,31 @@ function M.setup()
|
|||||||
|
|
||||||
vim.diagnostic.config({ virtual_text = false })
|
vim.diagnostic.config({ virtual_text = false })
|
||||||
|
|
||||||
|
local function pause_diagnostic_float_until_move(bufnr)
|
||||||
|
vim.b[bufnr].pause_diagnostic_float = true
|
||||||
|
vim.api.nvim_create_autocmd({ "CursorMoved", "InsertEnter", "BufLeave" }, {
|
||||||
|
buffer = bufnr,
|
||||||
|
once = true,
|
||||||
|
callback = function()
|
||||||
|
vim.b[bufnr].pause_diagnostic_float = false
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
local diag_float_group = vim.api.nvim_create_augroup("UserDiagnosticFloat", { clear = true })
|
||||||
|
vim.api.nvim_create_autocmd({ "CursorHold", "CursorHoldI" }, {
|
||||||
|
group = diag_float_group,
|
||||||
|
callback = function(ev)
|
||||||
|
if vim.b[ev.buf].pause_diagnostic_float then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
vim.diagnostic.open_float(nil, {
|
||||||
|
focusable = false,
|
||||||
|
scope = "line",
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
local function text_format(symbol)
|
local function text_format(symbol)
|
||||||
local fragments = {}
|
local fragments = {}
|
||||||
|
|
||||||
@@ -118,7 +143,10 @@ function M.setup()
|
|||||||
end
|
end
|
||||||
|
|
||||||
map("n", "gD", vim.lsp.buf.declaration, "LSP declaration")
|
map("n", "gD", vim.lsp.buf.declaration, "LSP declaration")
|
||||||
map("n", "K", vim.lsp.buf.hover, "LSP hover")
|
map("n", "K", function()
|
||||||
|
pause_diagnostic_float_until_move(bufnr)
|
||||||
|
vim.lsp.buf.hover()
|
||||||
|
end, "LSP hover")
|
||||||
map("n", "gi", vim.lsp.buf.implementation, "LSP implementation")
|
map("n", "gi", vim.lsp.buf.implementation, "LSP implementation")
|
||||||
map("n", "<C-k>", vim.lsp.buf.signature_help, "LSP signature help")
|
map("n", "<C-k>", vim.lsp.buf.signature_help, "LSP signature help")
|
||||||
map("n", "<leader>wa", vim.lsp.buf.add_workspace_folder, "LSP add workspace folder")
|
map("n", "<leader>wa", vim.lsp.buf.add_workspace_folder, "LSP add workspace folder")
|
||||||
|
|||||||
@@ -3,12 +3,6 @@ vim.keymap.set("n", "<leader>E", "<cmd>Ex<CR>", { desc = "Open netrw" })
|
|||||||
vim.keymap.set("n", "<leader>ER", "<cmd>bw<CR>", { desc = "Close buffer" })
|
vim.keymap.set("n", "<leader>ER", "<cmd>bw<CR>", { desc = "Close buffer" })
|
||||||
vim.keymap.set("n", "<leader>sr", ":cd %:p:h<CR>", { desc = "Set cwd to file dir" })
|
vim.keymap.set("n", "<leader>sr", ":cd %:p:h<CR>", { desc = "Set cwd to file dir" })
|
||||||
|
|
||||||
-- split navigation
|
|
||||||
vim.keymap.set("n", "<A-Left>", "<C-w>h")
|
|
||||||
vim.keymap.set("n", "<A-Down>", "<C-w>j")
|
|
||||||
vim.keymap.set("n", "<A-Up>", "<C-w>k")
|
|
||||||
vim.keymap.set("n", "<A-Right>", "<C-w>l")
|
|
||||||
|
|
||||||
-- netrw duplicate helper (<leader>d)
|
-- netrw duplicate helper (<leader>d)
|
||||||
vim.api.nvim_create_autocmd("FileType", {
|
vim.api.nvim_create_autocmd("FileType", {
|
||||||
pattern = "netrw",
|
pattern = "netrw",
|
||||||
@@ -26,6 +20,12 @@ vim.api.nvim_create_autocmd("FileType", {
|
|||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
-- split navigation
|
||||||
|
vim.keymap.set("n", "<A-Left>", "<C-w>h")
|
||||||
|
vim.keymap.set("n", "<A-Down>", "<C-w>j")
|
||||||
|
vim.keymap.set("n", "<A-Up>", "<C-w>k")
|
||||||
|
vim.keymap.set("n", "<A-Right>", "<C-w>l")
|
||||||
|
|
||||||
-- buffer history (per-tab)
|
-- buffer history (per-tab)
|
||||||
local hist_by_tab = {}
|
local hist_by_tab = {}
|
||||||
local navigating = false
|
local navigating = false
|
||||||
@@ -163,3 +163,13 @@ vim.keymap.set("n", "<leader>x", function()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end, { desc = "Close floating windows" })
|
end, { desc = "Close floating windows" })
|
||||||
|
|
||||||
|
-- Map Ctrl + Left Click to open the link under the cursor
|
||||||
|
vim.keymap.set("n", "<C-LeftMouse>", function()
|
||||||
|
-- Get the word/URL under the mouse click
|
||||||
|
local cursor_pos = vim.fn.getmousepos()
|
||||||
|
vim.api.nvim_win_set_cursor(cursor_pos.winid, {cursor_pos.line, cursor_pos.column - 1})
|
||||||
|
|
||||||
|
-- Trigger the native open function
|
||||||
|
vim.ui.open(vim.fn.expand("<cfile>"))
|
||||||
|
end, { desc = "Open link under cursor with Ctrl+Click" })
|
||||||
|
|||||||
Reference in New Issue
Block a user