summaryrefslogtreecommitdiffstats
path: root/lua/conf/plugins/dap.lua
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--lua/conf/plugins/dap.lua47
1 files changed, 47 insertions, 0 deletions
diff --git a/lua/conf/plugins/dap.lua b/lua/conf/plugins/dap.lua
new file mode 100644
index 0000000..fdcd152
--- /dev/null
+++ b/lua/conf/plugins/dap.lua
@@ -0,0 +1,47 @@
+local misc = require('core.misc')
+local map = misc.map
+
+return { 'mfussenegger/nvim-dap',
+ requires = {
+ 'williamboman/mason.nvim',
+ 'nvim-telescope/telescope.nvim'
+ },
+ disable = vim.version().minor < 8,
+ branch = '0.8.0',
+ function()
+
+ local dap = require("dap")
+
+ local codelldb_port = 13000
+ dap.adapters.codelldb = {
+ type = 'server',
+ host = '127.0.0.1',
+ port = codelldb_port,
+ executable = {
+ command = require('mason-registry').get_package('codelldb'):get_install_path()..'/codelldb',
+ args = { '--port', codelldb_port }
+ }
+ }
+
+ dap.configurations.c = {
+ {
+ name = 'LLDB: Launch',
+ type = 'codelldb',
+ request = 'launch',
+ program = function()
+ return vim.fn.input('Path to executable: ', vim.fn.getcwd()..'/', 'file')
+ end,
+ cwd = '${workspaceFolder}',
+ stopOnEntry = false,
+ args = {},
+ console = 'integratedTerminal'
+ }
+ }
+
+ map('n', '<Leader>ec', dap.continue)
+ map('n', '<Leader>eb', require("dap.breakpoints").toggle)
+ map('n', '<Leader>e]', dap.step_over)
+ map('n', '<Leader>e[', dap.step_back)
+ map('n', '<Leader>eR', dap.restart)
+ end
+}