fix(java): jdtls run with args (#4689)

## Description

Makes run with args work for jdtls

## Related Issue(s)
- Closes #4686
- Closes #4673
This commit is contained in:
Folke Lemaitre 2024-11-03 12:48:11 +01:00 committed by GitHub
parent 29dab35619
commit 0403e80a8e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1,11 +1,17 @@
---@param config {args?:string[]|fun():string[]?} ---@param config {type?:string, args?:string[]|fun():string[]?}
local function get_args(config) local function get_args(config)
local args = type(config.args) == "function" and (config.args() or {}) or config.args or {} local args = type(config.args) == "function" and (config.args() or {}) or config.args or {} --[[@as string[] | string ]]
local args_str = type(args) == "table" and table.concat(args, " ") or args --[[@as string]]
config = vim.deepcopy(config) config = vim.deepcopy(config)
---@cast args string[] ---@cast args string[]
config.args = function() config.args = function()
local new_args = vim.fn.input("Run with args: ", table.concat(args, " ")) --[[@as string]] local new_args = vim.fn.expand(vim.fn.input("Run with args: ", args_str))
return vim.split(vim.fn.expand(new_args) --[[@as string]], " ") if config.type and config.type == "java" then
---@diagnostic disable-next-line: return-type-mismatch
return new_args
end
return vim.split(new_args, " ")
end end
return config return config
end end