From c94194fd84b9df49776d264fe87f64dcbea6c0dd Mon Sep 17 00:00:00 2001 From: s1n7ax Date: Wed, 15 Nov 2023 22:40:51 +0530 Subject: [PATCH] feat: run_test takes config to override the calculated launch config --- lua/java-core/dap.lua | 2 +- lua/java-core/ls/adapters/test-adapter.lua | 21 ++++++++++++++++++++- lua/java-core/ls/helpers/test-helper.lua | 6 +++++- 3 files changed, 26 insertions(+), 3 deletions(-) diff --git a/lua/java-core/dap.lua b/lua/java-core/dap.lua index b0f5dc4..f82a271 100644 --- a/lua/java-core/dap.lua +++ b/lua/java-core/dap.lua @@ -105,7 +105,7 @@ function M.dap_run(config) ---@type uv_tcp_t local server - require('dap').run(config, { + require('dap').run(config --[[@as Configuration]], { before = function(conf) log.debug('running before dap callback') diff --git a/lua/java-core/ls/adapters/test-adapter.lua b/lua/java-core/ls/adapters/test-adapter.lua index 0dd8975..db8780f 100644 --- a/lua/java-core/ls/adapters/test-adapter.lua +++ b/lua/java-core/ls/adapters/test-adapter.lua @@ -4,7 +4,26 @@ local JavaTestClient = require('java-core.ls.clients.java-test-client') local M = {} ----@class JavaTestLauncherConfig +---@class JavaTestLauncherConfigOverridable: JavaDapConfiguration +---@field name? string +---@field type? string +---@field request? string +---@field mainClass? string +---@field projectName? string +---@field cwd? string +---@field classPaths? string[] +---@field modulePaths? string[] +---@field vmArgs? string +---@field noDebug? boolean +---@field javaExec? string +---@field args? string +---@field env? { [string]: string; } +---@field envFile? string +---@field sourcePaths? string[] +---@field preLaunchTask? string +---@field postDebugTask? string + +---@class JavaTestLauncherConfig: JavaDapConfiguration ---@field name string ---@field type string ---@field request string diff --git a/lua/java-core/ls/helpers/test-helper.lua b/lua/java-core/ls/helpers/test-helper.lua index 78e4211..52f082b 100644 --- a/lua/java-core/ls/helpers/test-helper.lua +++ b/lua/java-core/ls/helpers/test-helper.lua @@ -98,8 +98,9 @@ end ---Run the given test ---@param tests JavaTestFindJavaProjectsResponse +---@param config? JavaTestLauncherConfigOverridable config to override the default values in test launcher config ---@return Promise -function M:run_test(tests) +function M:run_test(tests, config) ---@type JavaTestJunitLaunchArguments local launch_args @@ -129,6 +130,9 @@ function M:run_test(tests) log.debug('dap launcher config is: ', dap_launcher_config) + dap_launcher_config = + vim.tbl_deep_extend('force', dap_launcher_config, config or {}) + return JavaDap.dap_run(dap_launcher_config) end )