feat: use virtual_text instead of virtual_lines and add keymap to toggle this
This commit is contained in:
parent
e2d27c98c1
commit
b5be5a3659
2 changed files with 57 additions and 48 deletions
|
|
@ -109,10 +109,9 @@ vim.diagnostic.config({
|
||||||
[vim.diagnostic.severity.INFO] = "",
|
[vim.diagnostic.severity.INFO] = "",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
-- virtual_text = { current_line = true },
|
virtual_text = true,
|
||||||
-- virtual_lines = true,
|
virtual_lines = false,
|
||||||
-- virtual_text = true,
|
-- virtual_lines = {
|
||||||
virtual_lines = {
|
-- current_line = true,
|
||||||
current_line = true,
|
-- },
|
||||||
},
|
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -13,10 +13,10 @@ vim.keymap.set("n", "<leader>fo", ":Telescope oldfiles<CR>", { noremap = true, d
|
||||||
|
|
||||||
-- Find files
|
-- Find files
|
||||||
vim.keymap.set(
|
vim.keymap.set(
|
||||||
"n",
|
"n",
|
||||||
"<leader>ff",
|
"<leader>ff",
|
||||||
":Telescope find_files hidden=true no_ignore=false<CR>",
|
":Telescope find_files hidden=true no_ignore=false<CR>",
|
||||||
{ noremap = true, desc = "File search" }
|
{ noremap = true, desc = "File search" }
|
||||||
)
|
)
|
||||||
|
|
||||||
-- Live find string (using ripgrep)
|
-- Live find string (using ripgrep)
|
||||||
|
|
@ -24,10 +24,10 @@ vim.keymap.set("n", "<leader>fg", ":Telescope live_grep<CR>", { noremap = true,
|
||||||
|
|
||||||
-- Find string under cursor (using ripgrep)
|
-- Find string under cursor (using ripgrep)
|
||||||
vim.keymap.set(
|
vim.keymap.set(
|
||||||
"n",
|
"n",
|
||||||
"<leader>fs",
|
"<leader>fs",
|
||||||
":Telescope grep_string<CR>",
|
":Telescope grep_string<CR>",
|
||||||
{ noremap = true, desc = "Search text under cursor in cwd/grep search string" }
|
{ noremap = true, desc = "Search text under cursor in cwd/grep search string" }
|
||||||
)
|
)
|
||||||
-- Find string under cursor
|
-- Find string under cursor
|
||||||
--vim.keymap.set(
|
--vim.keymap.set(
|
||||||
|
|
@ -42,27 +42,27 @@ vim.keymap.set("n", "<leader><leader>", ":Telescope buffers<CR>", { noremap = tr
|
||||||
vim.keymap.set("n", "<leader>ft", ":TodoTelescope<CR>", { noremap = true, desc = "Find TODOs" })
|
vim.keymap.set("n", "<leader>ft", ":TodoTelescope<CR>", { noremap = true, desc = "Find TODOs" })
|
||||||
--vim.keymap.set("n", "<leader>gs", ":Telescope git_status<CR>", { noremap = true, desc = "Git status" })
|
--vim.keymap.set("n", "<leader>gs", ":Telescope git_status<CR>", { noremap = true, desc = "Git status" })
|
||||||
vim.keymap.set(
|
vim.keymap.set(
|
||||||
"n",
|
"n",
|
||||||
"<leader>gla",
|
"<leader>gla",
|
||||||
":Telescope git_commits<CR>",
|
":Telescope git_commits<CR>",
|
||||||
{ noremap = true, desc = "Git log (across all files)" }
|
{ noremap = true, desc = "Git log (across all files)" }
|
||||||
)
|
)
|
||||||
vim.keymap.set("n", "<leader>glf", ":Telescope git_bcommits<CR>", { noremap = true, desc = "Git log (this file)" })
|
vim.keymap.set("n", "<leader>glf", ":Telescope git_bcommits<CR>", { noremap = true, desc = "Git log (this file)" })
|
||||||
--vim.keymap.set("n", "<leader>gdp", ":Gitsigns diffthis<CR>", { noremap = true, desc = "Git diff previous (this file)" })
|
--vim.keymap.set("n", "<leader>gdp", ":Gitsigns diffthis<CR>", { noremap = true, desc = "Git diff previous (this file)" })
|
||||||
--vim.keymap.set("n", "<leader>gd", ":Gitsigns diffthis<CR>", { noremap = true, desc = "Git diff previous (this file)" })
|
--vim.keymap.set("n", "<leader>gd", ":Gitsigns diffthis<CR>", { noremap = true, desc = "Git diff previous (this file)" })
|
||||||
vim.keymap.set("n", "<leader>gd", function()
|
vim.keymap.set("n", "<leader>gd", function()
|
||||||
if next(require("diffview.lib").views) == nil then
|
if next(require("diffview.lib").views) == nil then
|
||||||
vim.cmd("DiffviewOpen")
|
vim.cmd("DiffviewOpen")
|
||||||
else
|
else
|
||||||
vim.cmd("DiffviewClose")
|
vim.cmd("DiffviewClose")
|
||||||
end
|
end
|
||||||
--end, { noremap = true, desc = "Diff this shit" })
|
--end, { noremap = true, desc = "Diff this shit" })
|
||||||
end, { noremap = true, desc = "Toggle diff/stage UI " })
|
end, { noremap = true, desc = "Toggle diff/stage UI " })
|
||||||
vim.keymap.set(
|
vim.keymap.set(
|
||||||
"n",
|
"n",
|
||||||
"<leader>gb",
|
"<leader>gb",
|
||||||
":Gitsigns toggle_current_line_blame<CR>",
|
":Gitsigns toggle_current_line_blame<CR>",
|
||||||
{ noremap = true, desc = "Toggle git blame" }
|
{ noremap = true, desc = "Toggle git blame" }
|
||||||
)
|
)
|
||||||
|
|
||||||
-- Remapping of existing Vim key binds
|
-- Remapping of existing Vim key binds
|
||||||
|
|
@ -77,26 +77,26 @@ vim.keymap.set("n", "b", "B") -- skip punctuation when moving to end of previous
|
||||||
vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv") -- move whole lines/blocks down in visual mode
|
vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv") -- move whole lines/blocks down in visual mode
|
||||||
vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv") -- move whole lines/blocks up in visual mode
|
vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv") -- move whole lines/blocks up in visual mode
|
||||||
|
|
||||||
vim.keymap.set("n", "<C-d>", "<C-d>zz") -- eye-friendly down scrolling
|
vim.keymap.set("n", "<C-d>", "<C-d>zz") -- eye-friendly down scrolling
|
||||||
vim.keymap.set("n", "<C-u>", "<C-u>zz") -- eye-friendly up scrolling
|
vim.keymap.set("n", "<C-u>", "<C-u>zz") -- eye-friendly up scrolling
|
||||||
|
|
||||||
vim.keymap.set("n", "J", "mzJ`z") -- when merging lines, keep cursor at current position
|
vim.keymap.set("n", "J", "mzJ`z") -- when merging lines, keep cursor at current position
|
||||||
|
|
||||||
vim.keymap.set(
|
vim.keymap.set(
|
||||||
"n",
|
"n",
|
||||||
"<leader>s",
|
"<leader>s",
|
||||||
[[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]],
|
[[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]],
|
||||||
{ noremap = true, desc = "Replace word below cursor" }
|
{ noremap = true, desc = "Replace word below cursor" }
|
||||||
)
|
)
|
||||||
|
|
||||||
-- Apply conform.nvim formatting on keypress (same as on save)
|
-- Apply conform.nvim formatting on keypress (same as on save)
|
||||||
vim.keymap.set({ "n", "v" }, "<leader>o", function()
|
vim.keymap.set({ "n", "v" }, "<leader>o", function()
|
||||||
local conform = require("conform")
|
local conform = require("conform")
|
||||||
conform.format({
|
conform.format({
|
||||||
lsp_fallback = true,
|
lsp_fallback = true,
|
||||||
async = false,
|
async = false,
|
||||||
timeout_ms = 500,
|
timeout_ms = 500,
|
||||||
})
|
})
|
||||||
end, { desc = "Format file or range (in visual mode)" })
|
end, { desc = "Format file or range (in visual mode)" })
|
||||||
|
|
||||||
-- Toggle zen-mode.nvim
|
-- Toggle zen-mode.nvim
|
||||||
|
|
@ -104,27 +104,37 @@ vim.keymap.set("n", "<leader>z", ":ZenMode<CR>")
|
||||||
|
|
||||||
-- Go to next diagnostic item (any severity)
|
-- Go to next diagnostic item (any severity)
|
||||||
vim.keymap.set({ "n", "v" }, "<leader>da", function()
|
vim.keymap.set({ "n", "v" }, "<leader>da", function()
|
||||||
vim.diagnostic.goto_next({})
|
vim.diagnostic.goto_next({})
|
||||||
vim.api.nvim_feedkeys("zz", "n", false)
|
vim.api.nvim_feedkeys("zz", "n", false)
|
||||||
end, { desc = "Go to next diagnostic" })
|
end, { desc = "Go to next diagnostic" })
|
||||||
|
|
||||||
-- Go to next diagnostic item (error severity)
|
-- Go to next diagnostic item (error severity)
|
||||||
vim.keymap.set({ "n", "v" }, "<leader>de", function()
|
vim.keymap.set({ "n", "v" }, "<leader>de", function()
|
||||||
vim.diagnostic.goto_next({ severity = vim.diagnostic.severity.ERROR })
|
vim.diagnostic.goto_next({ severity = vim.diagnostic.severity.ERROR })
|
||||||
vim.api.nvim_feedkeys("zz", "n", false)
|
vim.api.nvim_feedkeys("zz", "n", false)
|
||||||
end, { desc = "Go to next error diagnostic" })
|
end, { desc = "Go to next error diagnostic" })
|
||||||
|
|
||||||
-- Go to next diagnostic item (warning severity)
|
-- Go to next diagnostic item (warning severity)
|
||||||
vim.keymap.set({ "n", "v" }, "<leader>dw", function()
|
vim.keymap.set({ "n", "v" }, "<leader>dw", function()
|
||||||
vim.diagnostic.goto_next({ severity = vim.diagnostic.severity.WARN })
|
vim.diagnostic.goto_next({ severity = vim.diagnostic.severity.WARN })
|
||||||
vim.api.nvim_feedkeys("zz", "n", false)
|
vim.api.nvim_feedkeys("zz", "n", false)
|
||||||
end, { desc = "Go to next warning diagnostic" })
|
end, { desc = "Go to next warning diagnostic" })
|
||||||
|
|
||||||
-- Toggle LSP diagnostics
|
-- Toggle LSP diagnostics
|
||||||
vim.keymap.set({ "n", "v" }, "<leader>dd", function()
|
vim.keymap.set({ "n", "v" }, "<leader>dd", function()
|
||||||
vim.diagnostic.enable(not vim.diagnostic.is_enabled())
|
vim.diagnostic.enable(not vim.diagnostic.is_enabled())
|
||||||
end, { desc = "Turn diagnostics on/off" })
|
end, { desc = "Turn diagnostics on/off" })
|
||||||
|
|
||||||
-- Toggle trouble (for document)
|
-- Toggle trouble (for document)
|
||||||
--vim.keymap.set("n", "<leader>qq", ":TroubleToggle<CR>")
|
--vim.keymap.set("n", "<leader>qq", ":TroubleToggle<CR>")
|
||||||
--vim.keymap.set("n", "<leader>qq", "<cmd>Trouble diagnostics toggle<cr>")
|
--vim.keymap.set("n", "<leader>qq", "<cmd>Trouble diagnostics toggle<cr>")
|
||||||
|
|
||||||
|
-- By default, show virtual_text and hide virtual_lines.
|
||||||
|
-- This keymap allows to do the opposite. Can be useful when there are multiple
|
||||||
|
-- severities on the same line
|
||||||
|
vim.keymap.set("n", "<leader>tdd", function()
|
||||||
|
vim.diagnostic.config({
|
||||||
|
virtual_lines = not vim.diagnostic.config().virtual_lines,
|
||||||
|
virtual_text = not vim.diagnostic.config().virtual_text,
|
||||||
|
})
|
||||||
|
end, { desc = "Toggle diagnostic virtual lines and virtual text" })
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue