summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAotrix <[email protected]>2025-01-25 01:34:09 +0100
committerAotrix <[email protected]>2025-01-25 01:34:09 +0100
commit8a933ee2bf9ad73643a19f6a4d3e84142d1acea3 (patch)
treef49ed92f05c6ab42b2a084ce100e28225f9a590a
parentcbfd9e0747ae2801eb812caaa07030f54db3a4b9 (diff)
added nvim-dap
-rw-r--r--init.lua66
-rw-r--r--lua/nvim_dap/nvim_dap.lua37
-rw-r--r--lua/nvim_settings/remap.lua14
3 files changed, 95 insertions, 22 deletions
diff --git a/init.lua b/init.lua
index 832ba61..a19042b 100644
--- a/init.lua
+++ b/init.lua
@@ -14,64 +14,86 @@ vim.opt.rtp:prepend(lazypath)
-- lazy setup
require('lazy').setup({
-- Loading theme
- {
+{
"EdenEast/nightfox.nvim",
config = function()
require('theme/duskfox')
- end,},
+ end,
+},
-- LSP
- {
+{
-- Autocompletion
{'neoclide/coc.nvim' ,
config = function()
require('autocomplete/autocomplete')
end ,
branch="release"
- },
+ },
-- Snippets
'L3MON4D3/LuaSnip' , -- Required
'rafamadriz/friendly-snippets' , -- Optional
- },
- {"xiyaowong/transparent.nvim",
- config = function()
- require('transparent/transparent')
- end},
+},
- {
+{
+ "xiyaowong/transparent.nvim",
+ config = function()
+ require('transparent/transparent')
+ end
+},
+
+{
"nvim-treesitter/nvim-treesitter",
config = function()
require('treesitter/treesitter')
end
- },
+},
- {
+{
'nvim-lualine/lualine.nvim',
-- dependencies = {'nvim-tree/nvim-web-devicons'},
config = function()
require('statusline/statusline')
end
- },
+},
+
-- Telescope
- {
+{
'nvim-telescope/telescope.nvim', tag = '0.1.5',
-- or , branch = '0.1.x',
dependencies = { 'nvim-lua/plenary.nvim',
'nvim-telescope/telescope-live-grep-args.nvim',
'fannheyward/telescope-coc.nvim',
- },
+ },
config = function()
require('telescope/telescope')
end
- },
+},
+
+{
+ 'ThePrimeagen/harpoon',
+ dependencies = {'nvim-lua/plenary.nvim'},
+ config = function()
+ require('harpoon/harpoon')
+ end
+},
+
+{
+ 'mfussenegger/nvim-dap',
+ dependencies = {
+ 'rcarriga/nvim-dap-ui',
+ 'theHamsta/nvim-dap-virtual-text',
+ 'nvim-neotest/nvim-nio',
+ 'williamboman/mason.nvim',
+ },
+ config = function()
+ require('nvim_dap/nvim_dap')
+ end
+},
+
+
- {'ThePrimeagen/harpoon',
- dependencies = {'nvim-lua/plenary.nvim'},
- config = function()
- require('harpoon/harpoon')
- end
- }
})
-- nvim settings
diff --git a/lua/nvim_dap/nvim_dap.lua b/lua/nvim_dap/nvim_dap.lua
new file mode 100644
index 0000000..209cab1
--- /dev/null
+++ b/lua/nvim_dap/nvim_dap.lua
@@ -0,0 +1,37 @@
+local dap = require "dap"
+local ui = require "dapui"
+
+require("dapui").setup()
+require("nvim-dap-virtual-text").setup()
+require("mason").setup()
+
+dap.adapters.codelldb = {
+ type = "executable",
+ command = "codelldb", -- or if not in $PATH: "/absolute/path/to/codelldb"
+}
+
+dap.configurations.cpp = {
+ {
+ name = "Launch file",
+ type = "codelldb",
+ request = "launch",
+ program = function()
+ return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file')
+ end,
+ cwd = '${workspaceFolder}',
+ stopOnEntry = false,
+ },
+}
+
+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
diff --git a/lua/nvim_settings/remap.lua b/lua/nvim_settings/remap.lua
index 9f6a06d..7c5b5f0 100644
--- a/lua/nvim_settings/remap.lua
+++ b/lua/nvim_settings/remap.lua
@@ -35,3 +35,17 @@ vim.keymap.set("n", "gi", "<Plug>(coc-implementation)", {silent = true})
-- Remove <C-c> because it is not fast enough
vim.keymap.set({'n', 'i', 'v'}, '<C-c>', '<nop>')
+
+-- nvim-dap
+vim.keymap.set("n", "<space>b", function() require("dap").toggle_breakpoint() end)
+vim.keymap.set("n", "<space>gb", function() require("dap").run_to_cursor() end)
+-- Eval var under cursor
+vim.keymap.set("n", "<space>?", function()
+ require("dapui").eval(nil, { enter = true })
+end)
+vim.keymap.set("n", "<F1>", function() require("dap").continue() end)
+vim.keymap.set("n", "<F2>", function() require("dap").step_into() end)
+vim.keymap.set("n", "<F3>", function() require("dap").step_over() end)
+vim.keymap.set("n", "<F4>", function() require("dap").step_out() end)
+vim.keymap.set("n", "<F5>", function() require("dap").step_back() end)
+vim.keymap.set("n", "<F13>", function() require("dap").restart() end)