From 1ba44c8e075a6a0bf7e82b50e565453f2470f482 Mon Sep 17 00:00:00 2001 From: Kyren223 Date: Wed, 3 Jul 2024 16:31:26 +0300 Subject: [PATCH] Neovim: added git plugins like vim-fugitive, gitsigns, octo and diffivew --- .config/nvim/init.lua | 3 ++- .config/nvim/lazy-lock.json | 4 ++++ .config/nvim/lua/plugins/comment.lua | 1 - .config/nvim/lua/plugins/completions.lua | 1 + .config/nvim/lua/plugins/git.lua | 28 ++++++++++++++++++++++++ .config/nvim/lua/plugins/neotree.lua | 2 +- .config/nvim/lua/plugins/oil.lua | 3 +-- 7 files changed, 37 insertions(+), 5 deletions(-) create mode 100644 .config/nvim/lua/plugins/git.lua diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index dc9fb5d..12582fc 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -2,4 +2,5 @@ require('options') require('keymaps') require('autocmds') require('plugin-manager') -vim.cmd.colorscheme('darcula') +--vim.cmd.colorscheme('darcula') +vim.cmd.colorscheme('tokyonight-night') diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index f86ff36..4d8ecbc 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -10,9 +10,11 @@ "darcula": { "branch": "master", "commit": "faf8dbab27bee0f27e4f1c3ca7e9695af9b1242b" }, "darcula-solid.nvim": { "branch": "main", "commit": "d950b9ca20096313c435a93e57af7815766f3d3d" }, "darkstorm.nvim": { "branch": "master", "commit": "bab84a698e5a7bec92bd9d24acbd54554502e35e" }, + "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" }, "friendly-snippets": { "branch": "main", "commit": "682157939e57bd6a2c86277dfd4d6fbfce63dbac" }, "ftFT.nvim": { "branch": "master", "commit": "f3e43c9584e14b27f04c27a95a9d9f0e58dfec02" }, "github-nvim-theme": { "branch": "main", "commit": "4f44a5c930372c85483d02700f332d34417e50b2" }, + "gitsigns.nvim": { "branch": "main", "commit": "82bc6225e958411a6846b27ac7c21bf8af1f72e4" }, "harpoon": { "branch": "harpoon2", "commit": "0378a6c428a0bed6a2781d459d7943843f374bce" }, "inc-rename.nvim": { "branch": "main", "commit": "535b508c0cb14d00c1836ad901b3c531cb1152bb" }, "indent-blankline.nvim": { "branch": "master", "commit": "4288ce8128a52650e401dda42fd7651a6038f262" }, @@ -40,6 +42,7 @@ "nvim-treesitter": { "branch": "master", "commit": "2e9c346aefda680bd14ebf40a50c2897fd637bc2" }, "nvim-web-devicons": { "branch": "master", "commit": "c0cfc1738361b5da1cd0a962dd6f774cc444f856" }, "obsidian.nvim": { "branch": "main", "commit": "f0bc495b4a3852a83b48636e9f564586f5e2d29e" }, + "octo.nvim": { "branch": "master", "commit": "7731ca4e31b32c176a383642ffcd7d593ac17774" }, "oil.nvim": { "branch": "master", "commit": "65c53dbe4f2140236590a7568a5f22a77d16be39" }, "okai": { "branch": "main", "commit": "b028c2916c39b1c4ad53756d262f9d0576edac87" }, "plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" }, @@ -49,6 +52,7 @@ "telescope.nvim": { "branch": "master", "commit": "d90956833d7c27e73c621a61f20b29fdb7122709" }, "todo-comments.nvim": { "branch": "main", "commit": "51e10f838e84b4756c16311d0b1ef0972c6482d2" }, "tokyonight.nvim": { "branch": "main", "commit": "81c867c5f638597a82c82094dcb90ed42444dabc" }, + "vim-fugitive": { "branch": "master", "commit": "d0c1a437536778bcc8174b7cb2ffdf98f611e6fe" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, "vim-tmux-navigator": { "branch": "master", "commit": "5b3c701686fb4e6629c100ed32e827edf8dad01e" }, "which-key.nvim": { "branch": "main", "commit": "0099511294f16b81c696004fa6a403b0ae61f7a0" } diff --git a/.config/nvim/lua/plugins/comment.lua b/.config/nvim/lua/plugins/comment.lua index 6e9a55e..02eb39d 100644 --- a/.config/nvim/lua/plugins/comment.lua +++ b/.config/nvim/lua/plugins/comment.lua @@ -16,7 +16,6 @@ return { config = function() local api = require('Comment.api') local esc = vim.api.nvim_replace_termcodes('', true, false, true) - -- TODO: Stay in visual mode and keep the same selection even after commenting local toggole_linewise_selection = function() vim.api.nvim_feedkeys(esc, 'nx', false) api.toggle.linewise(vim.fn.visualmode()) diff --git a/.config/nvim/lua/plugins/completions.lua b/.config/nvim/lua/plugins/completions.lua index 0244f1d..610511e 100644 --- a/.config/nvim/lua/plugins/completions.lua +++ b/.config/nvim/lua/plugins/completions.lua @@ -30,6 +30,7 @@ return { end, }, window = { + -- TODO: remove border for completions completion = cmp.config.window.bordered(), documentation = cmp.config.window.bordered(), }, diff --git a/.config/nvim/lua/plugins/git.lua b/.config/nvim/lua/plugins/git.lua new file mode 100644 index 0000000..bd022b9 --- /dev/null +++ b/.config/nvim/lua/plugins/git.lua @@ -0,0 +1,28 @@ +return { + { + 'lewis6991/gitsigns.nvim', + config = function() + require('gitsigns').setup() + vim.keymap.set('n', 'gp', ':Gitsigns preview_hunk', { desc = '[G]it [P]review' }) + vim.keymap.set('n', 'gb', ':Gitsigns toggle_current_line_blame', { desc = '[G]it [B]lame' }) + end, + }, + { 'tpope/vim-fugitive' }, + { 'sindrets/diffview.nvim' }, + { + 'pwntester/octo.nvim', + config = function() + require('octo').setup() + vim.treesitter.language.register('markdown', 'octo') + + vim.api.nvim_create_autocmd('FileType', { + pattern = 'octo', + callback = function() + vim.keymap.set('i', '@', '@', { silent = true, buffer = true }) + vim.keymap.set('i', '#', '#', { silent = true, buffer = true }) + end, + }) + vim.keymap.set('n', 'gi', ':Octo issue search', { desc = '[G]thub [I]ssues' }) + end, + }, +} diff --git a/.config/nvim/lua/plugins/neotree.lua b/.config/nvim/lua/plugins/neotree.lua index 61968e7..ab4db82 100644 --- a/.config/nvim/lua/plugins/neotree.lua +++ b/.config/nvim/lua/plugins/neotree.lua @@ -7,6 +7,6 @@ return { 'MunifTanjim/nui.nvim', }, config = function() - vim.keymap.set('n', 'gp', ':Neotree toggle reveal left', { desc = '[G]oto [P]roject (toggle)' }) + vim.keymap.set('n', 'nt', ':Neotree toggle reveal left', { desc = '[N]eotree [T]oggle' }) end, } diff --git a/.config/nvim/lua/plugins/oil.lua b/.config/nvim/lua/plugins/oil.lua index b4b3b69..eeeb327 100644 --- a/.config/nvim/lua/plugins/oil.lua +++ b/.config/nvim/lua/plugins/oil.lua @@ -4,7 +4,6 @@ return { opts = {}, config = function () require("oil").setup() - vim.keymap.set('n', 'gp', ':Oil --float', { desc = '[G]oto [P]roject (floating)' }) - vim.keymap.set('n', 'of', ':Oil --float', { desc = '[G]oto [P]roject (floating)' }) + vim.keymap.set('n', 'of', ':Oil --float', { desc = '[O]il [F]ilesystem' }) end }