feat: dont know i guess its on github now

This commit is contained in:
s-prechtl 2024-11-08 20:20:24 +01:00
parent e08b6f3a41
commit f46ca719c8
3 changed files with 195 additions and 1 deletions

View file

@ -388,9 +388,24 @@ require('lazy').setup {
manual_install = true,
filetypes = { 'c', 'cpp' },
root_dir = lspconfig.util.root_pattern("src"),
cmd = {
"clangd",
"--pch-storage=memory",
"--completion-style=detailed",
"--header-insertion=never",
"--background-index",
"--all-scopes-completion",
"--header-insertion-decorators",
"--function-arg-placeholders",
"--inlay-hints",
"--pretty",
-- TODO: remove or adjust
-- "-j=4",
},
},
gopls = {},
pylsp = {},
pylsp = {
},
rust_analyzer = {},
volar = {},
ts_ls = {

View file

@ -0,0 +1,91 @@
return {
{
"mfussenegger/nvim-dap",
dependencies = {
"rcarriga/nvim-dap-ui",
"nvim-neotest/nvim-nio",
"theHamsta/nvim-dap-virtual-text",
"williamboman/mason.nvim",
},
config = function()
local dap = require("dap")
local ui = require("dapui")
ui.setup()
local gdb = vim.fn.exepath("gdb")
if gdb ~= "" then
dap.adapters.gdb = {
type = "executable",
command = "gdb",
args = { "--interpreter=dap", "--eval-command", "set print pretty on" }
}
dap.configurations.c = {
{
name = "Launch",
type = "gdb",
request = "launch",
program = vim.fn.getcwd() .. '/target/main.o',
-- program = function()
-- return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file')
-- end,
cwd = "${workspaceFolder}",
stopAtBeginningOfMainSubprogram = true,
debugmode = "file",
},
-- {
-- name = "Select and attach to process",
-- type = "gdb",
-- request = "attach",
-- program = function()
-- return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file')
-- end,
-- pid = function()
-- local name = vim.fn.input('Executable name (filter): ')
-- return require("dap.utils").pick_process({ filter = name })
-- end,
-- cwd = '${workspaceFolder}'
-- },
-- {
-- name = 'Attach to gdbserver :1234',
-- type = 'gdb',
-- request = 'attach',
-- target = 'localhost:1234',
-- program = function()
-- return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file')
-- end,
-- cwd = '${workspaceFolder}'
-- },
}
end
-- Evaluate expression under cursor
vim.keymap.set("n", "<leader>?", function()
require("dapui").eval(nil, { enter = true })
end)
-- Keymaps
vim.keymap.set("n", "<leader>b", dap.toggle_breakpoint)
vim.keymap.set("n", "<F5>", dap.restart)
vim.keymap.set("n", "<F4>", dap.step_out)
vim.keymap.set("n", "<F1>", dap.continue)
vim.keymap.set("n", "<F3>", dap.step_into)
vim.keymap.set("n", "<F2>", dap.step_over)
-- Open and close DAP UI
dap.listeners.before.attach.dapui_config = function()
ui.open()
end
dap.listeners.before.launch.dapui_config = function()
ui.open()
end
dap.listeners.before.event_terminated.dapui_config = function()
ui.close()
end
dap.listeners.before.event_exited.dapui_config = function()
ui.close()
end
end
}
}

View file

@ -0,0 +1,88 @@
-- debug.lua
--
-- Shows how to use the DAP plugin to debug your code.
--
-- Primarily focused on configuring the debugger for Go, but can
-- be extended to other languages as well. That's why it's called
-- kickstart.nvim and not kitchen-sink.nvim ;)
return {
-- -- NOTE: Yes, you can install new plugins here!
-- 'mfussenegger/nvim-dap',
-- -- NOTE: And you can specify dependencies as well
-- dependencies = {
-- -- Creates a beautiful debugger UI
-- 'nvim-neotest/nvim-nio',
-- 'rcarriga/nvim-dap-ui',
--
-- -- Installs the debug adapters for you
-- 'williamboman/mason.nvim',
-- 'jay-babu/mason-nvim-dap.nvim',
--
-- -- Add your own debuggers here
-- 'leoluz/nvim-dap-go',
-- },
-- config = function()
-- local dap = require 'dap'
-- local dapui = require 'dapui'
--
-- require('mason-nvim-dap').setup {
-- -- Makes a best effort to setup the various debuggers with
-- -- reasonable debug configurations
-- automatic_setup = true,
--
-- -- You can provide additional configuration to the handlers,
-- -- see mason-nvim-dap README for more information
-- handlers = {},
--
-- -- You'll need to check that you have the required things installed
-- -- online, please don't ask me how to install them :)
-- ensure_installed = {
-- -- Update this to ensure that you have the debuggers for the langs you want
-- 'delve',
-- },
-- }
--
-- -- Basic debugging keymaps, feel free to change to your liking!
-- vim.keymap.set('n', '<F5>', dap.continue, { desc = 'Debug: Start/Continue' })
-- vim.keymap.set('n', '<F1>', dap.step_into, { desc = 'Debug: Step Into' })
-- vim.keymap.set('n', '<F2>', dap.step_over, { desc = 'Debug: Step Over' })
-- vim.keymap.set('n', '<F3>', dap.step_out, { desc = 'Debug: Step Out' })
-- vim.keymap.set('n', '<leader>b', dap.toggle_breakpoint, { desc = 'Debug: Toggle Breakpoint' })
-- vim.keymap.set('n', '<leader>B', function()
-- dap.set_breakpoint(vim.fn.input 'Breakpoint condition: ')
-- end, { desc = 'Debug: Set Breakpoint' })
--
-- -- Dap UI setup
-- -- For more information, see |:help nvim-dap-ui|
-- dapui.setup {
-- -- Set icons to characters that are more likely to work in every terminal.
-- -- Feel free to remove or use ones that you like more! :)
-- -- Don't feel like these are good choices.
-- icons = { expanded = '▾', collapsed = '▸', current_frame = '*' },
-- controls = {
-- icons = {
-- pause = '⏸',
-- play = '▶',
-- step_into = '⏎',
-- step_over = '⏭',
-- step_out = '⏮',
-- step_back = 'b',
-- run_last = '▶▶',
-- terminate = '⏹',
-- disconnect = '⏏',
-- },
-- },
-- }
--
-- -- Toggle to see last session result. Without this, you can't see session output in case of unhandled exception.
-- vim.keymap.set('n', '<F7>', dapui.toggle, { desc = 'Debug: See last session result.' })
--
-- dap.listeners.after.event_initialized['dapui_config'] = dapui.open
-- dap.listeners.before.event_terminated['dapui_config'] = dapui.close
-- dap.listeners.before.event_exited['dapui_config'] = dapui.close
--
-- -- Install golang specific config
-- require('dap-go').setup()
-- end,
}