Added bufdel and render-markdown plugins, and fixed dap issues

This commit is contained in:
Ward Truyen
2025-05-28 17:17:09 +02:00
parent 28576e17d5
commit bf6e8e038b
4 changed files with 95 additions and 44 deletions

View File

@@ -0,0 +1,9 @@
--$ This allows buffers to be closed but not the window
--$ URL: https://github.com/ojroques/nvim-bufdel
return {
"ojroques/nvim-bufdel",
version = "*",
config = function()
vim.keymap.set("n", "<leader>bc", vim.cmd.BufDel)
end,
}

View File

@@ -17,6 +17,16 @@ return {
dap.listeners.before.event_exited.dapui_config = function() dap.listeners.before.event_exited.dapui_config = function()
dapui.close() dapui.close()
end end
vim.api.nvim_create_autocmd("LspAttach", {
group = vim.api.nvim_create_augroup("UserDapUIConfig", {}),
callback = function(event)
local wk = require("which-key")
wk.add({
{ "<leader>dd", desc = "Toggle DAP UI" },
})
vim.keymap.set('n', '<Leader>dd', function() require('dapui').toggle() end) vim.keymap.set('n', '<Leader>dd', function() require('dapui').toggle() end)
end, end,
})
end,
} }

View File

@@ -1,4 +1,3 @@
---@type NvPluginSpec
-- NOTE: Debug Adapter Protocol -- NOTE: Debug Adapter Protocol
-- URL: https://github.com/mfussenegger/nvim-dap/wiki/Debug-Adapter-installation -- URL: https://github.com/mfussenegger/nvim-dap/wiki/Debug-Adapter-installation
return { return {
@@ -7,23 +6,27 @@ return {
-- NOTE: Check out this for guide -- NOTE: Check out this for guide
vim.fn.sign_define("DapBreakpoint", { text = "", texthl = "DiagnosticSignError", linehl = "", numhl = "" }) vim.fn.sign_define("DapBreakpoint", { text = "", texthl = "DiagnosticSignError", linehl = "", numhl = "" })
-- These dap keybinds only load when an LSP is attatched to the buffer.
vim.api.nvim_create_autocmd("LspAttach", {
group = vim.api.nvim_create_augroup("UserDapConfig", {}),
callback = function(event)
local wk = require("which-key") local wk = require("which-key")
wk.add({ wk.add({
{"<leader>d", group = "DAP"}, { "<leader>d", group = "DAP" },
{"<leader>dd", desc = "Toggle DAP UI"}, { "<leader>dd", desc = "Toggle DAP UI" },
{"<leader>db", desc = "Toggle breakpoint"}, { "<leader>db", desc = "Toggle breakpoint" },
{"<leader>dB", desc = "Set breakpoint"}, { "<leader>dB", desc = "Set breakpoint" },
{"<leader>dm", desc = "message point"}, { "<leader>dm", desc = "message point" },
{"<leader>dr", desc = "Open repl"}, { "<leader>dr", desc = "Open repl" },
{"<leader>dl", desc = "Run last"}, { "<leader>dl", desc = "Run last" },
{"<leader>dh", desc = "Hover widgets"}, { "<leader>dh", desc = "Hover widgets" },
{"<leader>dp", desc = "Preview widgets"}, { "<leader>dp", desc = "Preview widgets" },
{"<leader>df", desc = "Float frames"}, { "<leader>df", desc = "Float frames" },
{"<leader>ds", desc = "Float scopes"}, { "<leader>ds", desc = "Float scopes" },
{"<leader>d<F5>", desc = "Debug start/continue"}, { "<leader>d<F5>", desc = "Debug start/continue" },
{"<leader>d<F6>", desc = "Debug step over"}, { "<leader>d<F6>", desc = "Debug step over" },
{"<leader>d<F7>", desc = "Debug step into"}, { "<leader>d<F7>", desc = "Debug step into" },
{"<leader>d<F8>", desc = "Debug step out"}, { "<leader>d<F8>", desc = "Debug step out" },
}) })
vim.keymap.set('n', '<F5>', function() require('dap').continue() end) vim.keymap.set('n', '<F5>', function() require('dap').continue() end)
vim.keymap.set('n', '<F6>', function() require('dap').step_over() end) vim.keymap.set('n', '<F6>', function() require('dap').step_over() end)
@@ -49,8 +52,12 @@ return {
local widgets = require('dap.ui.widgets') local widgets = require('dap.ui.widgets')
widgets.centered_float(widgets.scopes) widgets.centered_float(widgets.scopes)
end) end)
end,
})
-- configure C/C++
-- NOTE: Make sure to install the needed files/exectubles through mason -- NOTE: Make sure to install the needed files/exectubles through mason
local dap = require("dap") local dap = require("dap")
dap.adapters.gdb = { dap.adapters.gdb = {
@@ -65,7 +72,20 @@ return {
type = "gdb", type = "gdb",
request = "launch", request = "launch",
program = function() program = function()
return vim.fn.input("Path to executable: ", vim.fn.getcwd() .. "/", "file") local storedValue = vim.g['mydap_program']
local preFill = vim.fn.getcwd() .. "/"
if storedValue ~= nil then preFill = storedValue end
local newValue = vim.fn.input("Path to executable: ", preFill, "file")
vim.g['mydap_program'] = newValue
return newValue
end,
args = function()
local storedValue = vim.g['mydap_args']
local preFill = ""
if storedValue ~= nil then preFill = storedValue end
local newValue = vim.fn.input("Arguements: ", preFill)
vim.g['mydap_args'] = newValue
return newValue
end, end,
cwd = "${workspaceFolder}", cwd = "${workspaceFolder}",
stopAtBeginningOfMainSubprogram = false, stopAtBeginningOfMainSubprogram = false,

View File

@@ -0,0 +1,12 @@
---@type NvPluginSpec
-- NOTE: This plugin activly shows the result of your markdown while you're typing it
-- URL: https://https://github.com/MeanderingProgrammer/render-markdown.nvim
return {
'MeanderingProgrammer/render-markdown.nvim',
-- dependencies = { 'nvim-treesitter/nvim-treesitter', 'echasnovski/mini.nvim' }, -- if you use the mini.nvim suite
-- dependencies = { 'nvim-treesitter/nvim-treesitter', 'echasnovski/mini.icons' }, -- if you use standalone mini plugins
dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-tree/nvim-web-devicons' }, -- if you prefer nvim-web-devicons
---@module 'render-markdown'
---@type render.md.UserConfig
opts = {},
}