require "nvchad.mappings" local map = vim.keymap.set local M = {} M.General = function() map("n", ";", ":", { desc = "general enter command mode", nowait = true }) map("v", ">", ">gv", { desc = "general indent" }) map("n", "", "h", { desc = "general Window left" }) map("n", "", "l", { desc = "general Window right" }) map("n", "", "j", { desc = "general Window down" }) map("n", "", "k", { desc = "general Window up" }) end M.Dap = function() map("n", "db", " DapToggleBreakpoint ", { desc = "dap Toggle Breakpoint" }) map("n", "dus", function() local widgets = require "dap.ui.widgets" local sidebar = widgets.sidebar(widgets.scopes) sidebar.open() end, { desc = "dap Open debugging sidebar" }) map("n", "", function() require("dap").continue() end, { desc = "dap Debug Program" }) map("n", "", function() require("dap").step_over() end, { desc = "dap Step Over" }) map("n", "", function() require("dap").step_into() end, { desc = "dap Step Into" }) map("n", "", function() require("dap").step_out() end, { desc = "dap Step Out" }) map("n", "lp", function() require("dap").set_breakpoint(nil, nil, vim.fn.input "Log point message: ") end, { desc = "dap Set Breakpoint with Mesage?" }) map("n", "dr", function() require("dap").repl.open() end, { desc = "dap Open REPL" }) map("n", "dl", function() require("dap").run_last() end, { desc = "dap Run Last" }) map("n", "dp", function() require("dap.ui.widgets").preview() end, { desc = "dap Preview UI" }) map("n", "dh", function() require("dap.ui.widgets").hover() end, { desc = "dap Hover UI" }) map("n", "do", function() require("dapui").toggle() end, { desc = "dap Toggle Debug UI" }) map("n", "df", function() local widgets = require "dap.ui.widgets" widgets.centered_float(widgets.frames) end, { desc = "dap Open Frames" }) map("n", "ds", function() local widgets = require "dap.ui.widgets" widgets.centered_float(widgets.scopes) end, { desc = "dap Open Scopes" }) end M.Dap_python = function() map("n", "dpr", function() require("dap-python").test_method() end, { desc = "dap_python Test Method" }) end M.Dap_go = function() map("n", "dpr", function() require("dap-go").debug_test() end, { desc = "dap_go Test Method" }) end M.Crates = function() map("n", "rcu", function() require("crates").upgrade_all_crates() end, { desc = "crates update crates" }) end M.LazyGit = function() map("n", "gg", function() vim.cmd ":LazyGit" end, { desc = "lazygit open lazygit" }) end M.Hop = function() map("n", "t", function() require("hop").hint_words { multi_windows = true } end, { desc = "hop Hop across windows", remap = true }) map("n", "T", function() require("hop").hint_char2 { multi_windows = true } end, { desc = "hop Hop to chars across windows", remap = true, }) end M.Copilot = function() map("i", "", function() require("copilot.suggestion").accept() end, { desc = "copilot Accept Suggestion", "opts = { remap = true }" }) map("i", "", function() require("copilot.suggestion").next() end, { desc = "copilot Next Suggestion", "opts = { remap = true }" }) map("i", "", function() require("copilot.suggestion").prev() end, { desc = "copilot rev Suggestion", "opts = { remap = true }" }) map("i", "", function() require("copilot.suggestion").dismiss() end, { desc = "copilot Dismiss Suggestion", "opts = { remap = true }" }) end M.Markdown = function() map("n", "cb", function() require("markdown-togglecheck").toggle() end, { desc = "markdown Toggle Checkmark" }) end M.Obsidian = function() map("n", "gf", function() return require("obsidian").util.gf_passthrough() end, { desc = "obsidian Follow Link", "opts = { noremap = false, expr = true, buffer = true }" }) map("n", "cb", function() return require("obsidian").util.toggle_checkbox() end, { desc = "obsidian Toggle Checkmark", "opts = { buffer = trueue, remap = true }" }) end return M