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 = {},
|
dap_main = {},
|
||||||
test = true,
|
test = true,
|
||||||
settings = {
|
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 = {
|
inlayHints = {
|
||||||
parameterNames = {
|
parameterNames = {
|
||||||
enabled = "all",
|
enabled = "all",
|
||||||
|
Loading…
Reference in New Issue
Block a user