vim.opt.tabstop = 4 vim.opt.expandtab = false -- Solr vim.opt.shiftwidth = 4 vim.opt.tabstop = 8 vim.opt.softtabstop = 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)