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.keymap.set('n', '<Leader>dd', function() require('dapui').toggle() 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)
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,50 +6,58 @@ 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 = "" })
local wk = require("which-key") -- These dap keybinds only load when an LSP is attatched to the buffer.
wk.add({ vim.api.nvim_create_autocmd("LspAttach", {
{"<leader>d", group = "DAP"}, group = vim.api.nvim_create_augroup("UserDapConfig", {}),
{"<leader>dd", desc = "Toggle DAP UI"}, callback = function(event)
{"<leader>db", desc = "Toggle breakpoint"}, local wk = require("which-key")
{"<leader>dB", desc = "Set breakpoint"}, wk.add({
{"<leader>dm", desc = "message point"}, { "<leader>d", group = "DAP" },
{"<leader>dr", desc = "Open repl"}, { "<leader>dd", desc = "Toggle DAP UI" },
{"<leader>dl", desc = "Run last"}, { "<leader>db", desc = "Toggle breakpoint" },
{"<leader>dh", desc = "Hover widgets"}, { "<leader>dB", desc = "Set breakpoint" },
{"<leader>dp", desc = "Preview widgets"}, { "<leader>dm", desc = "message point" },
{"<leader>df", desc = "Float frames"}, { "<leader>dr", desc = "Open repl" },
{"<leader>ds", desc = "Float scopes"}, { "<leader>dl", desc = "Run last" },
{"<leader>d<F5>", desc = "Debug start/continue"}, { "<leader>dh", desc = "Hover widgets" },
{"<leader>d<F6>", desc = "Debug step over"}, { "<leader>dp", desc = "Preview widgets" },
{"<leader>d<F7>", desc = "Debug step into"}, { "<leader>df", desc = "Float frames" },
{"<leader>d<F8>", desc = "Debug step out"}, { "<leader>ds", desc = "Float scopes" },
{ "<leader>d<F5>", desc = "Debug start/continue" },
{ "<leader>d<F6>", desc = "Debug step over" },
{ "<leader>d<F7>", desc = "Debug step into" },
{ "<leader>d<F8>", desc = "Debug step out" },
})
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', '<F7>', function() require('dap').step_into() end)
vim.keymap.set('n', '<F8>', function() require('dap').step_out() end)
vim.keymap.set('n', '<Leader>db', function() require('dap').toggle_breakpoint() end)
vim.keymap.set('n', '<Leader>dB', function() require('dap').set_breakpoint() end)
vim.keymap.set('n', '<Leader>dm',
function() require('dap').set_breakpoint(nil, nil, vim.fn.input('Log point message: ')) end)
vim.keymap.set('n', '<Leader>dr', function() require('dap').repl.open() end)
vim.keymap.set('n', '<Leader>dl', function() require('dap').run_last() end)
vim.keymap.set({ 'n', 'v' }, '<Leader>dh', function()
require('dap.ui.widgets').hover()
end)
vim.keymap.set({ 'n', 'v' }, '<Leader>dp', function()
require('dap.ui.widgets').preview()
end)
vim.keymap.set('n', '<Leader>df', function()
local widgets = require('dap.ui.widgets')
widgets.centered_float(widgets.frames)
end)
vim.keymap.set('n', '<Leader>ds', function()
local widgets = require('dap.ui.widgets')
widgets.centered_float(widgets.scopes)
end)
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', '<F7>', function() require('dap').step_into() end)
vim.keymap.set('n', '<F8>', function() require('dap').step_out() end)
vim.keymap.set('n', '<Leader>db', function() require('dap').toggle_breakpoint() end)
vim.keymap.set('n', '<Leader>dB', function() require('dap').set_breakpoint() end)
vim.keymap.set('n', '<Leader>dm',
function() require('dap').set_breakpoint(nil, nil, vim.fn.input('Log point message: ')) end)
vim.keymap.set('n', '<Leader>dr', function() require('dap').repl.open() end)
vim.keymap.set('n', '<Leader>dl', function() require('dap').run_last() end)
vim.keymap.set({ 'n', 'v' }, '<Leader>dh', function()
require('dap.ui.widgets').hover()
end)
vim.keymap.set({ 'n', 'v' }, '<Leader>dp', function()
require('dap.ui.widgets').preview()
end)
vim.keymap.set('n', '<Leader>df', function()
local widgets = require('dap.ui.widgets')
widgets.centered_float(widgets.frames)
end)
vim.keymap.set('n', '<Leader>ds', function()
local widgets = require('dap.ui.widgets')
widgets.centered_float(widgets.scopes)
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 = {},
}