2
This commit is contained in:
dlsaldanas 2025-09-25 12:40:02 -03:00
parent 78e145660a
commit 1569339c0e
3 changed files with 70 additions and 54 deletions

View File

@ -41,4 +41,5 @@ vim.o.expandtab = true
local set = vim.opt_local local set = vim.opt_local
set.shiftwidth = 2 set.shiftwidth = 2
vim.o.shiftwidth = 2 vim.o.shiftwidth = 2
vim.keymap.set('n', '<leader>yb', '<cmd>let @+ = expand("%")<CR>', { desc = 'yank to plus register current relative path' })
return {} return {}

View File

@ -12,9 +12,7 @@ vim.keymap.set('n', 'j', "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = tr
-- See `:help vim.highlight.on_yank()` -- See `:help vim.highlight.on_yank()`
local highlight_group = vim.api.nvim_create_augroup('YankHighlight', { clear = true }) local highlight_group = vim.api.nvim_create_augroup('YankHighlight', { clear = true })
vim.api.nvim_create_autocmd('TextYankPost', { vim.api.nvim_create_autocmd('TextYankPost', {
callback = function() callback = function() vim.highlight.on_yank() end,
vim.highlight.on_yank()
end,
group = highlight_group, group = highlight_group,
pattern = '*', pattern = '*',
}) })

View File

@ -1,58 +1,75 @@
-- Adds git related signs to the gutter, as well as utilities for managing changes -- Alternatively, use `config = function() ... end` for full control over the configuration.
-- NOTE: gitsigns is already included in init.lua but contains only the base -- If you prefer to call `setup` explicitly, use:
-- config. This will add also the recommended keymaps. -- {
-- 'lewis6991/gitsigns.nvim',
---@module 'lazy' -- config = function()
---@type LazySpec -- require('gitsigns').setup({
-- -- Your gitsigns configuration here
-- })
-- end,
-- }
--
-- Here is a more advanced example where we pass configuration
-- options to `gitsigns.nvim`.
--
-- See `:help gitsigns` to understand what the configuration keys do
return { return {
'lewis6991/gitsigns.nvim', { -- Adds git related signs to the gutter, as well as utilities for managing changes
---@module 'gitsigns' 'lewis6991/gitsigns.nvim',
---@type Gitsigns.Config opts = {
---@diagnostic disable-next-line: missing-fields signs = {
opts = { add = { text = '+' },
on_attach = function(bufnr) change = { text = '~' },
local gitsigns = require 'gitsigns' delete = { text = '_' },
topdelete = { text = '' },
changedelete = { text = '~' },
},
current_line_blame = true,
on_attach = function(bufnr)
local gitsigns = require 'gitsigns'
local function map(mode, l, r, opts) local function map(mode, l, r, opts)
opts = opts or {} opts = opts or {}
opts.buffer = bufnr opts.buffer = bufnr
vim.keymap.set(mode, l, r, opts) vim.keymap.set(mode, l, r, opts)
end
-- Navigation
map('n', ']c', function()
if vim.wo.diff then
vim.cmd.normal { ']c', bang = true }
else
gitsigns.nav_hunk 'next'
end end
end, { desc = 'Jump to next git [c]hange' })
map('n', '[c', function() -- Navigation
if vim.wo.diff then map('n', ']c', function()
vim.cmd.normal { '[c', bang = true } if vim.wo.diff then
else vim.cmd.normal { ']c', bang = true }
gitsigns.nav_hunk 'prev' else
end gitsigns.nav_hunk 'next'
end, { desc = 'Jump to previous git [c]hange' }) end
end, { desc = 'Jump to next git [c]hange' })
-- Actions map('n', '[c', function()
-- visual mode if vim.wo.diff then
map('v', '<leader>hs', function() gitsigns.stage_hunk { vim.fn.line '.', vim.fn.line 'v' } end, { desc = 'git [s]tage hunk' }) vim.cmd.normal { '[c', bang = true }
map('v', '<leader>hr', function() gitsigns.reset_hunk { vim.fn.line '.', vim.fn.line 'v' } end, { desc = 'git [r]eset hunk' }) else
-- normal mode gitsigns.nav_hunk 'prev'
map('n', '<leader>hs', gitsigns.stage_hunk, { desc = 'git [s]tage hunk' }) end
map('n', '<leader>hr', gitsigns.reset_hunk, { desc = 'git [r]eset hunk' }) end, { desc = 'Jump to previous git [c]hange' })
map('n', '<leader>hS', gitsigns.stage_buffer, { desc = 'git [S]tage buffer' })
map('n', '<leader>hu', gitsigns.stage_hunk, { desc = 'git [u]ndo stage hunk' }) -- Actions
map('n', '<leader>hR', gitsigns.reset_buffer, { desc = 'git [R]eset buffer' }) -- visual mode
map('n', '<leader>hp', gitsigns.preview_hunk, { desc = 'git [p]review hunk' }) map('v', '<leader>hs', function() gitsigns.stage_hunk { vim.fn.line '.', vim.fn.line 'v' } end, { desc = 'git [s]tage hunk' })
map('n', '<leader>hb', gitsigns.blame_line, { desc = 'git [b]lame line' }) map('v', '<leader>hr', function() gitsigns.reset_hunk { vim.fn.line '.', vim.fn.line 'v' } end, { desc = 'git [r]eset hunk' })
map('n', '<leader>hd', gitsigns.diffthis, { desc = 'git [d]iff against index' }) -- normal mode
map('n', '<leader>hD', function() gitsigns.diffthis '@' end, { desc = 'git [D]iff against last commit' }) map('n', '<leader>hs', gitsigns.stage_hunk, { desc = 'git [s]tage hunk' })
-- Toggles map('n', '<leader>hr', gitsigns.reset_hunk, { desc = 'git [r]eset hunk' })
map('n', '<leader>tb', gitsigns.toggle_current_line_blame, { desc = '[T]oggle git show [b]lame line' }) map('n', '<leader>hS', gitsigns.stage_buffer, { desc = 'git [S]tage buffer' })
map('n', '<leader>tD', gitsigns.preview_hunk_inline, { desc = '[T]oggle git show [D]eleted' }) map('n', '<leader>hu', gitsigns.stage_hunk, { desc = 'git [u]ndo stage hunk' })
end, map('n', '<leader>hR', gitsigns.reset_buffer, { desc = 'git [R]eset buffer' })
map('n', '<leader>hp', gitsigns.preview_hunk, { desc = 'git [p]review hunk' })
map('n', '<leader>hb', gitsigns.blame_line, { desc = 'git [b]lame line' })
map('n', '<leader>hd', gitsigns.diffthis, { desc = 'git [d]iff against index' })
map('n', '<leader>hD', function() gitsigns.diffthis '@' end, { desc = 'git [D]iff against last commit' })
-- Toggles
map('n', '<leader>tb', gitsigns.toggle_current_line_blame, { desc = '[T]oggle git show [b]lame line' })
map('n', '<leader>tD', gitsigns.preview_hunk_inline, { desc = '[T]oggle git show [D]eleted' })
end,
},
}, },
} }
-- vim: ts=2 sts=2 sw=2 et