diff --git a/nvim/lua/dap_config.lua b/nvim/lua/dap_config.lua index ac8919d..e3eaa12 100644 --- a/nvim/lua/dap_config.lua +++ b/nvim/lua/dap_config.lua @@ -7,13 +7,34 @@ local M ={} local DEBUGGER_PATH = {os.getenv('HOME')..'/.local/share/nvim/mason/packages/js-debug-adapter'} function M.setup() + dap.adapters.lldb = { + type = 'executable', + command = '/usr/bin/lldb-vscode', + name = 'lldb' + } + + dap.configurations.cpp = { + { + name = 'Launch', + type = 'lldb', + request = 'launch', + program = function() + return vim.fn.input('Path to executable: ',vim.fn.getcwd() .. '/', 'file') + end, + cwd = '${workspaceFolder}', + stopOnEntry = false, + args = {} + } + } + dap.configurations.c = dap.configurations.cpp + dap.configurations.rust = dap.configurations.cpp require('dap-vscode-js').setup { node_path = "node", debugger_path = DEBUGGER_PATH, adapters = {"pwa-node","pwa-chrome","pwa-msedge","node-terminal", "pwa-extensionHost"} } for _, language in ipairs {"typescript", "javascript"} do - dap.configurations[language] = { + dap.configurations[language] ={{ type = "pwa-node", request = "launch", name = "Launch File", @@ -40,40 +61,10 @@ function M.setup() console = "integratedTerminal", internalConsoleOptions = "neverOpen", cwd = "${workspacefolder}" - } + }} end end -local function configure_debuggers() - require("config.dap.javascript").setup() - require("config.dap.typescript").setup() -end - +M.setup() return M - - ---dap.adapters.node2 = { --- type = 'executable', --- command = 'node', --- args = {os.getenv('HOME') .. '/.local/share/nvim/mason/packages/node-debug2-adapter/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/nvim/lua/keymap.lua b/nvim/lua/keymap.lua index c56b040..6202a4f 100644 --- a/nvim/lua/keymap.lua +++ b/nvim/lua/keymap.lua @@ -42,3 +42,12 @@ nmap("n",":NvimTreeToggle") nmap("zn","zf%") nmap("y",'\"+y') vmap("y",'\"+y') + +nmap("",":lua require'dap'.continue()") +nmap("",":lua require'dap'.step_over()") +nmap("",":lua require'dap'.step_into()") +nmap("",":lua require'dap'.step_out()") +nmap("b",":lua require'dap'.toggle_breakpoint()") +nmap("B",":lua require'dap'.set_breakpoint(vim.fn.input('Breakpoint condition: '))") +nmap("lp",":lua require'dap'.set_breakpoint(nil,nil,vim.fn.input('Log point message: '))") +nmap("lp",":lua require'dap'.repl.open()") diff --git a/nvim/lua/new_lsp_conf.lua b/nvim/lua/new_lsp_conf.lua index c96ecdb..aad8088 100644 --- a/nvim/lua/new_lsp_conf.lua +++ b/nvim/lua/new_lsp_conf.lua @@ -36,7 +36,9 @@ local lsp_flags = { -- This is the default in Nvim 0.7+ debounce_text_changes = 150, } + local capabilities = require('cmp_nvim_lsp').default_capabilities( + vim.lsp.protocol.make_client_capabilities() ) require('mason-lspconfig').setup_handlers { @@ -52,8 +54,8 @@ require('mason-lspconfig').setup_handlers { tools = { inlay_hints = { auto = true, - only_current_line = false, - show_parameter_hints = true, + only_current_line = true, + show_parameter_hints = false, parameter_hints_prefix = "<-", } }, @@ -71,16 +73,6 @@ require('mason-lspconfig').setup_handlers { } } require('rust-tools').setup(rustToolsOpts) - --on_attach = on_attach, - --flags = lsp_flags, - require('lspconfig')['rust_analyzer'].setup { - on_attach = on_attach, - flags = lsp_flags, - -- server-specific settings... - settings = { - ["rust-analyzer"] = {} - } - } end, ['sumneko_lua'] = function() require('lspconfig')["sumneko_lua"].setup { diff --git a/nvim/lua/plugins.lua b/nvim/lua/plugins.lua index 9f8d0ac..0520ca4 100644 --- a/nvim/lua/plugins.lua +++ b/nvim/lua/plugins.lua @@ -13,7 +13,7 @@ require("packer").startup(function(use) "mfussenegger/nvim-dap-python", "nvim-telescope/telescope-dap.nvim", { "jbyuki/one-small-step-for-vimkind", module = "osv" }, - { "mxsdev/nvim-dap-vscode-js" }, + "mxsdev/nvim-dap-vscode-js", } } use("jose-elias-alvarez/null-ls.nvim")