diff options
| author | awy <awy@awy.one> | 2025-10-18 00:10:58 +0300 | 
|---|---|---|
| committer | awy <awy@awy.one> | 2025-10-18 00:10:58 +0300 | 
| commit | abf932d721142a35e01a57ab9187ca35896cb237 (patch) | |
| tree | 2cce67586b1792f33fd703072673b2a0767b473e /.config/nvim/lsp/jdtls.lua | |
| parent | de009fd679e10d053fdcc10785f91ad5317449ea (diff) | |
| download | hyprdots-abf932d721142a35e01a57ab9187ca35896cb237.tar.gz | |
revert
Diffstat (limited to '.config/nvim/lsp/jdtls.lua')
| -rw-r--r-- | .config/nvim/lsp/jdtls.lua | 102 | 
1 files changed, 0 insertions, 102 deletions
diff --git a/.config/nvim/lsp/jdtls.lua b/.config/nvim/lsp/jdtls.lua deleted file mode 100644 index 4026047..0000000 --- a/.config/nvim/lsp/jdtls.lua +++ /dev/null @@ -1,102 +0,0 @@ ----@brief ---- ---- https://projects.eclipse.org/projects/eclipse.jdt.ls ---- ---- Language server for Java. ---- ---- IMPORTANT: If you want all the features jdtls has to offer, [nvim-jdtls](https://github.com/mfussenegger/nvim-jdtls) ---- is highly recommended. If all you need is diagnostics, completion, imports, gotos and formatting and some code actions ---- you can keep reading here. ---- ---- For manual installation you can download precompiled binaries from the ---- [official downloads site](http://download.eclipse.org/jdtls/snapshots/?d) ---- and ensure that the `PATH` variable contains the `bin` directory of the extracted archive. ---- ---- ```lua ----   -- init.lua ----   vim.lsp.enable('jdtls') ---- ``` ---- ---- You can also pass extra custom jvm arguments with the JDTLS_JVM_ARGS environment variable as a space separated list of arguments, ---- that will be converted to multiple --jvm-arg=<param> args when passed to the jdtls script. This will allow for example tweaking ---- the jvm arguments or integration with external tools like lombok: ---- ---- ```sh ---- export JDTLS_JVM_ARGS="-javaagent:$HOME/.local/share/java/lombok.jar" ---- ``` ---- ---- For automatic installation you can use the following unofficial installers/launchers under your own risk: ----   - [jdtls-launcher](https://github.com/eruizc-dev/jdtls-launcher) (Includes lombok support by default) ----     ```lua ----       -- init.lua ----       vim.lsp.config('jdtls', { cmd = { 'jdtls' } }) ----     ``` - -local function get_jdtls_cache_dir() -  return vim.fn.stdpath('cache') .. '/jdtls' -end - -local function get_jdtls_workspace_dir() -  return get_jdtls_cache_dir() .. '/workspace' -end - -local function get_jdtls_jvm_args() -  local env = os.getenv('JDTLS_JVM_ARGS') -  local args = {} -  for a in string.gmatch((env or ''), '%S+') do -    local arg = string.format('--jvm-arg=%s', a) -    table.insert(args, arg) -  end -  return unpack(args) -end - -local root_markers1 = { -  -- Multi-module projects -  'mvnw', -  'gradlew', -  'build.gradle', -  'build.gradle.kts', -  -- Use git directory as last resort for multi-module maven projects -  -- In multi-module maven projects it is not really possible to determine what is the parent directory -  -- and what is submodule directory. And jdtls does not break if the parent directory is at higher level than -  -- actual parent pom.xml so propagating all the way to root git directory is fine -  '.git', -} -local root_markers2 = { -  -- Single-module projects -  'build.xml', -- Ant -  'pom.xml', -- Maven -  'settings.gradle', -- Gradle -  'settings.gradle.kts', -- Gradle -} - ----@type vim.lsp.Config -return { -  ---@param dispatchers? vim.lsp.rpc.Dispatchers -  ---@param config vim.lsp.ClientConfig -  cmd = function(dispatchers, config) -    local workspace_dir = get_jdtls_workspace_dir() -    local data_dir = workspace_dir - -    if config.root_dir then -      data_dir = data_dir .. '/' .. vim.fn.fnamemodify(config.root_dir, ':p:h:t') -    end - -    local config_cmd = { -      'jdtls', -      '-data', -      data_dir, -      get_jdtls_jvm_args(), -    } - -    return vim.lsp.rpc.start(config_cmd, dispatchers, { -      cwd = config.cmd_cwd, -      env = config.cmd_env, -      detached = config.detached, -    }) -  end, -  filetypes = { 'java' }, -  root_markers = vim.fn.has('nvim-0.11.3') == 1 and { root_markers1, root_markers2 } -    or vim.list_extend(root_markers1, root_markers2), -  init_options = {}, -}  |