Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
164 changes: 0 additions & 164 deletions doc/server-capabilities.md

This file was deleted.

3 changes: 0 additions & 3 deletions lua/java-core.lua

This file was deleted.

17 changes: 17 additions & 0 deletions lua/java-core/ls/servers/jdtls/init.lua
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
local config = require('java-core.ls.servers.jdtls.config')
local log = require('java-core.utils.log')
local mason = require('java-core.utils.mason')
local mason_reg = require('mason-registry')
local path = require('java-core.utils.path')
local plugins = require('java-core.ls.servers.jdtls.plugins')
local util = require('lspconfig.util')
Expand All @@ -13,6 +14,7 @@ local M = {}
---Ex:- { 'pom.xml', 'build.gradle', '.git' }
---@field jdtls_plugins string[] list of jdtls plugins to load on start up
---Ex:- { 'java-test', 'java-debug-adapter' }
---@field use_mason_jdk boolean whether to use mason jdk to load jdtls or not

---Returns a configuration for jdtls that you can pass into the setup of nvim-lspconfig
---@param opts JavaCoreGetConfigOptions
Expand All @@ -36,6 +38,21 @@ function M.get_config(opts)
'-javaagent:' .. lombok_path,
}

if opts.use_mason_jdk then
local jdk = mason_reg.get_package('openjdk-17')

if jdk:is_installed() then
local java_home =
vim.fn.glob(path.join(jdk:get_install_path(), '/jdk-17*'))
local java_bin = path.join(java_home, '/bin')

base_config.cmd_env = {
['PATH'] = vim.fn.getenv('PATH') .. ':' .. java_bin,
['JAVA_HOME'] = java_home,
}
end
end

base_config.root_dir = M.get_root_finder(opts.root_markers)
base_config.init_options.bundles = plugin_paths
base_config.init_options.workspace = workspace.get_default_workspace()
Expand Down