From 8a5a2d699986193158a03010b685c0d8cd9623ac Mon Sep 17 00:00:00 2001 From: InigoGutierrez Date: Sat, 11 Jun 2022 19:26:05 +0200 Subject: Apparently added an ftplugin for java development in nvim 6 months ago. --- stow/nvim/.config/nvim/ftplugin/java.lua | 53 ++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 stow/nvim/.config/nvim/ftplugin/java.lua diff --git a/stow/nvim/.config/nvim/ftplugin/java.lua b/stow/nvim/.config/nvim/ftplugin/java.lua new file mode 100644 index 0000000..25e1d4d --- /dev/null +++ b/stow/nvim/.config/nvim/ftplugin/java.lua @@ -0,0 +1,53 @@ +local project_name = vim.fn.fnamemodify(vim.fn.getcwd(), ':p:h:t') +local workspace_dir = '/home/taamas/proyects/java-workspaces/' .. project_name + +-- See `:help vim.lsp.start_client` for an overview of the supported `config` options. +local config = { + -- The command that starts the language server + -- See: https://github.com/eclipse/eclipse.jdt.ls#running-from-the-command-line + cmd = { + + 'java', -- or '/path/to/java11_or_newer/bin/java' + -- depends on if `java` is in your $PATH env variable and if it points to the right version. + + '-Declipse.application=org.eclipse.jdt.ls.core.id1', + '-Dosgi.bundles.defaultStartLevel=4', + '-Declipse.product=org.eclipse.jdt.ls.core.product', + '-Dlog.protocol=true', + '-Dlog.level=ALL', + '-Xms1g', + '--add-modules=ALL-SYSTEM', + '--add-opens', 'java.base/java.util=ALL-UNNAMED', + '--add-opens', 'java.base/java.lang=ALL-UNNAMED', + + '-jar', '/usr/share/java/jdtls/plugins/org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar', + + '-configuration', '/usr/share/java/jdtls/config_linux', + + '-data', workspace_dir + }, + + --root_dir = require('jdtls.setup').find_root({'.git', 'mvnw', 'gradlew'}), + + -- Here you can configure eclipse.jdt.ls specific settings + -- See https://github.com/eclipse/eclipse.jdt.ls/wiki/Running-the-JAVA-LS-server-from-the-command-line#initialize-request + -- for a list of options + settings = { + java = { + } + }, + + -- Language server `initializationOptions` + -- You need to extend the `bundles` with paths to jar files + -- if you want to use additional eclipse.jdt.ls plugins. + -- + -- See https://github.com/mfussenegger/nvim-jdtls#java-debug-installation + -- + -- If you don't plan on using the debugger or other eclipse.jdt.ls plugins you can remove this + init_options = { + bundles = {} + }, +} +-- This starts a new client & server, +-- or attaches to an existing client & server depending on the `root_dir`. +require('jdtls').start_or_attach(config) -- cgit v1.2.1