diff --git a/init.lua b/init.lua index 29bb3a4..165efc4 100644 --- a/init.lua +++ b/init.lua @@ -14,6 +14,7 @@ require("user.autocmds") require("user.files_utils") require("user.commands") require("user.comment") +require("user.java") return require("packer").startup(function(use) -- Let packer manage itself diff --git a/lua/user/java.lua b/lua/user/java.lua index fe23450..b7394d2 100644 --- a/lua/user/java.lua +++ b/lua/user/java.lua @@ -1,7 +1,28 @@ --- ~/.config/nvim/lua/user/java.lua +local jdtls = require('jdtls') --- Additional Java-specific configurations can go here +vim.api.nvim_create_autocmd("FileType", { + pattern = "java", + callback = function() + local root_dir = require('jdtls.setup').find_root({ + '.git', + 'mvnw', + 'gradlew', + 'pom.xml', + 'build.gradle' + }) --- For example, setting up Java-specific keybindings: -vim.api.nvim_set_keymap('n', 'oi', 'lua vim.lsp.buf.organize_imports()', { noremap = true, silent = true }) + if root_dir == nil then return end + local lombok_path = vim.fn.expand("~/.local/share/nvim/mason/packages/jdtls/lombok.jar") + + local config = { + cmd = { + "jdtls", + "--jvm-arg=-javaagent:" .. lombok_path, + }, + root_dir = root_dir, + } + + jdtls.start_or_attach(config) + end, +}) diff --git a/lua/user/lsp.lua b/lua/user/lsp.lua index b7767e2..356f307 100644 --- a/lua/user/lsp.lua +++ b/lua/user/lsp.lua @@ -27,7 +27,7 @@ vim.api.nvim_create_autocmd('LspAttach', { -- These files should now use vim.lsp.config and vim.lsp.enable require("user.lsp_servers.pyright") require("user.lsp_servers.ts_ls") -require("user.lsp_servers.jdtls") +-- require("user.lsp_servers.jdtls") require("user.lsp_servers.marksman") require("user.lsp_servers.kotlin_ls") require("user.lsp_servers.graphql") diff --git a/nvim-macos-x86_64/bin/nvim b/nvim-macos-x86_64/bin/nvim deleted file mode 100755 index ad1e9b8..0000000 Binary files a/nvim-macos-x86_64/bin/nvim and /dev/null differ