-
-
Notifications
You must be signed in to change notification settings - Fork 83
Expand file tree
/
Copy pathdata-adapters.lua
More file actions
44 lines (39 loc) · 1.25 KB
/
data-adapters.lua
File metadata and controls
44 lines (39 loc) · 1.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
local List = require('java-core.utils.list')
local Set = require('java-core.utils.set')
local M = {}
---Returns the dap config record
---@param main java-dap.JavaDebugResolveMainClassRecord
---@return java-dap.DapLauncherConfig
function M.main_to_dap_launch_config(main)
local project_name = main.projectName
local main_class = main.mainClass
return {
request = 'launch',
type = 'java',
name = string.format('%s -> %s', project_name, main_class),
projectName = project_name,
mainClass = main_class,
}
end
---Returns the launcher config
---@param launch_args java-core.JavaCoreTestJunitLaunchArguments
---@param java_exec string
---@param config { debug: boolean, label: string }
---@return java-dap.DapLauncherConfig
function M.junit_launch_args_to_dap_config(launch_args, java_exec, config)
return {
name = config.label,
type = 'java',
request = 'launch',
mainClass = launch_args.mainClass,
projectName = launch_args.projectName,
noDebug = not config.debug,
javaExec = java_exec,
cwd = launch_args.workingDirectory,
classPaths = Set:new(launch_args.classpath),
modulePaths = Set:new(launch_args.modulepath),
vmArgs = List:new(launch_args.vmArguments):join(' '),
args = List:new(launch_args.programArguments):join(' '),
}
end
return M