-- local wk = require("which-key") -- -- local keys = { -- e = { -- name = "Toggle", -- e = {"NeoTreeFloatToggle", "NeoTree"}, -- w = {vim.cmd.Ex, "netrw"}, -- s = {"NeoTreeShowToggle", "neotree sidebar"}, -- g = {"NeoTreeFloatToggle git_status", "Git Status"}, -- -- b = {"NeoTreeFloatToggle buffers", "Buffers"}, -- c = {"NeoTreeClose" , "Close"}, -- u = {vim.cmd.UndotreeToggle, "UndoTree"}, -- }, -- c = { -- name = "LSP", -- f = {function () vim.lsp.buf.format() end, "Format"}, -- w = {function () vim.lsp.buf.workspace_symbol("") end, "workspace symbol"}, -- d = {function () vim.diagnostic.open_float() end, "diagnostic"}, -- a = {function () vim.lsp.buf.code_action() end, "code actions"}, -- R = {function () vim.lsp.buf.references() end, "references"}, -- r = {function () vim.lsp.buf.rename() end, "rename"}, -- h = {function () vim.lsp.buf.hover() end, "Hover"}, -- t = {function () vim.lsp.buf.type_definition() end,"Type Definition"}, -- s = {"Navbuddy", "Navbuddy"}, -- S = {require("telescope.builtin").lsp_document_symbols, "Document Symbols"}, -- l = { -- name = "LSP", -- k = {"LspStop", "Stop"}, -- s = {"LspStart", "Start"}, -- r = {"LspRestart", "Restart"}, -- }, -- }, -- b = { -- name = "Buffer", -- h = {vim.cmd.bprevious, "Previous"}, -- l = {vim.cmd.bnext, "Next"}, -- H = {vim.cmd.bfirst, "First"}, -- L = {vim.cmd.blast, "Last"}, -- b = {require("telescope.builtin").buffers, "Picker"}, -- c = {":bp | sp | bn | bd", "Close"}, -- C = {":bp | sp | bn | bd!", "Close Force"}, -- d = {function() vim.cmd("bd") end, "Delete buffer"}, -- D = {function() vim.cmd("bd!") end, "Delete buffer Force"}, -- o = {function() vim.cmd("BDelete other") end, "Delete other buffers"}, -- m = {function() vim.cmd("BDelete select") end, "Select buffer to delete"}, -- }, -- f = { -- name = "Telescope & fzf", -- c = {require("telescope.builtin").colorscheme, "Find Colorscheme"}, -- d = {require("telescope.builtin").diagnostics, "Find Diagnostics"}, -- w = {require("telescope.builtin").grep_string, "Find current Word"}, -- f = {require("telescope.builtin").find_files, "telescope find files"}, -- g = {require("telescope.builtin").live_grep, "live grep"}, -- b = {require("telescope.builtin").buffers, "buffers"}, -- h = {require("telescope.builtin").help_tags, "help tags"}, -- s = {function () require("telescope.builtin").grep_string({ search = vim.fn.input("Grep > ")}); end, "grep search through files"}, -- m = {"Maket", "Make"}, -- }, -- s = { -- name = "Settings", -- c = {function () -- vim.opt.scrolloff = 100 -- end, "Always center cursor"}, -- C = {function () -- vim.opt.scrolloff = 8 -- end, "Disable Cursor center"}, -- f = {function () -- vim.opt.nu = true -- vim.opt.relativenumber = true -- end, "Fix number and relative numbers"}, -- }, -- h = { -- name = "Hop", -- w = {"HopWord", "Word"}, -- a = {"HopAnywhere", "Anywhere"}, -- l = {"HopLine", "Line"}, -- p = {"HopPattern", "Pattern"}, -- c = {"HopChar1", "Char1"}, -- x = {"HopChar2", "Char2"}, -- h = {vim.cmd.HopChar2, "Hop"}, -- }, -- d = { -- name = "Debug", -- b = {function () require("dap").toggle_breakpoint() end, "toggle breakpoint"}, -- c = {function () require("dap").continue() end, "launch or continue execution"}, -- s = {function () require("dap").step_into() end, "step into"}, -- o = {function () require("dap").step_over() end, "step over"}, -- r = {function () require("dap").repl.open() end, "open repl"}, -- w = {"DapUIFloat", "DapUI"}, -- }, -- w = { -- name = "workspace", -- a = {vim.lsp.buf.add_workspace_folder, "add folder"}, -- r = {vim.lsp.buf.remove_workspace_folder, "remove folder"}, -- l = {function() print(vim.inspect(vim.lsp.buf.list_workspace_folders())) end, "list folders"}, -- }, -- q = { -- name = "Quick nav", -- q = {require("harpoon.ui").toggle_quick_menu, "Menu"}, -- a = {function () require("harpoon"):list():append() end, "Add file"}, -- r = {function () require("harpoon"):list():remove() end, "Remove File"}, -- }, -- -- } -- -- wk.register(keys, {prefix = ""}) -- wk.register(keys, {prefix = ""}) -- wk.register(keys, {prefix = "", mode = "i"}) -- wk.register(keys, {prefix = "", mode = "v"}) local keys = { { "bC", ":bp | sp | bn | bd!", desc = "Close Force" }, { "bD", function() vim.cmd("bd!") end, desc = "Delete buffer Force" }, { "bH", vim.cmd.bfirst, desc = "First" }, { "bL", vim.cmd.blast, desc = "Last" }, { "bb", require("telescope.builtin").buffers, desc = "Picker" }, { "bc", ":bp | sp | bn | bd", desc = "Close" }, { "bd", vim.cmd.bd, desc = "Delete buffer" }, { "bh", vim.cmd.bprevious, desc = "Previous" }, { "bl", vim.cmd.bnext, desc = "Next" }, { "bm", function() vim.cmd("BDelete select") end, desc = "Select buffer to delete" }, { "bo", function() vim.cmd("BDelete other") end, desc = "Delete other buffers" }, { "cR", vim.lsp.buf.references, desc = "references" }, { "cS", require("telescope.builtin").lsp_document_symbols, desc = "Document Symbols" }, { "ca", vim.lsp.buf.code_action, desc = "code actions" }, { "cd", vim.diagnostic.open_float, desc = "diagnostic" }, { "cf", vim.lsp.buf.format, desc = "Format" }, { "ch", vim.lsp.buf.hover, desc = "Hover" }, { "clk", "LspStop", desc = "Stop" }, { "clr", "LspRestart", desc = "Restart" }, { "cls", "LspStart", desc = "Start" }, { "cr", vim.lsp.buf.rename, desc = "rename" }, { "cs", "Navbuddy", desc = "Navbuddy" }, { "ct", vim.lsp.buf.type_definition, desc = "Type Definition" }, { "cw", function() vim.lsp.buf.workspace_symbol("") end, desc = "workspace symbol" }, { "db", require("dap").toggle_breakpoint, desc = "toggle breakpoint" }, { "dc", require("dap").continue, desc = "launch or continue execution" }, { "do", require("dap").step_over, desc = "step over" }, { "dr", require("dap").repl.open, desc = "open repl" }, { "ds", require("dap").step_into, desc = "step into" }, { "dw", "DapUIFloat", desc = "DapUI" }, { "ec", "NeoTreeClose", desc = "Close" }, { "ee", "NeoTreeFloatToggle", desc = "NeoTree" }, { "eg", "NeoTreeFloatToggle git_status", desc = "Git Status" }, { "es", "NeoTreeShowToggle", desc = "neotree sidebar" }, { "eu", vim.cmd.UndotreeToggle, desc = "UndoTree" }, { "ew", vim.cmd.Ex, desc = "netrw" }, { "fb", require("telescope.builtin").buffers, desc = "buffers" }, { "fc", require("telescope.builtin").colorscheme, desc = "Find Colorscheme" }, { "fd", require("telescope.builtin").diagnostics, desc = "Find Diagnostics" }, { "ff", require("telescope.builtin").find_files, desc = "telescope find files" }, { "fg", require("telescope.builtin").live_grep, desc = "live grep" }, { "fh", require("telescope.builtin").help_tags, desc = "help tags" }, { "fm", "Maket", desc = "Make"}, { "fs", function () require("telescope.builtin").grep_string({ search = vim.fn.input("Grep > ")}); end, desc = "grep search through files" }, { "fw", require("telescope.builtin").grep_string, desc = "Find current Word" }, { "ha", "HopAnywhere", desc = "Anywhere" }, { "hc", "HopChar1", desc = "Char1" }, { "hh", vim.cmd.HopChar2, desc = "Hop" }, { "hl", "HopLine", desc = "Line" }, { "hp", "HopPattern", desc = "Pattern" }, { "hw", "HopWord", desc = "Word" }, { "hx", "HopChar2", desc = "Char2" }, { "qa", function () require("harpoon"):list():append() end, desc = "Add file" }, { "qq", require("harpoon.ui").toggle_quick_menu, desc = "Menu" }, { "qr", function() require("harpoon"):list():remove() end, desc = "Remove File" }, { "sC", function() vim.opt.scrolloff = 8 end, desc = "Disable Cursor center" }, { "sc", function() vim.opt.scrolloff = 100 end, desc = "Always center cursor" }, { "sf", function() vim.opt.nu = true; vim.opt.relativenumber = true end, desc = "Fix number and relative numbers" }, { "wa", vim.lsp.buf.add_workspace_folder, desc = "add folder" }, { "wl", function() print(vim.inspect(vim.lsp.buf.list_workspace_folders())) end, desc = "list folders" }, { "wr", vim.lsp.buf.remove_workspace_folder, desc = "remove folder" }, } for i, key in ipairs(keys) do vim.keymap.set("n", "" .. key[1], key[2], {desc = key["desc"]}) vim.keymap.set("n", "" .. key[1], key[2], {desc = key["desc"]}) vim.keymap.set("i", "" .. key[1], key[2], {desc = key["desc"]}) vim.keymap.set("v", "" .. key[1], key[2], {desc = key["desc"]}) end -- LSP vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, {desc = "goto definition"}) vim.keymap.set("n", "K", function() vim.lsp.buf.hover() end, {}) vim.keymap.set("n", "[d", function() vim.diagnostic.goto_next() end, {desc = "goto next"}) vim.keymap.set("n", "]d", function() vim.diagnostic.goto_prev() end, {desc = "goto prev"}) vim.keymap.set("i", "", function() vim.lsp.buf.signature_help() end) vim.keymap.set("i", "", function () vim.lsp.buf.hover() end, {}) -- term vim.keymap.set("n", "", vim.cmd.ToggleTerm) vim.keymap.set("t", "", vim.cmd.ToggleTerm) vim.keymap.set("v", "", vim.cmd.ToggleTerm) -- center vim.keymap.set("n", "", "zz") vim.keymap.set("n", "", "zz") vim.keymap.set("n", "n", "nzzzv") vim.keymap.set("n", "N", "Nzzzv") -- visual move vim.keymap.set("x", "K", ":move '<-2gv=gv") vim.keymap.set("x", "J", ":move '>+1gv=gv") -- me lazy vim.keymap.set("i", "", "") -- non char keybinds vim.keymap.set("n", "f/", function () require("telescope.builtin").current_buffer_fuzzy_find(require("telescope.themes").get_dropdown { winblend = 10, previewer = false, }) end, {desc = "fuzzy find"}) vim.keymap.set('n', 'f?', require('telescope.builtin').oldfiles, { desc = 'Find recently opened files' }) vim.keymap.set("i", "f/", function () require("telescope.builtin").current_buffer_fuzzy_find(require("telescope.themes").get_dropdown { winblend = 10, previewer = false, }) end, {desc = "fuzzy find"}) vim.keymap.set('i', 'f?', require('telescope.builtin').oldfiles, { desc = 'Find recently opened files' }) for i = 9, 1, -1 do vim.keymap.set("n", "", function() require("harpoon"):list():select(i) end, {desc = ""}) vim.keymap.set("i", "", function() require("harpoon"):list():select(i) end, {desc = ""}) vim.keymap.set("v", "", function() require("harpoon"):list():select(i) end, {desc = ""}) end