From 902545940935d6d6c79910b45bde7d304fe820a6 Mon Sep 17 00:00:00 2001 From: Kyren223 Date: Sun, 4 Aug 2024 13:40:25 +0300 Subject: remove(nvim): nvim-jdtls --- .config/nvim/lua/custom/plugins/nvim-jdtls.lua | 154 ------------------------- 1 file changed, 154 deletions(-) delete mode 100644 .config/nvim/lua/custom/plugins/nvim-jdtls.lua (limited to '.config/nvim/lua/custom/plugins/nvim-jdtls.lua') diff --git a/.config/nvim/lua/custom/plugins/nvim-jdtls.lua b/.config/nvim/lua/custom/plugins/nvim-jdtls.lua deleted file mode 100644 index 16671b4..0000000 --- a/.config/nvim/lua/custom/plugins/nvim-jdtls.lua +++ /dev/null @@ -1,154 +0,0 @@ -return { - 'mfussenegger/nvim-jdtls', - ft = { 'java' }, - dependencies = { 'mfussenegger/nvim-dap', 'williamboman/mason-lspconfig.nvim' }, - opts = function(_, opts) - local jdtls = require('jdtls') - local root_markers = { '.git', 'mvnw', 'gradlew', 'pom.xml', 'build.gradle', '.project' } - local root_dir = require('jdtls.setup').find_root(root_markers) - local project_name = vim.fn.fnamemodify(vim.fn.getcwd(), ':p:h:t') - local workspace_dir = vim.fn.stdpath('data') .. '/site/java/workspace-root/' .. project_name - os.execute('mkdir ' .. workspace_dir) - - local defaults = { - 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', - '-javaagent:' .. vim.fn.expand('$MASON/share/jdtls/lombok.jar'), - '-Xms1g', - '--add-modules=ALL-SYSTEM', - '--add-opens', - 'java.base/java.util=ALL-UNNAMED', - '--add-opens', - 'java.base/java.lang=ALL-UNNAMED', - '-jar', - vim.fn.expand('$MASON/share/jdtls/plugins/org.eclipse.equinox.launcher.jar'), - '-configuration', - -- WARNING: Might need to change to config_linux or smthing - vim.fn.expand('$MASON/share/jdtls/config'), - '-data', - workspace_dir, - }, - root_dir = root_dir, - settings = { - java = { - -- WARNING: might need home = 'path' - -- WARNING: might need configuration.runtimes = {} of paths - eclipse = { downloadSources = true }, - configuration = { updateBuildConfiguration = 'interactive' }, - maven = { downloadSources = true }, - implementationsCodeLens = { enabled = true }, - referencesCodeLens = { enabled = true }, - -- NOTE: maybe want to uncomment this - -- references = { includeDecompiledSources = true, }, - -- signatureHelp = { enabled = true }, - -- format = { - -- enabled = true, - -- -- Formatting works by default, but you can refer to a specific file/URL if you choose - -- -- settings = { - -- -- url = "https://github.com/google/styleguide/blob/gh-pages/intellij-java-google-style.xml", - -- -- profile = "GoogleStyle", - -- -- }, - -- }, - }, - signatureHelp = { enabled = true }, - completion = { - favoriteStaticMembers = { - 'org.hamcrest.MatcherAssert.assertThat', - 'org.hamcrest.Matchers.*', - 'org.hamcrest.CoreMatchers.*', - 'org.junit.jupiter.api.Assertions.*', - 'java.util.Objects.requireNonNull', - 'java.util.Objects.requireNonNullElse', - 'org.mockito.Mockito.*', - }, - -- importOrder = { - -- 'java', - -- 'javax', - -- 'com', - -- 'org', - -- }, - }, - -- extendedClientCapabilities = jdtls.extendedClientCapabilities, - sources = { - organizeImports = { - starThreshold = 9999, - staticStarThreshold = 9999, - }, - }, - -- codeGeneration = { - -- toString = { - -- template = '${object.className}{${member.name()}=${member.value}, ${otherMembers}}', - -- }, - -- useBlocks = true, - -- }, - }, - -- Needed for auto-completion with method signatures and placeholders - capabilities = require('cmp_nvim_lsp').default_capabilities(), - init_options = { - bundles = { - vim.fn.expand('$MASON/share/java-debug-adapter/com.microsoft.java.debug.plugin.jar'), - -- unpack remaining bundles - (table.unpack or unpack)(vim.split(vim.fn.glob('$MASON/share/java-test/*.jar'), '\n', {})), - }, - }, - -- flags = { allow_incremental_sync = true }, - handlers = { - ['$/progress'] = function() - -- disable progress updates. - end, - }, - filetypes = { 'java' }, - on_attach = function(client, bufnr) - jdtls.setup_dap({ hotcodereplace = 'auto' }) - end, - } - - -- ensure that table is valid - if not opts then - opts = {} - end - - -- extend the current table with the defaults keeping options in the user opts - -- this allows users to pass opts through an opts table in community.lua - opts = vim.tbl_deep_extend('keep', opts, defaults) - - -- send opts to config - return opts - end, - config = function(_, opts) - -- setup autocmd on filetype detect java - vim.api.nvim_create_autocmd('Filetype', { - pattern = 'java', -- autocmd to start jdtls - callback = function() - if opts.root_dir and opts.root_dir ~= '' then - require('jdtls').start_or_attach(opts) - -- require('jdtls.dap').setup_dap_main_class_configs() - else - -- require('astronvim.utils').notify( - -- 'jdtls: root_dir not found. Please specify a root marker', - -- vim.log.levels.ERROR - -- ) - end - end, - }) - - -- -- create autocmd to load main class configs on LspAttach. - -- -- This ensures that the LSP is fully attached. - -- -- See https://github.com/mfussenegger/nvim-jdtls#nvim-dap-configuration - -- vim.api.nvim_create_autocmd('LspAttach', { - -- pattern = '*.java', - -- callback = function(args) - -- local client = vim.lsp.get_client_by_id(args.data.client_id) - -- -- ensure that only the jdtls client is activated - -- if client.name == 'jdtls' then - -- require('jdtls.dap').setup_dap_main_class_configs() - -- end - -- end, - -- }) - end, -} -- cgit v1.3.1