From d653c2870e25d3e3205199b59fe6dec1575e56b5 Mon Sep 17 00:00:00 2001 From: z3rOR0ne Date: Tue, 7 Feb 2023 03:23:21 -0800 Subject: [PATCH] :sparkles: Added debugger nvim-dap --- .config/nvim/init.lua | 1 + .config/nvim/lua/config/dap/index.lua | 3 +++ .config/nvim/lua/config/dap/javascript.lua | 25 ++++++++++++++++++++++ .config/nvim/lua/neovim/packer.lua | 21 +++++++++++++++++- .config/nvim/lua/neovim/remap.lua | 12 +++++++---- 5 files changed, 57 insertions(+), 5 deletions(-) create mode 100644 .config/nvim/lua/config/dap/index.lua create mode 100644 .config/nvim/lua/config/dap/javascript.lua mode change 100755 => 100644 .config/nvim/lua/neovim/remap.lua diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index e86c98a8..323b2b87 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -1,2 +1,3 @@ require("neovim") require("impatient") +require("config.dap.javascript") diff --git a/.config/nvim/lua/config/dap/index.lua b/.config/nvim/lua/config/dap/index.lua new file mode 100644 index 00000000..f7497738 --- /dev/null +++ b/.config/nvim/lua/config/dap/index.lua @@ -0,0 +1,3 @@ +local function configure_debuggers() + require("config.dap.javascript").setup() +end diff --git a/.config/nvim/lua/config/dap/javascript.lua b/.config/nvim/lua/config/dap/javascript.lua new file mode 100644 index 00000000..d69818dc --- /dev/null +++ b/.config/nvim/lua/config/dap/javascript.lua @@ -0,0 +1,25 @@ +local dap = require('dap') +dap.adapters.node2 = { + type = 'executable', + command = 'node', + args = {os.getenv('HOME') .. '/dev/microsoft/vscode-node-debug2/out/src/nodeDebug.js'}, +} +dap.configurations.javascript = { + { + name = 'Launch', + type = 'node2', + request = 'launch', + program = '${file}', + cwd = vim.fn.getcwd(), + sourceMaps = true, + protocol = 'inspector', + console = 'integratedTerminal', + }, + { + -- For this to work you need to make sure the node process is started with the `--inspect` flag. + name = 'Attach to process', + type = 'node2', + request = 'attach', + processId = require'dap.utils'.pick_process, + }, +} diff --git a/.config/nvim/lua/neovim/packer.lua b/.config/nvim/lua/neovim/packer.lua index f85d2db6..870d2fc9 100644 --- a/.config/nvim/lua/neovim/packer.lua +++ b/.config/nvim/lua/neovim/packer.lua @@ -47,7 +47,7 @@ return require("packer").startup(function(use) }) -- use({ "iamcco/markdown-preview.nvim", run = "cd app && npm install", setup = function() vim.g.mkdp_filetypes = { "markdown" } end, ft = { "markdown" }, }) use({ "junegunn/fzf.vim" }) - use("rinx/nvim-ripgrep" ) + use({ "rinx/nvim-ripgrep" }) use({ "mbbill/undotree" }) use({ "debugloop/telescope-undo.nvim", @@ -77,4 +77,23 @@ return require("packer").startup(function(use) { "rafamadriz/friendly-snippets" }, }, }) + use({ + "mfussenegger/nvim-dap", + opt = true, + module = { "dap" }, + requires = { + "theHamsta/nvim-dap-virtual-text", + "rcarriga/nvim-dap-ui", + "mfussenegger/nvim-dap-python", + "nvim-telescope/telescope-dap.nvim", + { "leoluz/nvim-dap-go", module = "dap-go" }, + { "jbyuki/one-small-step-for-vimkind", module = "osv" }, + { "mxsdev/nvim-dap-vscode-js" }, + { + "microsoft/vscode-js-debug", + opt = true, + run = "npm install --legacy-peer-deps && npm run compile", + }, + }, + }) end) diff --git a/.config/nvim/lua/neovim/remap.lua b/.config/nvim/lua/neovim/remap.lua old mode 100755 new mode 100644 index 4b12d3b3..49aaad55 --- a/.config/nvim/lua/neovim/remap.lua +++ b/.config/nvim/lua/neovim/remap.lua @@ -30,9 +30,7 @@ vim.keymap.set("n", "", ":set spell!", { silent = true }) -- make current file executable vim.keymap.set("n", "x", "!chmod +x %", { silent = true }) - --- Vimium Like Keybindings -vim.keymap.set("n", "", ":tabnew", {}) +-- Vimium Like Keybindings vim.keymap.set("n", "", ":tabnew", {}) vim.keymap.set("n", "", ":tabprevious", {}) vim.keymap.set("n", "", ":tabprevious", {}) @@ -41,7 +39,6 @@ vim.keymap.set("n", "", ":tabprevious", {}) vim.keymap.set("n", "", ":tabnext", {}) vim.keymap.set("n", "", ":tabnext", {}) vim.keymap.set("n", "", ":tabnext", {}) - -- Use ctrl- [hl] to select the active split! vim.keymap.set("n", "", ":wincmd h", {}) vim.keymap.set("n", "", ":wincmd l", {}) @@ -93,3 +90,10 @@ vim.cmd([[nnoremap rg :silent :Rg]]) --toggle autocompletion vim.cmd([[nnoremap cmp :silent lua SetAutoCmp(Mode)]]) + +-- dap Keybindings +vim.keymap.set("n", "dbp", ":lua require'dap'.toggle_breakpoint()") +vim.keymap.set("n", "dco", ":lua require'dap'.continue()") +vim.keymap.set("n", "dso", ":lua require'dap'.step_over()") +vim.keymap.set("n", "dsi", ":lua require'dap'.step_into()") +vim.keymap.set("n", "dcl", ":lua require'dap'.close()")