From 8a933ee2bf9ad73643a19f6a4d3e84142d1acea3 Mon Sep 17 00:00:00 2001 From: Aotrix Date: Sat, 25 Jan 2025 01:34:09 +0100 Subject: added nvim-dap --- init.lua | 66 ++++++++++++++++++++++++++++++--------------- lua/nvim_dap/nvim_dap.lua | 37 +++++++++++++++++++++++++ lua/nvim_settings/remap.lua | 14 ++++++++++ 3 files changed, 95 insertions(+), 22 deletions(-) create mode 100644 lua/nvim_dap/nvim_dap.lua 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", "(coc-implementation)", {silent = true}) -- Remove because it is not fast enough vim.keymap.set({'n', 'i', 'v'}, '', '') + +-- nvim-dap +vim.keymap.set("n", "b", function() require("dap").toggle_breakpoint() end) +vim.keymap.set("n", "gb", function() require("dap").run_to_cursor() end) +-- Eval var under cursor +vim.keymap.set("n", "?", function() + require("dapui").eval(nil, { enter = true }) +end) +vim.keymap.set("n", "", function() require("dap").continue() end) +vim.keymap.set("n", "", function() require("dap").step_into() end) +vim.keymap.set("n", "", function() require("dap").step_over() end) +vim.keymap.set("n", "", function() require("dap").step_out() end) +vim.keymap.set("n", "", function() require("dap").step_back() end) +vim.keymap.set("n", "", function() require("dap").restart() end) -- cgit v1.2.3