local map = vim.keymap.set local dap = require("dap") local term = require("nvterm.terminal") map("n", "", "", { desc = "LSP Back" }) map("n", "", "", { desc = "LSP Forward" }) map("v", "", '"+y', { desc = "Copy selected" }) map({ "i", "n" }, "", '"+p', { desc = "Past" }) map({ "n", "v", "i" }, "", function() vim.cmd("w") vim.api.nvim_input("") end, { desc = "Save file" }) map({ "n", "v", "i" }, "", "ggVG", { desc = "Select all" }) map("n", "", "h", { desc = "switch window left" }) map("n", "", "l", { desc = "switch window right" }) map("n", "", "j", { desc = "switch window down" }) map("n", "", "k", { desc = "switch window up" }) map("n", "", "gcc", { desc = "toggle comment", remap = true }) map("v", "", "gc", { desc = "toggle comment", remap = true }) -- neo-tree map({ "n", "v" }, "e", "Neotree", { desc = "nvimtree focus window" }) map({ "n", "v" }, "g", "Neotree git_status float", { desc = "open gis status" }) map({ "n", "v" }, "", "BufferClose", { desc = "close window" }) -- telescope map("n", "f", "Telescope live_grep", { desc = "telescope live grep" }) map("n", "r", "Telescope lsp_references", { desc = "telescope lsp references" }) map("n", "d", "Telescope lsp_definitions", { desc = "telescope lsp definitions" }) -- barbar map("n", "", "BufferNext", { desc = "Next tab" }) map("n", "", "BufferPrevious", { desc = "Previous tab" }) -- dap map("n", "bb", dap.toggle_breakpoint, { desc = "Toggle breakpoint" }) -- nvterm map("n", "t", function() term.toggle("horizontal") end, { desc = "Open terminal" }) -- searchbox map({ "n", "v", "i" }, "", function() require("searchbox").incsearch({ modifier = "ignore-case", }) end, { desc = "Search in file" }) -- menu function MergeTable(table1, table2) for _, value in ipairs(table2) do table1[#table1 + 1] = value end return table1 end local menu = require("menu") local menuItems = MergeTable(require("config.menu"), require("menus.default")) function OpenMenu(mouse) -- require("menu.utils").delete_old_menus() -- vim.cmd.exec('"normal! \\"') local ft = vim.bo.ft if ft ~= "neo-tree" then menu.open(menuItems, { mouse = mouse, border = true }) end end map({ "n", "v", "i" }, "", function() OpenMenu(true) end) map("n", "", function() OpenMenu(false) end) -- -- -- map({ "n", "i" }, "", function() -- vim.cmd.normal("v") -- -- vim.api.nvim_input("v") -- -- vim.api.nvim_command("set insertmode") -- -- evim.cmd("v") -- end) require("langmapper").automapping({ global = true, buffer = true })