From e4189180effb1ab481712c1a06c37032f0598fa0 Mon Sep 17 00:00:00 2001 From: spike Date: Tue, 25 Oct 2022 23:34:44 +0200 Subject: [PATCH] gitsigns mappings + tweaks --- lua/core/mappings.lua | 1460 ++++++++++++----------- lua/custom/chadrc.lua | 2 +- lua/custom/plugins/configs/gitsigns.lua | 32 + lua/custom/plugins/init.lua | 100 +- lua/custom/utils.lua | 1 + lua/plugins/configs/cmp.lua | 5 +- lua/plugins/configs/others.lua | 22 - lua/plugins/init.lua | 11 - 8 files changed, 838 insertions(+), 795 deletions(-) create mode 100644 lua/custom/plugins/configs/gitsigns.lua diff --git a/lua/core/mappings.lua b/lua/core/mappings.lua index 46a49d5..b33b0e6 100644 --- a/lua/core/mappings.lua +++ b/lua/core/mappings.lua @@ -9,7 +9,7 @@ end local M = {} M.general = { --{{{ - i = {--{{{ + i = { --{{{ ["jk"] = { "", "escape" }, @@ -24,10 +24,10 @@ M.general = { --{{{ -- luasnip change choice [""] = { "luasnip-next-choice", "change luasnip choice" }, -- [""] = { "lua require('luasnip.extras.select_choice')()", "change luasnip choice" }, - },--}}} + }, --}}} - n = {--{{{ - [""] = { + n = { --{{{ + [""] = { function() if vim.o.filetype == "qf" then vim.cmd("q") @@ -51,7 +51,7 @@ M.general = { --{{{ [""] = { "res +2 ", "window height +" }, [""] = { "res -2 ", "window height -" }, - ["="] = { "=", "adjust viewports "}, + ["="] = { "=", "adjust viewports " }, -- quit dont save ["qq"] = { " quitall! ", "quit/close all windows, don't save" }, @@ -85,9 +85,9 @@ M.general = { --{{{ -- option toggle cursor line ["l"] = { " set cul!", "toggle line number" }, - ["c"] = {"ccloselclose", "close quickfix"}, + ["c"] = { "ccloselclose", "close quickfix" }, - ["d"] = {"DelayTrainToggle", "disable delay train"}, + ["d"] = { "DelayTrainToggle", "disable delay train" }, @@ -96,8 +96,8 @@ M.general = { --{{{ -- lua source current file - ["."] = {" :w | source %", "save and source script "}, - ["rm"] = { function () + ["."] = { " :w | source %", "save and source script " }, + ["rm"] = { function() local ok, core = pcall(require, "core") if not ok then return @@ -108,10 +108,10 @@ M.general = { --{{{ require("plenary.reload").reload_module("core.mappings") require("core.utils").load_mappings() print("mappings reloaded !") - end, "config reload mappings"}, + end, "config reload mappings" }, - ["ss"] = { " mks! ", "save session"}, - ["sl"] = { " source Session.vim ", "load session"}, + ["ss"] = { " mks! ", "save session" }, + ["sl"] = { " source Session.vim ", "load session" }, ["tt"] = { function() @@ -146,7 +146,7 @@ M.general = { --{{{ [""] = { " tabe ", "new tab" }, - -- Fast tab NOTE:these are used for screen movements + -- Fast tab NOTE:these are used for screen movements -- [""] = { "gT", "Previous tab" }, -- [""] = { "gt", "Previous tab" }, @@ -159,8 +159,8 @@ M.general = { --{{{ }, -- quick close window - [""] = {"c", "close window"}, - + [""] = { "c", "close window" }, + -- Increase number is with double and decrease with simple C-x @@ -171,133 +171,133 @@ M.general = { --{{{ -- folding levels -- ["fd"] = { function() - -- vim.ui.select({"fold level 0", "1", "2", "3", "4", "5", "6", "7"}, - -- { - -- prompt = "fold lvl: ", - -- }, - -- function(item, idx) - -- P(idx) - -- -- local foldlevel = tonumber(item) - -- -- if foldlevel == nil then P("need number for fold level !") end - -- -- vim.o.foldlevel = foldlevel - -- end) - -- end, - -- - -- "set fold level"}, - ["f0"] = { ":set foldlevel=0", "set fold level" }, - ["f1"] = { ":set foldlevel=1", "set fold level" }, - ["f2"] = { ":set foldlevel=2", "set fold level" }, - ["f3"] = { ":set foldlevel=3", "set fold level" }, - ["f4"] = { ":set foldlevel=4", "set fold level" }, - -- ["f5"] = { ":set foldlevel=5", "set fold level" }, - -- ["f6"] = { ":set foldlevel=6", "set fold level" }, - -- ["f7"] = { ":set foldlevel=7", "set fold level" }, - -- ["f8"] = { ":set foldlevel=8", "set fold level" }, - -- ["f9"] = { ":set foldlevel=9", "set fold level" }, + -- vim.ui.select({"fold level 0", "1", "2", "3", "4", "5", "6", "7"}, + -- { + -- prompt = "fold lvl: ", + -- }, + -- function(item, idx) + -- P(idx) + -- -- local foldlevel = tonumber(item) + -- -- if foldlevel == nil then P("need number for fold level !") end + -- -- vim.o.foldlevel = foldlevel + -- end) + -- end, + -- + -- "set fold level"}, + ["f0"] = { ":set foldlevel=0", "set fold level" }, + ["f1"] = { ":set foldlevel=1", "set fold level" }, + ["f2"] = { ":set foldlevel=2", "set fold level" }, + ["f3"] = { ":set foldlevel=3", "set fold level" }, + ["f4"] = { ":set foldlevel=4", "set fold level" }, + -- ["f5"] = { ":set foldlevel=5", "set fold level" }, + -- ["f6"] = { ":set foldlevel=6", "set fold level" }, + -- ["f7"] = { ":set foldlevel=7", "set fold level" }, + -- ["f8"] = { ":set foldlevel=8", "set fold level" }, + -- ["f9"] = { ":set foldlevel=9", "set fold level" }, - ["tf"] = { " set foldmethod=expr| set foldexpr=nvim_treesitter#foldexpr()", - "enable Treesitter folding"}, + ["tf"] = { " set foldmethod=expr| set foldexpr=nvim_treesitter#foldexpr()", + "enable Treesitter folding" }, - ["tp"]= { - function() - vim.cmd("TSPlaygroundToggle") - end, - "Treesitter playground" - }, + ["tp"] = { + function() + vim.cmd("TSPlaygroundToggle") + end, + "Treesitter playground" + }, - -- Moving lines around - [""] = {":m +1==", "move line up"}, - [""] = {":m .-2==", "move line up"}, + -- Moving lines around + [""] = { ":m +1==", "move line up" }, + [""] = { ":m .-2==", "move line up" }, - -- syntax-tree-surfer - -- visual selection from nomral mode - ["vm"] = {"STSSelectMasterNode", "select master node"}, - ["vn"] = {"STSSelectCurrentNode", "select master node"}, + -- syntax-tree-surfer + -- visual selection from nomral mode + ["vm"] = { "STSSelectMasterNode", "select master node" }, + ["vn"] = { "STSSelectCurrentNode", "select master node" }, - -- normal mode swapping - -- swappint up/down + -- normal mode swapping + -- swappint up/down - ["vU"] = {function() - vim.opt.opfunc = "v:lua.STSSwapUpNormal_Dot" - return "g@l" - end, "TS swap Up master node with sibling", opts = { expr = true}}, - [""] = {function() - vim.opt.opfunc = "v:lua.STSSwapUpNormal_Dot" - return "g@l" - end, "TS swap Up master node with sibling", opts = { expr = true}}, + ["vU"] = { function() + vim.opt.opfunc = "v:lua.STSSwapUpNormal_Dot" + return "g@l" + end, "TS swap Up master node with sibling", opts = { expr = true } }, + [""] = { function() + vim.opt.opfunc = "v:lua.STSSwapUpNormal_Dot" + return "g@l" + end, "TS swap Up master node with sibling", opts = { expr = true } }, - ["vD"] = {function() - vim.opt.opfunc = "v:lua.STSSwapDownNormal_Dot" - return "g@l" - end, "TS swap Down master node with sibling", opts = { expr = true}}, - [""] = {function() - vim.opt.opfunc = "v:lua.STSSwapDownNormal_Dot" - return "g@l" - end, "TS swap Down master node with sibling", opts = { expr = true}}, - - - -- swapping left/right sibling nodes - [""] = {function() - vim.opt.opfunc = "v:lua.STSSwapCurrentNodeNextNormal_Dot" - return "g@l" - end, "TS swap right with sibling", opts = { expr = true}}, - - [""] = {function() - vim.opt.opfunc = "v:lua.STSSwapCurrentNodePrevNormal_Dot" - return "g@l" - end, "TS swap left with sibling", opts = { expr = true}}, - - ["]e"] = { " cn ", "quickfix next error" }, - ["[e"] = { " cp ", "quickfix previous error" }, + ["vD"] = { function() + vim.opt.opfunc = "v:lua.STSSwapDownNormal_Dot" + return "g@l" + end, "TS swap Down master node with sibling", opts = { expr = true } }, + [""] = { function() + vim.opt.opfunc = "v:lua.STSSwapDownNormal_Dot" + return "g@l" + end, "TS swap Down master node with sibling", opts = { expr = true } }, - -- Tabularize mappings - ["a&"] = { " Tabularize /&" }, - ["a="] = { " Tabularize /^[^=]*\zs=" }, - ["a:"] = { " Tabularize /:" }, - ["a,"] = { " Tabularize /," }, - ["a"] = { " Tabularize /" }, + -- swapping left/right sibling nodes + [""] = { function() + vim.opt.opfunc = "v:lua.STSSwapCurrentNodeNextNormal_Dot" + return "g@l" + end, "TS swap right with sibling", opts = { expr = true } }, + + [""] = { function() + vim.opt.opfunc = "v:lua.STSSwapCurrentNodePrevNormal_Dot" + return "g@l" + end, "TS swap left with sibling", opts = { expr = true } }, + + ["]e"] = { " cn ", "quickfix next error" }, + ["[e"] = { " cp ", "quickfix previous error" }, - ["g."] = { ":cwd", "change dir to current file", opts = { remap = true } }, - ["g."] = { ":Gcd", "change dir to git root" }, + -- Tabularize mappings + ["a&"] = { " Tabularize /&" }, + ["a="] = { " Tabularize /^[^=]*\zs=" }, + ["a:"] = { " Tabularize /:" }, + ["a,"] = { " Tabularize /," }, + ["a"] = { " Tabularize /" }, - -- Packer commands - -- - -- PackerSnapshot - ["pS"] = { function() - local snapname = "snapshot_" .. os.date("%Y_%m_%d_%H%M") - local packer = require 'packer' - packer.snapshot(snapname) - end - , "packer snapshot"}, - ["pst"] = { " PackerStatus", "packer status"}, - ["psc"] = { " PackerSync", "packer sync"}, - ["pc"] = { " PackerCompile", "packer compile"}, - ["pr"] = { function() + ["g."] = { ":cwd", "change dir to current file", opts = { remap = true } }, + ["g."] = { ":Gcd", "change dir to git root" }, - -- require("plenary.reload").reload_module("plugins") - -- require("plenary.reload").reload_module("custom.plugins") - -- vim.cmd "LuaCacheClear" - -- package.loaded["plugins"] = nil - -- - -- package.loaded["custom.plugins"] = nil - -- dofile(vim.fn.stdpath("config") .. '/lua/plugins/init.lua') - -- dofile(vim.fn.stdpath("config") .. '/lua/custom/plugins/init.lua') - -- - require("spike.utils").unload_lua_ns("plugins") - require("spike.utils").unload_lua_ns("custom") - require("plugins") - -- require("spike.utils").unload_lua_ns("custom") - vim.cmd "PackerCompile" - print("reloaded plugin config !") - end, - "packer reload/compile" - }, + -- Packer commands + -- + -- PackerSnapshot + ["pS"] = { function() + local snapname = "snapshot_" .. os.date("%Y_%m_%d_%H%M") + local packer = require 'packer' + packer.snapshot(snapname) + end + , "packer snapshot" }, + ["pst"] = { " PackerStatus", "packer status" }, + ["psc"] = { " PackerSync", "packer sync" }, + ["pc"] = { " PackerCompile", "packer compile" }, - -- Notify cmd watcher (see /scripts/utils/fifo_watch.sh) - --[[ [""] = { + ["pr"] = { function() + + -- require("plenary.reload").reload_module("plugins") + -- require("plenary.reload").reload_module("custom.plugins") + -- vim.cmd "LuaCacheClear" + -- package.loaded["plugins"] = nil + -- + -- package.loaded["custom.plugins"] = nil + -- dofile(vim.fn.stdpath("config") .. '/lua/plugins/init.lua') + -- dofile(vim.fn.stdpath("config") .. '/lua/custom/plugins/init.lua') + -- + require("spike.utils").unload_lua_ns("plugins") + require("spike.utils").unload_lua_ns("custom") + require("plugins") + -- require("spike.utils").unload_lua_ns("custom") + vim.cmd "PackerCompile" + print("reloaded plugin config !") + end, + "packer reload/compile" + }, + + -- Notify cmd watcher (see /scripts/utils/fifo_watch.sh) + --[[ [""] = { function() local fifo_patch = "/tmp/fifo_vimnotify" os.execute("echo do >" .. fifo_patch) @@ -306,603 +306,605 @@ M.general = { --{{{ }, ]] - -- TODO: move to lspconfig section - -- ["lsp"] = { " lua require('custom.plugins.configs.navigator').enable()", "lsp enable"}, - ["lsp"] = { " LspStart", "lsp enable"}, - [""] = { " LspStart", "lsp enable"}, - [""] = { " LspStop", "lsp disable"}, - ["lst"] = { " LspStop", "lsp disable"}, - - - - --------------- - -- Programming languages specifics - --------------- - - -- config files - ["ev"] = {" source ~/.config/nvim/Session.vim" , "edit vim config"}, - },--}}} - - t = { [""] = { termcodes "", "escape terminal mode" } }, - - v = {--{{{ - -- ["j"] = { 'v:count || mode(1)[0:1] == "no" ? "j" : "gj"', opts = { expr = true } }, - -- ["k"] = { 'v:count || mode(1)[0:1] == "no" ? "k" : "gk"', opts = { expr = true } }, - ["j"] = { "gj" }, - ["k"] = { "gk" }, - - - -- yank from cursor to eol to system and primary clipboard - ["y"] = { '"*y gv"+y', "yank line to clipboards" }, - - -- visual shifting - ["<"] = { ""] = { ">gv" }, - - -- Allow using the repeat operator with a visual selection (!) - -- http://stackoverflow.com/a/8064607/127816 - ["."] = { ":normal .", opts = { silent = true } }, - - -- Tabularize mappings - ["a&"] = { " Tabularize /&" }, - ["a="] = { " Tabularize /^[^=]*\zs=" }, - ["a:"] = { " Tabularize /:" }, - ["a,"] = { " Tabularize /," }, - ["a"] = { " Tabularize /" }, - - },--}}} - - -- command line mappings - c = {--{{{ - ["Tabe"] = { "tabe" }, - - -- Change Working Directory to that of the current file - ["cwd"] = { "lcd %:p:h", "change dir to current file" }, - ["cd."] = { "lcd %:p:h", "change dir to current file" }, - ["w!!"] = { "w !doas tee %", "write file with root perms" }, - ["%%"] = { "=fnameescape(expand('%:h')).'/'", - "alias to current working dir"}, - ["Tab"] = { "Tabularize"}, - - - ["%c"] = { "~/.config/nvim/", "shortcut to nvim config dir"}, - -- ["tsf"] = { "set foldmethod=expr | set foldexpr=nvim_treesitter#foldexpr()", - -- "enable Treesitter folding"} - },--}}} - - -- visual exclusive mode (ignore select) - x = { -- {{{ - - -- Don't copy the replaced text after pasting in visual mode - -- https://vim.fandom.com/wiki/Replace_a_word_with_yanked_text#Alternative_mapping_for_paste - ["p"] = { 'p:let @+=@0:let @"=@0', opts = { silent = true } }, - - -- syntax-tree-surfer - ["J"] = {"STSSelectNextSiblingNode", "select next sibling node"}, - ["K"] = {"STSSelectPrevSiblingNode", "select prev sibling node"}, - ["H"] = {"STSSelectParentNode", "select prev sibling node"}, - ["L"] = {"STSSelectChildNode", "select prev sibling node"}, - - -- swap nodes tip: start first with master/child node selection then use these - [""] = {"STSSwapPrevVisual", "select prev sibling node"}, - [""] = {"STSSwapPrevVisual", "select prev sibling node"}, - [""] = {"STSSwapNextVisual", "select next sibling node"}, - [""] = {"STSSwapNextVisual", "select next sibling node"}, - - },-- }}} - } --}}} - - M.tabufline = { --{{{ - plugin = true, - - n = { - -- cycle through buffers - [""] = { - function() - require("core.utils").tabuflineNext() - end, - "goto next buffer", - }, - - [""] = { - function() - require("core.utils").tabuflinePrev() - end, - "goto prev buffer", - }, - - -- pick buffers via numbers - [""] = { " TbufPick ", "Pick buffer" }, - }, - } --}}} - - M.comment = { --{{{ - plugin = true, - - -- toggle comment in both modes - n = { - ["/"] = { - function() - -- require("Comment.api").toggle.linewise.current() - vim.notify("use gcc !") - end, - "toggle comment", - }, - }, - - v = { - ["/"] = { - function() - vim.notify("use gcc !") - end, - -- "lua require('Comment.api').toggle.linewise(vim.fn.visualmode())", - "toggle comment", - }, - }, - } --}}} - - M.lspconfig = { --{{{ - plugin = true, - - -- See ` :help vim.lsp.*` for documentation on any of the below functions - - n = { - ["gD"] = { - function() - vim.lsp.buf.declaration() - end, - "lsp declaration", - }, - - ["gd"] = { - function() - vim.lsp.buf.definition() - end, - "lsp definition", - }, - - ["K"] = { - function() - vim.lsp.buf.hover() - end, - "lsp hover", - }, - - ["gm"] = { - function() - vim.lsp.buf.implementation() - end, - "lsp implementation", - }, - - ["ls"] = { - function() - vim.lsp.buf.signature_help() - end, - "lsp signature_help", - }, - - ["D"] = { - function() - vim.lsp.buf.type_definition() - end, - "lsp definition type", - }, - - ["ra"] = { - function() - require("nvchad_ui.renamer").open() - end, - "lsp rename", - }, - - ["ca"] = { - function() - vim.lsp.buf.code_action() - end, - "lsp code_action", - }, - - ["gr"] = { - function() - vim.lsp.buf.references() - end, - "lsp references", - }, - - ["f"] = { - function() - vim.diagnostic.open_float() - end, - "lsp floating diagnostic", - }, - - ["[d"] = { - function() - vim.diagnostic.goto_prev() - end, - "lsp goto prev", - }, - - ["d]"] = { - function() - vim.diagnostic.goto_next() - end, - "lsp goto_next", - }, - - ["q"] = { - function() - vim.diagnostic.setloclist() - end, - "lsp diagnostic setloclist", - }, - - ["fm"] = { - function() - vim.lsp.buf.formatting {} - end, - "lsp formatting", - }, - - ["wa"] = { - function() - vim.lsp.buf.add_workspace_folder() - end, - "lsp add workspace folder", - }, - - ["wr"] = { - function() - vim.lsp.buf.remove_workspace_folder() - end, - "lsp remove workspace folder", - }, - - ["wl"] = { - function() - print(vim.inspect(vim.lsp.buf.list_workspace_folders())) - end, - "lsp list workspace folders", - }, - }, - } --}}} - - M.dap = {-- {{{ - plugin = true, - n = { - ["ds"] = { - function() - local mydap = require("spike.dap") - - mydap.setup() - require('spike.dap.utils').init_breakpoints() - -- set a breakpoint at current line if there are none in - -- the project - - if vim.o.filetype == "go" then - mydap.go_debug() - elseif vim.o.filetype == "rust" then - local rt = require("rust-tools") - -- make sure lsp is running ? - rt.debuggables.debuggables() - end - end, - "start dap session" - }, - - ["dS"] = { - function() - if vim.o.filetype == "go" then - vim.cmd("GoDbgStop") - end - end, - "stop dap session" - }, - - ["dd"] = {" DapToggleBreakpoint "}, - - ["dc"] = { - function() - vim.ui.input({ prompt = "condition> "}, function(input) - require("dap").set_breakpoint(input) - end) - end, - "dap conditional breakpoint" - }, - ["dm"] = { - function() - require('spike.dap.dapmode').start() - end, - "enter dap mode" - }, - ["dr"] = {"lua require'dap'.run_last()", "[dap] rerun last"}, - ["dl"] = { - function() - require('spike.dap.utils').dap_logpoint() - end, - "[dap] add log point" - }, - ["dt"] = {"lua require'dapui'.toggle()", "[dap] toggle UI"}, - }, - - }-- }}} - - M.nvimtree = { --{{{ - plugin = true, - - n = { - -- toggle - [""] = { " NvimTreeToggle ", "toggle nvimtree" }, - }, - } --}}} - - M.fzf_lua = { --{{{ - plugin = true, - - n = { - -- find - -- [""] = { " FzfLua files ", "FzfLua find files" }, - -- [""] = { function () - -- local ignored_bufs = { - -- "qf", - -- } - -- for _, ignored in ipairs(ignored_bufs) do - -- if vim.bo.filetype == ignored then - -- local default_keyseq = termcodes("") - -- vim.api.nvim_feedkeys(default_keyseq, 'n', false) - -- return - -- end - -- end - -- vim.cmd "FzfLua files" - -- end, "FzfLua find files" }, - - ["fl"] = { " FzfLua lines ", "FzfLua grep open buffer lines" }, - - -- grep - -- ["fw"] = { " FzfLua grep_cword ", "FzfLua grep cword" }, - -- ["f."] = { " FzfLua live_grep_native ", "FzfLua grep live native" }, - -- ["ff"] = { " FzfLua grep_project ", "FzfLua grep live project" }, - ["f*"] = { " FzfLua live_grep_glob ", "FzfLua grep with glob (SPACE-- globs)" }, - - -- continue - -- ["fr"] = { " FzfLua resume ", "FzfLua resume last search" }, - - -- [";"] = { " FzfLua buffers ", "FzfLua find buffers" }, - -- ["fb"] = { " FzfLua builtin ", "FzfLua builtins" }, - -- ["fh"] = { " FzfLua help_tags ", "FzfLua find help pages" }, - -- ["fm"] = { " FzfLua marks ", "FzfLua marks" }, - -- ["fo"] = { " FzfLua oldfiles ", "FzfLua find oldfiles" }, - -- ["tk"] = { " FzfLua keymaps ", "FzfLua show keymaps" }, - - } - } --}}} - - M.telescope = { --{{{ - plugin = true, - - n = { - -- find - -- ["ff"] = { " Telescope find_files ", "find files" }, - -- [""] = { " Telescope find_files ", "find files" }, - -- - ["fa"] = { " Telescope find_files follow=true no_ignore=true hidden=true ", "find all" }, - [""] = { - function () - local ignored_bufs = { - "qf", - "guihua", - "NvimT*" - } - for _, ignored in ipairs(ignored_bufs) do - if vim.o.filetype:match(ignored) then - local default_keyseq = termcodes("") - vim.api.nvim_feedkeys(default_keyseq, 'n', false) - return - end - end - vim.cmd "Telescope find_files" - end, "FzfLua find files" }, - ["f."] = { " Telescope live_grep ", "telescope live grep" }, - ["fw"] = { " Telescope grep_string ", "telescope grep cword" }, - [";"] = { " Telescope buffers ", "telescope find buffers" }, - ["fb"] = { " Telescope builtin ", "telescope builtins" }, - ["fB"] = { " Telescope vim_bookmarks ", "telescope bookmarks" }, - ["fh"] = { " Telescope help_tags ", "help page" }, - ["fo"] = { " Telescope oldfiles ", "telescope find oldfiles" }, - ["fm"] = { " Telescope marks ", "Telescope marks" }, - ["fM"] = { " Telescope man_pages ", "Telescope marks" }, - ["tk"] = { " Telescope keymaps ", "Telescope show keys" }, - ["fr"] = { " Telescope resume ", "telescope resume last search" }, - ["fc"] = { " Telescope commands ", "telescope commands" }, - - -- git - ["fg"] = { " ", "telescope git commands" }, - ["fgc"] = { " Telescope git_commits ", "teles git commits" }, - ["fgs"] = { " Telescope git_status ", "teles git status" }, - ["fgf"] = { " Telescope git_files ", "teles git files" }, - - -- pick a hidden term - -- ["pt"] = { " Telescope terms ", "pick hidden term" }, - - -- theme switcher - ["th"] = { " Telescope themes ", "nvchad themes" }, - }, - } --}}} - - M.nvterm = { --{{{ - plugin = true, - - t = { - -- toggle in terminal mode - [""] = { - function() - require("nvterm.terminal").toggle "float" - end, - "toggle floatinvg term", - }, - - [""] = { - function() - require("nvterm.terminal").toggle "horizontal" - end, - "toggle horizontal term", - }, - }, - - n = { - -- toggle in normal mode - [""] = { - function() - require("nvterm.terminal").toggle "float" - end, - "toggle floating term", - }, - - [""] = { - function() - require("nvterm.terminal").toggle "horizontal" - end, - "toggle horizontal term", - }, - - [""] = { - function() - require("nvterm.terminal").toggle "vertical" - end, - "toggle vertical term", - }, - - -- new - - ["h"] = { - function() - require("nvterm.terminal").new "horizontal" - end, - "new horizontal term", - }, - - ["v"] = { - function() - require("nvterm.terminal").new "vertical" - end, - "new vertical term", - }, - }, - } --}}} - - M.whichkey = { --{{{ - plugin = true, - - n = { - ["wK"] = { - function() - vim.cmd "WhichKey" - end, - "which-key all keymaps", - }, - ["wk"] = { - function() - local input = vim.fn.input "WhichKey: " - vim.cmd("WhichKey " .. input) - end, - "which-key query lookup", - }, - }, - } --}}} - - M.blankline = { --{{{ - plugin = true, - - n = { - ["k"] = { - function() - local ok, start = require("indent_blankline.utils").get_current_context( - vim.g.indent_blankline_context_patterns, - vim.g.indent_blankline_use_treesitter_scope - ) - - if ok then - vim.api.nvim_win_set_cursor(vim.api.nvim_get_current_win(), { start, 0 }) - vim.cmd [[normal! _]] - end - end, - - "Jump to current context", - }, - }, - } --}}} - - -- code outline panel - M.aerial = { - plugin = true, - n = { - [""] = {" AerialToggle! right"}, - } - } - - M.asyncrun = { --{{{ - plugin = true, - - n = { - -- TODO: find new mapping to close quickfix - -- ["``"] = { " call asyncrun#quickfix_toggle(8)", "toggle quickfix window" }, - ["m"] = { ":AsyncRun -program=" .. vim.o.makeprg .. "", "make using asyncrun" }, - ["ar"] = { ":AsyncRun ", "custom asyncrun command" }, - ["pd"] = { " AsyncRun lpr -P PDF_PRINT %", "PDF print file" }, - ["pp"] = { " AsyncRun lpr %" }, - }, - } --}}} - - M.vim_bookmarks = {--{{{ - n = { - ["m"] = {" Telescope vim_bookmarks", "show bookmarks"}, - ["mk"] = {" BookmarkToggle", "toggle bookmarks"}, - ["mm"] = {" BookmarkAnnotate", "annotation bookmarks"}, - ["mc"] = {" BookmarkClear", "clear bookmarks in buffer"}, - ["mx"] = {" BookmarkClearAll", "clear bookmarks in all buffers"}, - ["]b"] = {"BookmarkNext", "jump to next bookmark"}, - ["[b"] = {"BookmarkNext", "jump to prev bookmark"}, - }, - }--}}} - - M.iron = {-- {{{{{{ - plugin = true, - n = { - ["ir"] = {"IronRepl", "start IronRepl"}, - } - } + -- TODO: move to lspconfig section + -- ["lsp"] = { " lua require('custom.plugins.configs.navigator').enable()", "lsp enable"}, + ["lsp"] = { " LspStart", "lsp enable" }, + [""] = { " LspStart", "lsp enable" }, + [""] = { " LspStop", "lsp disable" }, + ["lst"] = { " LspStop", "lsp disable" }, + + + + --------------- + -- Programming languages specifics + --------------- + + -- config files + ["ev"] = { " source ~/.config/nvim/Session.vim", "edit vim config" }, + }, --}}} + + t = { [""] = { termcodes "", "escape terminal mode" } }, + + v = { --{{{ + + + -- yank from cursor to eol to system and primary clipboard + ["y"] = { '"*y gv"+y', "yank line to clipboards" }, + + -- visual shifting + ["<"] = { ""] = { ">gv" }, + + -- Allow using the repeat operator with a visual selection (!) + -- http://stackoverflow.com/a/8064607/127816 + ["."] = { ":normal .", opts = { silent = true } }, + + -- Tabularize mappings + ["a&"] = { " Tabularize /&" }, + ["a="] = { " Tabularize /^[^=]*\zs=" }, + ["a:"] = { " Tabularize /:" }, + ["a,"] = { " Tabularize /," }, + ["a"] = { " Tabularize /" }, + + }, --}}} + + -- command line mappings + c = { --{{{ + ["Tabe"] = { "tabe" }, + + -- Change Working Directory to that of the current file + ["cwd"] = { "lcd %:p:h", "change dir to current file" }, + ["cd."] = { "lcd %:p:h", "change dir to current file" }, + ["w!!"] = { "w !doas tee %", "write file with root perms" }, + ["%%"] = { "=fnameescape(expand('%:h')).'/'", + "alias to current working dir" }, + ["Tab"] = { "Tabularize" }, + + + ["%c"] = { "~/.config/nvim/", "shortcut to nvim config dir" }, + -- ["tsf"] = { "set foldmethod=expr | set foldexpr=nvim_treesitter#foldexpr()", + -- "enable Treesitter folding"} + }, --}}} + + -- visual exclusive mode (ignore select) + x = { -- {{{ + + -- ["j"] = { 'v:count || mode(1)[0:1] == "no" ? "j" : "gj"', opts = { expr = true } }, + -- ["k"] = { 'v:count || mode(1)[0:1] == "no" ? "k" : "gk"', opts = { expr = true } }, + ["j"] = { "gj" }, + ["k"] = { "gk" }, + + -- Don't copy the replaced text after pasting in visual mode + -- https://vim.fandom.com/wiki/Replace_a_word_with_yanked_text#Alternative_mapping_for_paste + ["p"] = { 'p:let @+=@0:let @"=@0', opts = { silent = true } }, + + -- syntax-tree-surfer + ["J"] = { "STSSelectNextSiblingNode", "select next sibling node" }, + ["K"] = { "STSSelectPrevSiblingNode", "select prev sibling node" }, + ["H"] = { "STSSelectParentNode", "select prev sibling node" }, + ["L"] = { "STSSelectChildNode", "select prev sibling node" }, + + -- swap nodes tip: start first with master/child node selection then use these + [""] = { "STSSwapPrevVisual", "select prev sibling node" }, + [""] = { "STSSwapPrevVisual", "select prev sibling node" }, + [""] = { "STSSwapNextVisual", "select next sibling node" }, + [""] = { "STSSwapNextVisual", "select next sibling node" }, + + }, -- }}} +} --}}} + +M.tabufline = { --{{{ + plugin = true, + + n = { + -- cycle through buffers + [""] = { + function() + require("core.utils").tabuflineNext() + end, + "goto next buffer", + }, + + [""] = { + function() + require("core.utils").tabuflinePrev() + end, + "goto prev buffer", + }, + + -- pick buffers via numbers + [""] = { " TbufPick ", "Pick buffer" }, + }, +} --}}} + +M.comment = { --{{{ + plugin = true, + + -- toggle comment in both modes + n = { + ["/"] = { + function() + -- require("Comment.api").toggle.linewise.current() + vim.notify("use gcc !") + end, + "toggle comment", + }, + }, + + v = { + ["/"] = { + function() + vim.notify("use gcc !") + end, + -- "lua require('Comment.api').toggle.linewise(vim.fn.visualmode())", + "toggle comment", + }, + }, +} --}}} + +M.lspconfig = { --{{{ + plugin = true, + + -- See ` :help vim.lsp.*` for documentation on any of the below functions + + n = { + ["gD"] = { + function() + vim.lsp.buf.declaration() + end, + "lsp declaration", + }, + + ["gd"] = { + function() + vim.lsp.buf.definition() + end, + "lsp definition", + }, + + ["K"] = { + function() + vim.lsp.buf.hover() + end, + "lsp hover", + }, + + ["gm"] = { + function() + vim.lsp.buf.implementation() + end, + "lsp implementation", + }, + + ["ls"] = { + function() + vim.lsp.buf.signature_help() + end, + "lsp signature_help", + }, + + ["D"] = { + function() + vim.lsp.buf.type_definition() + end, + "lsp definition type", + }, + + ["ra"] = { + function() + require("nvchad_ui.renamer").open() + end, + "lsp rename", + }, + + ["ca"] = { + function() + vim.lsp.buf.code_action() + end, + "lsp code_action", + }, + + ["gr"] = { + function() + vim.lsp.buf.references() + end, + "lsp references", + }, + + ["f"] = { + function() + vim.diagnostic.open_float() + end, + "lsp floating diagnostic", + }, + + ["[d"] = { + function() + vim.diagnostic.goto_prev() + end, + "lsp goto prev", + }, + + ["d]"] = { + function() + vim.diagnostic.goto_next() + end, + "lsp goto_next", + }, + + ["q"] = { + function() + vim.diagnostic.setloclist() + end, + "lsp diagnostic setloclist", + }, + + ["fm"] = { + function() + vim.lsp.buf.formatting {} + end, + "lsp formatting", + }, + + ["wa"] = { + function() + vim.lsp.buf.add_workspace_folder() + end, + "lsp add workspace folder", + }, + + ["wr"] = { + function() + vim.lsp.buf.remove_workspace_folder() + end, + "lsp remove workspace folder", + }, + + ["wl"] = { + function() + print(vim.inspect(vim.lsp.buf.list_workspace_folders())) + end, + "lsp list workspace folders", + }, + }, +} --}}} + +M.dap = { -- {{{ + plugin = true, + n = { + ["ds"] = { + function() + local mydap = require("spike.dap") + + mydap.setup() + require('spike.dap.utils').init_breakpoints() + -- set a breakpoint at current line if there are none in + -- the project + + if vim.o.filetype == "go" then + mydap.go_debug() + elseif vim.o.filetype == "rust" then + local rt = require("rust-tools") + -- make sure lsp is running ? + rt.debuggables.debuggables() + end + end, + "start dap session" + }, + + ["dS"] = { + function() + if vim.o.filetype == "go" then + vim.cmd("GoDbgStop") + end + end, + "stop dap session" + }, + + ["dd"] = { " DapToggleBreakpoint " }, + + ["dc"] = { + function() + vim.ui.input({ prompt = "condition> " }, function(input) + require("dap").set_breakpoint(input) + end) + end, + "dap conditional breakpoint" + }, + ["dm"] = { + function() + require('spike.dap.dapmode').start() + end, + "enter dap mode" + }, + ["dr"] = { "lua require'dap'.run_last()", "[dap] rerun last" }, + ["dl"] = { + function() + require('spike.dap.utils').dap_logpoint() + end, + "[dap] add log point" + }, + ["dt"] = { "lua require'dapui'.toggle()", "[dap] toggle UI" }, + }, + +} -- }}} + +M.nvimtree = { --{{{ + plugin = true, + + n = { + -- toggle + [""] = { " NvimTreeToggle ", "toggle nvimtree" }, + }, +} --}}} + +M.fzf_lua = { --{{{ + plugin = true, + + n = { + -- find + -- [""] = { " FzfLua files ", "FzfLua find files" }, + -- [""] = { function () + -- local ignored_bufs = { + -- "qf", + -- } + -- for _, ignored in ipairs(ignored_bufs) do + -- if vim.bo.filetype == ignored then + -- local default_keyseq = termcodes("") + -- vim.api.nvim_feedkeys(default_keyseq, 'n', false) + -- return + -- end + -- end + -- vim.cmd "FzfLua files" + -- end, "FzfLua find files" }, + + ["fl"] = { " FzfLua lines ", "FzfLua grep open buffer lines" }, + + -- grep + -- ["fw"] = { " FzfLua grep_cword ", "FzfLua grep cword" }, + -- ["f."] = { " FzfLua live_grep_native ", "FzfLua grep live native" }, + -- ["ff"] = { " FzfLua grep_project ", "FzfLua grep live project" }, + ["f*"] = { " FzfLua live_grep_glob ", "FzfLua grep with glob (SPACE-- globs)" }, + + -- continue + -- ["fr"] = { " FzfLua resume ", "FzfLua resume last search" }, + + -- [";"] = { " FzfLua buffers ", "FzfLua find buffers" }, + -- ["fb"] = { " FzfLua builtin ", "FzfLua builtins" }, + -- ["fh"] = { " FzfLua help_tags ", "FzfLua find help pages" }, + -- ["fm"] = { " FzfLua marks ", "FzfLua marks" }, + -- ["fo"] = { " FzfLua oldfiles ", "FzfLua find oldfiles" }, + -- ["tk"] = { " FzfLua keymaps ", "FzfLua show keymaps" }, + + } +} --}}} + +M.telescope = { --{{{ + plugin = true, + + n = { + -- find + -- ["ff"] = { " Telescope find_files ", "find files" }, + -- [""] = { " Telescope find_files ", "find files" }, + -- + ["fa"] = { " Telescope find_files follow=true no_ignore=true hidden=true ", "find all" }, + [""] = { + function() + local ignored_bufs = { + "qf", + "guihua", + "NvimT*" + } + for _, ignored in ipairs(ignored_bufs) do + if vim.o.filetype:match(ignored) then + local default_keyseq = termcodes("") + vim.api.nvim_feedkeys(default_keyseq, 'n', false) + return + end + end + vim.cmd "Telescope find_files" + end, "FzfLua find files" + }, + ["f."] = { " Telescope live_grep ", "telescope live grep" }, + ["fw"] = { " Telescope grep_string ", "telescope grep cword" }, + [";"] = { " Telescope buffers ", "telescope find buffers" }, + ["fb"] = { " Telescope builtin ", "telescope builtins" }, + ["fB"] = { " Telescope vim_bookmarks ", "telescope bookmarks" }, + ["fh"] = { " Telescope help_tags ", "help page" }, + ["fo"] = { " Telescope oldfiles ", "telescope find oldfiles" }, + ["fm"] = { " Telescope marks ", "Telescope marks" }, + ["fM"] = { " Telescope man_pages ", "Telescope marks" }, + ["tk"] = { " Telescope keymaps ", "Telescope show keys" }, + ["fr"] = { " Telescope resume ", "telescope resume last search" }, + ["fc"] = { " Telescope commands ", "telescope commands" }, + + -- git + ["fg"] = { " ", "telescope git commands" }, + ["fgc"] = { " Telescope git_commits ", "teles git commits" }, + ["fgs"] = { " Telescope git_status ", "teles git status" }, + ["fgf"] = { " Telescope git_files ", "teles git files" }, + + -- pick a hidden term + -- ["pt"] = { " Telescope terms ", "pick hidden term" }, + + -- theme switcher + ["th"] = { " Telescope themes ", "nvchad themes" }, + }, +} --}}} + +M.nvterm = { --{{{ + plugin = true, + + t = { + -- toggle in terminal mode + [""] = { + function() + require("nvterm.terminal").toggle "float" + end, + "toggle floatinvg term", + }, + + [""] = { + function() + require("nvterm.terminal").toggle "horizontal" + end, + "toggle horizontal term", + }, + }, + + n = { + -- toggle in normal mode + [""] = { + function() + require("nvterm.terminal").toggle "float" + end, + "toggle floating term", + }, + + [""] = { + function() + require("nvterm.terminal").toggle "horizontal" + end, + "toggle horizontal term", + }, + + [""] = { + function() + require("nvterm.terminal").toggle "vertical" + end, + "toggle vertical term", + }, + + -- new + + ["h"] = { + function() + require("nvterm.terminal").new "horizontal" + end, + "new horizontal term", + }, + + ["v"] = { + function() + require("nvterm.terminal").new "vertical" + end, + "new vertical term", + }, + }, +} --}}} + +M.whichkey = { --{{{ + plugin = true, + + n = { + ["wK"] = { + function() + vim.cmd "WhichKey" + end, + "which-key all keymaps", + }, + ["wk"] = { + function() + local input = vim.fn.input "WhichKey: " + vim.cmd("WhichKey " .. input) + end, + "which-key query lookup", + }, + }, +} --}}} + +M.blankline = { --{{{ + plugin = true, + + n = { + ["k"] = { + function() + local ok, start = require("indent_blankline.utils").get_current_context( + vim.g.indent_blankline_context_patterns, + vim.g.indent_blankline_use_treesitter_scope + ) + + if ok then + vim.api.nvim_win_set_cursor(vim.api.nvim_get_current_win(), { start, 0 }) + vim.cmd [[normal! _]] + end + end, + + "Jump to current context", + }, + }, +} --}}} + +-- code outline panel +M.aerial = { + plugin = true, + n = { + [""] = { " AerialToggle! right" }, + } +} + +M.asyncrun = { --{{{ + plugin = true, + + n = { + -- TODO: find new mapping to close quickfix + -- ["``"] = { " call asyncrun#quickfix_toggle(8)", "toggle quickfix window" }, + ["m"] = { ":AsyncRun -program=" .. vim.o.makeprg .. "", "make using asyncrun" }, + ["ar"] = { ":AsyncRun ", "custom asyncrun command" }, + ["pd"] = { " AsyncRun lpr -P PDF_PRINT %", "PDF print file" }, + ["pp"] = { " AsyncRun lpr %" }, + }, +} --}}} + +M.vim_bookmarks = { --{{{ + n = { + ["m"] = { " Telescope vim_bookmarks", "show bookmarks" }, + ["mk"] = { " BookmarkToggle", "toggle bookmarks" }, + ["mm"] = { " BookmarkAnnotate", "annotation bookmarks" }, + ["mc"] = { " BookmarkClear", "clear bookmarks in buffer" }, + ["mx"] = { " BookmarkClearAll", "clear bookmarks in all buffers" }, + ["]b"] = { "BookmarkNext", "jump to next bookmark" }, + ["[b"] = { "BookmarkNext", "jump to prev bookmark" }, + }, +} --}}} + +M.iron = { -- {{{{{{ + plugin = true, + n = { + ["ir"] = { "IronRepl", "start IronRepl" }, + } +} -- }}} -- - -- color picker - M.ccc = { - plugin = true, - n = { - ["cp"] = {"CccPick", "color picker"} - }, - } +-- color picker +M.ccc = { + plugin = true, + n = { + ["cp"] = { "CccPick", "color picker" } + }, +} -- }}} - -- M.neorepl = {{{{ - -- plugin = true, - -- - -- i = { - -- ["C-p"] = { "(neorepl-hist-prev)"}, - -- } - -- - -- } +-- M.neorepl = {{{{ +-- plugin = true, +-- +-- i = { +-- ["C-p"] = { "(neorepl-hist-prev)"}, +-- } +-- +-- } -- }}} M.vimux = { plugin = true, n = { - -- rerun last - [""] = {"VimuxRunLastCommand", "vimux run last command"}, + -- rerun last + [""] = { "VimuxRunLastCommand", "vimux run last command" }, -- prompt - ["vv"] = {"VimuxPromptCommand", "vimux prompt command"}, - ["vc"] = {"VimuxInterruptRunner", "vimux interrupt command"}, - ["vl"] = {"VimuxClearTerminalScreen", "vimux clear terminal"}, - ["vx"] = {"VimuxCloseRunner", "vimux close runner"}, + ["vv"] = { "VimuxPromptCommand", "vimux prompt command" }, + ["vc"] = { "VimuxInterruptRunner", "vimux interrupt command" }, + ["vl"] = { "VimuxClearTerminalScreen", "vimux clear terminal" }, + ["vx"] = { "VimuxCloseRunner", "vimux close runner" }, } } @@ -913,5 +915,33 @@ M.golang = { ["da"] = { " GoDebug -a", "go debug attach" }, } } --- + +-- git +M.gitsigns = { + plugin = true, + n = { + ["gs"] = { " lua require'gitsigns'.stage_hunk()", + "Git stage hunk", + }, + ["gS"] = { " lua require'gitsigns'.stage_buffer()", + "Git stage buffer", + }, + ["gR"] = { " lua require'gitsigns'.reset_buffer_index()", + "Git stage buffer", + }, + ["gp"] = { " lua require'gitsigns'.preview_hunk()", + "Git stage buffer", + }, + ["gu"] = {" lua require'gitsigns'.undo_stage_hunk()", + "Git undo stage hunk", + }, + ["]h"] = { " lua require'gitsigns'.next_hunk()", + "Git next hunk", + }, + ["[h"] = { " lua require'gitsigns'.prev_hunk()", + "Git prev hunk", + } + } +} + return M diff --git a/lua/custom/chadrc.lua b/lua/custom/chadrc.lua index a91296b..d51f400 100644 --- a/lua/custom/chadrc.lua +++ b/lua/custom/chadrc.lua @@ -14,7 +14,7 @@ local colors = { -- vim.tbl_deep_extend("force", M.ui.hl_add, custom_theme) M.ui = { - theme = "gruvbox_light", + theme = "monekai", theme_toggle = { "monekai", "gruvbox_light" }, hl_override = { Comment = { diff --git a/lua/custom/plugins/configs/gitsigns.lua b/lua/custom/plugins/configs/gitsigns.lua new file mode 100644 index 0000000..49db3f5 --- /dev/null +++ b/lua/custom/plugins/configs/gitsigns.lua @@ -0,0 +1,32 @@ +local M = {} + + +local on_attach = function(bufnr) + require("custom.utils").set_plugin_mappings "gitsigns" +end + +M.setup = function() + local present, gitsigns = pcall(require, "gitsigns") + + if not present then + return + end + + require("base46").load_highlight "git" + + local options = { + signs = { + add = { hl = "DiffAdd", text = "│", numhl = "GitSignsAddNr" }, + change = { hl = "DiffChange", text = "│", numhl = "GitSignsChangeNr" }, + delete = { hl = "DiffDelete", text = "", numhl = "GitSignsDeleteNr" }, + topdelete = { hl = "DiffDelete", text = "‾", numhl = "GitSignsDeleteNr" }, + changedelete = { hl = "DiffChangeDelete", text = "~", numhl = "GitSignsChangeNr" }, + }, + on_attach = on_attach, + + } + + gitsigns.setup(options) +end + +return M diff --git a/lua/custom/plugins/init.lua b/lua/custom/plugins/init.lua index 0199d6c..458bda7 100644 --- a/lua/custom/plugins/init.lua +++ b/lua/custom/plugins/init.lua @@ -80,7 +80,7 @@ return { -- Treesitter dev/exploration tool ["nvim-treesitter/playground"] = { opt = true, - cmd = {"TSPlayground*"}, + cmd = { "TSPlayground*" }, }, ["nvim-treesitter/nvim-treesitter-context"] = { @@ -194,22 +194,22 @@ return { after = "nvim-dap", config = function() require("nvim-dap-virtual-text").setup({ - enabled = true, -- enable this plugin (the default) - enabled_commands = true, -- create commands DapVirtualTextEnable, DapVirtualTextDisable, DapVirtualTextToggle, (DapVirtualTextForceRefresh for refreshing when debug adapter did not notify its termination) - highlight_changed_variables = true, -- highlight changed values with NvimDapVirtualTextChanged, else always NvimDapVirtualText - highlight_new_as_changed = false, -- highlight new variables in the same way as changed variables (if highlight_changed_variables) - show_stop_reason = true, -- show stop reason when stopped for exceptions - commented = false, -- prefix virtual text with comment string - only_first_definition = true, -- only show virtual text at first definition (if there are multiple) - all_references = false, -- show virtual text on all all references of the variable (not only definitions) + enabled = true, -- enable this plugin (the default) + enabled_commands = true, -- create commands DapVirtualTextEnable, DapVirtualTextDisable, DapVirtualTextToggle, (DapVirtualTextForceRefresh for refreshing when debug adapter did not notify its termination) + highlight_changed_variables = true, -- highlight changed values with NvimDapVirtualTextChanged, else always NvimDapVirtualText + highlight_new_as_changed = false, -- highlight new variables in the same way as changed variables (if highlight_changed_variables) + show_stop_reason = true, -- show stop reason when stopped for exceptions + commented = false, -- prefix virtual text with comment string + only_first_definition = true, -- only show virtual text at first definition (if there are multiple) + all_references = false, -- show virtual text on all all references of the variable (not only definitions) filter_references_pattern = '', '', '', '' }, - }, - ignore_filetypes = { - "qf", - "NvimTree", - "help", - "qf", - "netrw", - "neorepl", - "dapui*", - "mason", - "guihua*", - "terminal*", - }, - }) + ['n'] = { 'h', 'j', 'k', 'l' }, + -- ['nvi'] = { '', '', '', '' }, + }, + ignore_filetypes = { + "qf", + "NvimTree", + "help", + "qf", + "netrw", + "neorepl", + "dapui*", + "mason", + "guihua*", + "terminal*", + }, + }) end }, -- ["takac/vim-hardtime"] = {-- {{{ @@ -505,9 +515,9 @@ return { -- ['stevearc/aerial.nvim'] = { - after = {"base46"}, - keys = {""}, - cmd = {"Aerial*"}, + after = { "base46" }, + keys = { "" }, + cmd = { "Aerial*" }, config = function() require("core.utils").load_mappings "aerial" require('aerial').setup({}) diff --git a/lua/custom/utils.lua b/lua/custom/utils.lua index d4087e0..a4ee939 100644 --- a/lua/custom/utils.lua +++ b/lua/custom/utils.lua @@ -13,6 +13,7 @@ local M = {} mapping_info.opts, opts.mode = nil, nil opts.desc = mapping_info[2] + P(keybind) vim.keymap.set(mode, keybind, mapping_info[1], opts) end end diff --git a/lua/plugins/configs/cmp.lua b/lua/plugins/configs/cmp.lua index 4f852ed..b411af4 100644 --- a/lua/plugins/configs/cmp.lua +++ b/lua/plugins/configs/cmp.lua @@ -92,7 +92,10 @@ local options = { elseif luasnip.expandable() then luasnip.expand_or_jump() elseif has_words_before() then - cmp.confirm() + cmp.confirm({ + behavior = cmp.ConfirmBehavior.Replace, + select = false, + }) else fallback() end diff --git a/lua/plugins/configs/others.lua b/lua/plugins/configs/others.lua index 32a5fd7..572f579 100644 --- a/lua/plugins/configs/others.lua +++ b/lua/plugins/configs/others.lua @@ -106,28 +106,6 @@ M.comment = function() nvim_comment.setup(options) end -M.gitsigns = function() - local present, gitsigns = pcall(require, "gitsigns") - - if not present then - return - end - - require("base46").load_highlight "git" - - local options = { - signs = { - add = { hl = "DiffAdd", text = "│", numhl = "GitSignsAddNr" }, - change = { hl = "DiffChange", text = "│", numhl = "GitSignsChangeNr" }, - delete = { hl = "DiffDelete", text = "", numhl = "GitSignsDeleteNr" }, - topdelete = { hl = "DiffDelete", text = "‾", numhl = "GitSignsDeleteNr" }, - changedelete = { hl = "DiffChangeDelete", text = "~", numhl = "GitSignsChangeNr" }, - }, - } - - options = load_override(options, "lewis6991/gitsigns.nvim") - gitsigns.setup(options) -end M.devicons = function() local present, devicons = pcall(require, "nvim-web-devicons") diff --git a/lua/plugins/init.lua b/lua/plugins/init.lua index ae8fb9c..6450a78 100644 --- a/lua/plugins/init.lua +++ b/lua/plugins/init.lua @@ -86,17 +86,6 @@ local plugins = { end, }, - -- git stuff - ["lewis6991/gitsigns.nvim"] = { - ft = "gitcommit", - setup = function() - require("core.lazy_load").gitsigns() - end, - config = function() - require("plugins.configs.others").gitsigns() - end, - }, - -- lsp stuff ["williamboman/mason.nvim"] = {