mirror of
https://github.com/Baipyrus/nvim-config.git
synced 2024-12-25 12:51:45 +00:00
modify nvim-jdtls settings by detecting processing-java core library
This commit is contained in:
parent
1fe59378ba
commit
786cbc90d8
@ -49,6 +49,64 @@ return {
|
||||
dap_main = {},
|
||||
test = true,
|
||||
settings = {
|
||||
java = {
|
||||
project = (function()
|
||||
-- START SEARCH FOR PROCESSING --
|
||||
-- detect install path based on system
|
||||
local is_windows = vim.fn.has("win32") == 1
|
||||
local cmds = is_windows and {
|
||||
"(gcm processing.exe).source",
|
||||
} or {
|
||||
"whereis",
|
||||
"processing.exe",
|
||||
}
|
||||
|
||||
-- run syscall and process output
|
||||
local output = vim.system(cmds, { text = true }):wait()
|
||||
local path = output.stdout or ""
|
||||
if not is_windows then
|
||||
-- on linux, get substr starting with path
|
||||
local start_idx = string.find(path, "/")
|
||||
path = (start_idx ~= nil) and string.sub(path, start_idx) or ""
|
||||
end
|
||||
|
||||
-- for windows, remove backslashes
|
||||
path = string.gsub(path, "\\", "/")
|
||||
-- remove filename at end of path
|
||||
local end_idx = string.find(path, "/[^/]*$")
|
||||
path = string.sub(path, 1, end_idx)
|
||||
|
||||
-- in case of chocolatey install, navigate to binaries
|
||||
local is_chocolatey = string.find(path, "chocolatey")
|
||||
if is_chocolatey then
|
||||
path = path .. "../lib/processing/tools/"
|
||||
-- list directories for program version
|
||||
cmds = is_windows
|
||||
and {
|
||||
"ls",
|
||||
path,
|
||||
"|select name",
|
||||
"|Out-String",
|
||||
}
|
||||
or {
|
||||
"ls",
|
||||
"-l",
|
||||
path,
|
||||
}
|
||||
|
||||
output = vim.system(cmds, { text = true }):wait()
|
||||
local version = string.match(output.stdout, "processing[^%s]*")
|
||||
path = path .. version
|
||||
end
|
||||
-- set path to processing-core library
|
||||
path = path .. "/core/library/core.jar"
|
||||
|
||||
return {
|
||||
referencedLibraries = {
|
||||
is_windows and string.gsub(path, "/", "\\") or path,
|
||||
},
|
||||
}
|
||||
end)(),
|
||||
inlayHints = {
|
||||
parameterNames = {
|
||||
enabled = "all",
|
||||
|
Loading…
Reference in New Issue
Block a user