Compare commits

...

9 commits

Author SHA1 Message Date
Antoine Vaure
6090606df7 change behaviour of hover for DAP 2025-07-28 17:30:11 +02:00
Antoine Vaure
7d5ea1ede1 add linediff.vim 2025-07-28 17:29:49 +02:00
Antoine Vaure
8b98ae5399 add trouble.nvim 2025-07-28 17:29:36 +02:00
Antoine Vaure
bb81da36c4 enable word_diff in gitsigns 2025-07-28 17:29:17 +02:00
Antoine Vaure
8ac78fdb52 fix copy_filename_and_line 2025-07-28 17:28:44 +02:00
Antoine Vaure
3b5da664ee keyind to toggle lsp diagnostic virtual text 2025-07-28 17:28:23 +02:00
Antoine Vaure
91e4921619 keybind to toggle line wrap 2025-07-28 17:27:55 +02:00
Antoine Vaure
27701b7ba4 <c-c><c-c> to write & exit 2025-07-28 17:27:22 +02:00
Antoine Vaure
9ad2c6f4a7 telescope find files for visual selection 2025-07-28 17:27:05 +02:00
2 changed files with 34 additions and 9 deletions

View file

@ -18,11 +18,12 @@ s("n", "<a-j>", "<cmd> BufferNext <CR>", { desc = "Next buffer"
s("n", "<a-k>", "<cmd> BufferPrevious <CR>", { desc = "Previous buffer" }) s("n", "<a-k>", "<cmd> BufferPrevious <CR>", { desc = "Previous buffer" })
s('n', '<leader>p', "<cmd> BufferPin <cr>", { desc = "Pin/Unpin buffer" }) s('n', '<leader>p', "<cmd> BufferPin <cr>", { desc = "Pin/Unpin buffer" })
s('n', '<c-c><c-c>', '<cmd>wq<CR>', { desc = 'Write and exit'} )
s("n", "ZZ", "<cmd> q! <CR>", { desc = "Quit without saving" }) s("n", "ZZ", "<cmd> q! <CR>", { desc = "Quit without saving" })
s("n", "q:", "<nop>") s("n", "q:", "<nop>")
s('n', 'H', require('treesj').toggle) s('n', 'H', require('treesj').toggle)
s('n', '<leader>ff', "<cmd> Telescope find_files follow=true <CR>") s('n', '<leader>ff', "<cmd> Telescope find_files follow=true <CR>")
s('v', '<leader>ff', '"hy<ESC>:Telescope find_files follow=true default_text=<c-r>h<CR>', default_opts)
s('n', '<leader>fg', "<cmd> Telescope live_grep <CR>") s('n', '<leader>fg', "<cmd> Telescope live_grep <CR>")
s('v', '<leader>fg', '"hy<ESC>:Telescope live_grep default_text=<c-r>h<CR>', default_opts) s('v', '<leader>fg', '"hy<ESC>:Telescope live_grep default_text=<c-r>h<CR>', default_opts)
s('n', '<leader>fF', "<cmd> Telescope find_files follow=true no_ignore=true hidden=true <CR>") s('n', '<leader>fF', "<cmd> Telescope find_files follow=true no_ignore=true hidden=true <CR>")
@ -46,8 +47,18 @@ for _, key in ipairs({"A", "Z", "E", "Q", "S", "D"}) do
s({ 'n' }, "<A-" .. string.lower(key) .. ">", "g'" .. key, { desc = "Jump to mark " .. key }) s({ 'n' }, "<A-" .. string.lower(key) .. ">", "g'" .. key, { desc = "Jump to mark " .. key })
end end
s("n", "<leader>tw", "<cmd> set wrap! <cr>", { desc = "toggle line wrap" })
local toggle_lsp_virtual_text = function ()
vim.diagnostic.config({
virtual_text = not vim.diagnostic.config().virtual_text
})
end
s("n", "<leader>tv", toggle_lsp_virtual_text, { desc = "toggle virtual text for diagnostics" })
function copy_filename_and_line () function copy_filename_and_line ()
local filename = vim.fn.expand("%:t") local filename = vim.fn.expand("%")
local line = vim.fn.line(".") local line = vim.fn.line(".")
local text = filename .. ":" .. line local text = filename .. ":" .. line
vim.fn.setreg("+", text) vim.fn.setreg("+", text)
@ -62,11 +73,13 @@ function moveCursorToMouse()
vim.fn.setpos(".", { 0, mousePos.line, mousePos.column, 0 }) vim.fn.setpos(".", { 0, mousePos.line, mousePos.column, 0 })
end end
function hover() function dap_or(func)
return function ()
if dap.session() then if dap.session() then
dapui.eval() dapui.eval()
else else
vim.lsp.buf.signature_help() func()
end
end end
end end
@ -96,10 +109,10 @@ vim.api.nvim_create_autocmd('LspAttach', {
s('n', 'gD', vim.lsp.buf.declaration, { buffer = ev.buf, desc = "Goto declaration" }) s('n', 'gD', vim.lsp.buf.declaration, { buffer = ev.buf, desc = "Goto declaration" })
s('n', 'gd', telescope.lsp_definitions, { buffer = ev.buf, desc = "Goto definition" }) s('n', 'gd', telescope.lsp_definitions, { buffer = ev.buf, desc = "Goto definition" })
s( {'n', 'v'}, 'K', vim.lsp.buf.hover, { buffer = ev.buf, desc = "lsp Hover" }) s( {'n', 'v'}, 'K', vim.lsp.buf.hover, { buffer = ev.buf, desc = "lsp Hover" })
s( {'n', 'v'}, '<c-k>', hover, { buffer = ev.buf, desc = "dap eval" }) s( {'n', 'v'}, '<c-k>', dap_or(vim.lsp.buf.signature_help), { buffer = ev.buf, desc = "dap eval" })
s( s(
{'n', 'v'}, '<RightMouse>', {'n', 'v'}, '<RightMouse>',
function() moveCursorToMouse() vim.lsp.buf.hover() end, function() moveCursorToMouse() dap_or(vim.lsp.buf.hover)() end,
{ buffer = ev.buf, desc = "Hover" } { buffer = ev.buf, desc = "Hover" }
) )
s('n', 'gi', telescope.lsp_implementations, { buffer = ev.buf, desc = "Goto implementation" }) s('n', 'gi', telescope.lsp_implementations, { buffer = ev.buf, desc = "Goto implementation" })

View file

@ -267,6 +267,7 @@ local plugins = {
"lewis6991/gitsigns.nvim", "lewis6991/gitsigns.nvim",
config = function() config = function()
require('gitsigns').setup({ require('gitsigns').setup({
word_diff = true,
on_attach = function(bufnr) on_attach = function(bufnr)
local gs = package.loaded.gitsigns local gs = package.loaded.gitsigns
@ -556,6 +557,17 @@ local plugins = {
'jakemason/ouroboros', 'jakemason/ouroboros',
dependencies = { "nvim-lua/plenary.nvim" } dependencies = { "nvim-lua/plenary.nvim" }
}, },
{
"folke/trouble.nvim",
config = function () require("trouble").setup() end,
cmd = "Trouble",
},
{
"andrewradev/linediff.vim",
config = function()
vim.keymap.set({ "n", "v" }, "<leader>d", ":Linediff <cr>", { desc = "Linediff" })
end
},
} }
return plugins return plugins