diff --git a/lua/mason-nvim-dap/mappings/adapters.lua b/lua/mason-nvim-dap/mappings/adapters.lua index 65c8cb9..fd8f74c 100644 --- a/lua/mason-nvim-dap/mappings/adapters.lua +++ b/lua/mason-nvim-dap/mappings/adapters.lua @@ -70,6 +70,11 @@ M.codelldb = { if vim.fn.has('win32') == 1 then M.codelldb.executable.detached = false end +M.mix_task = { + type = 'executable', + command = 'elixir-ls-debugger', -- https://github.com/williamboman/mason.nvim/blob/d97579ccd5689f9c6c365e841ea99c27954112ec/lua/mason-registry/elixir-ls/init.lua#L26 + args = {}, +} M = vim.tbl_deep_extend('force', M, settings.current.automatic_setup.adapters or {}) diff --git a/lua/mason-nvim-dap/mappings/configurations.lua b/lua/mason-nvim-dap/mappings/configurations.lua index 9b8dc34..cdbc047 100644 --- a/lua/mason-nvim-dap/mappings/configurations.lua +++ b/lua/mason-nvim-dap/mappings/configurations.lua @@ -164,6 +164,22 @@ M.cppdbg = { }, } +M.elixir = { + { + type = 'mix_task', + name = 'mix test', + task = 'test', + taskArgs = { '--trace' }, + request = 'launch', + startApps = true, -- for Phoenix projects + projectDir = '${workspaceFolder}', + requireFiles = { + 'test/**/test_helper.exs', + 'test/**/*_test.exs', + }, + }, +} + M = vim.tbl_deep_extend('force', M, settings.current.automatic_setup.configurations or {}) return M diff --git a/lua/mason-nvim-dap/mappings/filetypes.lua b/lua/mason-nvim-dap/mappings/filetypes.lua index 170c590..ef01471 100644 --- a/lua/mason-nvim-dap/mappings/filetypes.lua +++ b/lua/mason-nvim-dap/mappings/filetypes.lua @@ -13,6 +13,7 @@ M.adapter_to_configs = { ['python'] = { 'python' }, ['cppdbg'] = { 'c', 'cpp', 'rust' }, ['codelldb'] = { 'c', 'cpp', 'rust' }, + ['mix_task'] = { 'elixir' }, } return M