local dap = require("dap") local dap_ui = require("dap.ui.widgets") dap.adapters.coreclr = { type = "executable", command = "netcoredbg", args = { "--interpreter=vscode", "--", "dotnet" }, } dap.configurations.fsharp = { { type = "coreclr", name = "launch - netcoredbg", request = "launch", program = function() return vim.fn.input("Path to dll: ", vim.fn.getcwd() .. "/bin/Debug/", "file") end, }, } local status, whichkey = pcall(require, "which-key") if status then whichkey.register({ d = { o = { dap.step_over, "Step over" }, i = { dap.step_into, "Step into" }, c = { dap.continue, "Continue" }, C = { dap.run_last, "Run with last debug configuration" }, b = { dap.toggle_breakpoint, "Toggle breakpoint" }, r = { dap.repl.open, "Open debug repl" }, v = { v = { function() dap_ui.hover() end, "View value of expression under cursor", }, s = { function() dap_ui.sidebar(dap_ui.scopes).open() end, "View values of all variables in all scopes", }, f = { function() dap_ui.sidebar(dap_ui.frames).open() end, "View stack frames", }, }, t = { dap.terminate, "Terminate/stop/end debug session" }, }, }, { prefix = vim.api.nvim_get_var("maplocalleader") }) else vim.api.nvim_set_keymap("n", "do", ":lua require('dap').step_over()", { noremap = true }) vim.api.nvim_set_keymap("n", "di", ":lua require('dap').step_into()", { noremap = true }) vim.api.nvim_set_keymap("n", "dc", ":lua require('dap').continue()", { noremap = true }) vim.api.nvim_set_keymap("n", "dC", ":lua require('dap').run_last()", { noremap = true }) vim.api.nvim_set_keymap("n", "db", ":lua require('dap').toggle_breakpoint()", { noremap = true }) vim.api.nvim_set_keymap("n", "dr", ":lua require('dap').repl.open()", { noremap = true }) vim.api.nvim_set_keymap("n", "dvv", ":lua require('dap.ui.widgets').hover()", { noremap = true }) vim.api.nvim_set_keymap( "n", "dvs", ":lua require('dap.ui.widgets').sidebar(require('dap.ui.widgets').scopes).open()", { noremap = true } ) vim.api.nvim_set_keymap( "n", "dvf", ":lua require('dap.ui.widgets').sidebar(require('dap.ui.widgets').frames).open()", { noremap = true } ) vim.api.nvim_set_keymap("n", "dt", ":lua require('dap').terminate()", { noremap = true }) end