From 87e1645ff32b91f28bee66dfd34ea3eb43575382 Mon Sep 17 00:00:00 2001 From: Yigit Sever Date: Sun, 7 Nov 2021 23:37:50 +0300 Subject: nvim: migrate to gitsigns from gitgutter --- .config/nvim/lua/plugin_settings.lua | 70 ++++++++++++++++++++++++++++++++++++ .config/nvim/lua/plugins.lua | 12 +++++-- 2 files changed, 79 insertions(+), 3 deletions(-) (limited to '.config/nvim/lua') diff --git a/.config/nvim/lua/plugin_settings.lua b/.config/nvim/lua/plugin_settings.lua index bff9bcb..ddc7371 100644 --- a/.config/nvim/lua/plugin_settings.lua +++ b/.config/nvim/lua/plugin_settings.lua @@ -462,3 +462,73 @@ require'nvim-tree'.setup { -- nvim-colorizer {{{ -- require 'colorizer'.setup() -- }}} nvim-colorizer -- + +-- gitsigns.nvim {{{ -- + +require('gitsigns').setup { + signs = { + add = {hl = 'GitSignsAdd' , text = '│', numhl='GitSignsAddNr' , linehl='GitSignsAddLn'}, + change = {hl = 'GitSignsChange', text = '│', numhl='GitSignsChangeNr', linehl='GitSignsChangeLn'}, + delete = {hl = 'GitSignsDelete', text = '_', numhl='GitSignsDeleteNr', linehl='GitSignsDeleteLn'}, + topdelete = {hl = 'GitSignsDelete', text = '‾', numhl='GitSignsDeleteNr', linehl='GitSignsDeleteLn'}, + changedelete = {hl = 'GitSignsChange', text = '~', numhl='GitSignsChangeNr', linehl='GitSignsChangeLn'}, + + }, + signcolumn = true, -- Toggle with `:Gitsigns toggle_signs` + numhl = false, -- Toggle with `:Gitsigns toggle_numhl` + linehl = false, -- Toggle with `:Gitsigns toggle_linehl` + word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff` + keymaps = { + -- Default keymap options + noremap = true, + + ['n ]c'] = { expr = true, "&diff ? ']c' : 'lua require\"gitsigns.actions\".next_hunk()'"}, + ['n [c'] = { expr = true, "&diff ? '[c' : 'lua require\"gitsigns.actions\".prev_hunk()'"}, + + ['n hs'] = 'lua require"gitsigns".stage_hunk()', + ['v hs'] = 'lua require"gitsigns".stage_hunk({vim.fn.line("."), vim.fn.line("v")})', + ['n hu'] = 'lua require"gitsigns".undo_stage_hunk()', + ['n hr'] = 'lua require"gitsigns".reset_hunk()', + ['v hr'] = 'lua require"gitsigns".reset_hunk({vim.fn.line("."), vim.fn.line("v")})', + ['n hR'] = 'lua require"gitsigns".reset_buffer()', + ['n hp'] = 'lua require"gitsigns".preview_hunk()', + ['n hb'] = 'lua require"gitsigns".blame_line(true)', + ['n hS'] = 'lua require"gitsigns".stage_buffer()', + ['n hU'] = 'lua require"gitsigns".reset_buffer_index()', + + -- Text objects + ['o ih'] = ':lua require"gitsigns.actions".select_hunk()', + ['x ih'] = ':lua require"gitsigns.actions".select_hunk()' + }, + watch_gitdir = { + interval = 1000, + follow_files = true + }, + attach_to_untracked = true, + current_line_blame = false, -- Toggle with `:Gitsigns toggle_current_line_blame` + current_line_blame_opts = { + virt_text = true, + virt_text_pos = 'eol', -- 'eol' | 'overlay' | 'right_align' + delay = 1000, + }, + current_line_blame_formatter_opts = { + relative_time = false + }, + sign_priority = 6, + update_debounce = 100, + status_formatter = nil, -- Use default + max_file_length = 40000, + preview_config = { + -- Options passed to nvim_open_win + border = 'single', + style = 'minimal', + relative = 'cursor', + row = 0, + col = 1 + }, + yadm = { + enable = true + }, +} + +-- }}} gitsigns.nvim -- diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index 6d982de..b3a87b2 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -31,10 +31,18 @@ return require('packer').startup(function() -- find, filter, preview, pick use { 'nvim-telescope/telescope.nvim', - requires = { {'nvim-lua/plenary.nvim'} } + requires = { 'nvim-lua/plenary.nvim' } } use {'nvim-telescope/telescope-fzf-native.nvim', run = 'make' } + -- git integration for buffers + use { + 'lewis6991/gitsigns.nvim', + requires = { + 'nvim-lua/plenary.nvim' + }, + } + -- manages tag files use 'ludovicchabant/vim-gutentags' -- run tests (todo: write tests) @@ -45,8 +53,6 @@ return require('packer').startup(function() use {'SirVer/ultisnips', 'honza/vim-snippets'} -- autopairs for neovim use 'windwp/nvim-autopairs' - -- git diff in the sign column - use 'airblade/vim-gitgutter' -- completion preview of floating window use 'ncm2/float-preview.nvim' -- indent guides -- cgit v1.2.3-70-g09d2