From c5d3dc7fa1c7f04f2149ab04718f542de05be2ee Mon Sep 17 00:00:00 2001 From: "jakob.stendahl" Date: Tue, 11 Oct 2022 12:26:59 +0200 Subject: Add vim config --- Common/nvim/ftplugin/java.lua | 90 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 Common/nvim/ftplugin/java.lua (limited to 'Common/nvim/ftplugin/java.lua') diff --git a/Common/nvim/ftplugin/java.lua b/Common/nvim/ftplugin/java.lua new file mode 100644 index 0000000..c8fbf91 --- /dev/null +++ b/Common/nvim/ftplugin/java.lua @@ -0,0 +1,90 @@ +vim.opt.tabstop = 4 +vim.opt.expandtab = false + +local config = { + cmd = { + "java", + "-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", + -- increase lombok Plug in support ,getter setter good bye + "-javaagent:/home/jakob/.config/nvim/lsp/jdt-language-server/lombok.jar", + "-Xbootclasspath/a:/home/jakob/.config/nvim/lsp/jdt-language-server/lombok.jar", + "-jar", + "/home/jakob/.config/nvim/lsp/jdt-language-server/plugins/org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar", + "-configuration", + "/home/jakob/.config/nvim/lsp/jdt-language-server/config_linux", + "-data", + "/home/jakob/.config/nvim/lsp/jdt-language-server/workspace/folder" + }, + root_dir = require("jdtls.setup").find_root({ + ".git", "mvnw", "gradlew" + }), + settings = { + java = { + } + }, + init_options = { + bundles = { + } + } +} + +require("jdtls").start_or_attach(config) + +local current_buff = vim.api.nvim_get_current_buf +-- After the language server attaches to the current buffer +-- Use on_attach The function maps only the following keys +local java_on_attach = function(client, bufnr) + --local function buf_set_keymap(...) + -- vim.api.nvim_buf_set_keymap(bufnr, ...) + --end + + -- Mappings. + local opts = { noremap = true, silent = true } + -- See `:help vim.lsp.*` for documentation on any of the below functions + --buf_set_keymap("n", "gD", "lua vim.lsp.buf.declaration()", opts) + --buf_set_keymap("n", "gd", "lua vim.lsp.buf.definition()", opts) + --buf_set_keymap('n', 'K', 'lua vim.lsp.buf.hover()', opts) + --buf_set_keymap("n", "gi", "lua vim.lsp.buf.implementation()", opts) + --buf_set_keymap('i', '', 'lua vim.lsp.buf.signature_help()', opts) + --buf_set_keymap("n", "wa", "lua vim.lsp.buf.add_workspace_folder()", opts) + --buf_set_keymap("n", "wr", "lua vim.lsp.buf.remove_workspace_folder()", opts) + --buf_set_keymap("n", "wl", "lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))", opts) + --buf_set_keymap("n", "D", "lua vim.lsp.buf.type_definition()", opts) + -- rename + --buf_set_keymap("n", "rn", "lua vim.lsp.buf.rename()", opts) + -- Intelligent reminders , such as : Automatic guiding package Has been used lspsaga The function in is replaced by + --buf_set_keymap("n", "ca", "lua vim.lsp.buf.code_action()", opts) + --buf_set_keymap("n", "gr", "lua vim.lsp.buf.references()", opts) + --buf_set_keymap("n", "e", "lua vim.lsp.diagnostic.show_line_diagnostics()", opts) + --buf_set_keymap('n', '', 'lua vim.lsp.diagnostic.goto_prev()', opts) + --buf_set_keymap("n", "", "lua vim.lsp.diagnostic.goto_next()", opts) + --buf_set_keymap("n", "q", "lua vim.lsp.diagnostic.set_loclist()", opts) + -- Code formatting + --buf_set_keymap("n", "f", "lua vim.lsp.buf.formatting()", opts) + --buf_set_keymap("n", "l", "lua vim.lsp.buf.formatting()", opts) + --buf_set_keymap("n", "l", "lua vim.lsp.buf.formatting()", opts) + -- Automatically import all missing packages , Automatically delete redundant and unused packages + --buf_set_keymap("n", "", "lua require'jdtls'.organize_imports()", opts) + -- Functions that introduce local variables function to introduce a local variable + --buf_set_keymap("n", "crv", "lua require('jdtls').extract_variable()", opts) + --buf_set_keymap("v", "crv", "lua require('jdtls').extract_variable(true)", opts) + --function to extract a constant + --buf_set_keymap("n", "crc", "lua require('jdtls').extract_constant()", opts) + --buf_set_keymap("v", "crc", "lua require('jdtls').extract_constant(true)", opts) + -- Extract a piece of code into an additional function function to extract a block of code into a method + --buf_set_keymap("v", "crm", "lua require('jdtls').extract_method(true)", opts) + -- Code saving and automatic formatting formatting + --vim.api.nvim_command [[autocmd BufWritePre lua vim.lsp.buf.formatting_seq_sync()]] +end + +java_on_attach(nil, current_buff) -- cgit v1.2.3