diff --git a/lazy-lock.json b/lazy-lock.json index 0435f6f..b0c523f 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -12,16 +12,25 @@ "gitsigns.nvim": { "branch": "main", "commit": "8bdaccdb897945a3c99c1ad8df94db0ddf5c8790" }, "indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" }, "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, + "lua-async-await": { "branch": "main", "commit": "652d94df34e97abe2d4a689edbc4270e7ead1a98" }, "mason.nvim": { "branch": "main", "commit": "8024d64e1330b86044fed4c8494ef3dcd483a67c" }, "menu": { "branch": "main", "commit": "3c76bdde0be1afe52b370ccfb9c3a12fa93942af" }, "minty": { "branch": "main", "commit": "aafc9e8e0afe6bf57580858a2849578d8d8db9e0" }, + "nui.nvim": { "branch": "main", "commit": "7cd18e73cfbd70e1546931b7268b3eebaeff9391" }, "nvim-autopairs": { "branch": "master", "commit": "4d74e75913832866aa7de35e4202463ddf6efd1b" }, "nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" }, + "nvim-dap": { "branch": "master", "commit": "b0f983507e3702f073bfe1516846e58b56d4e42f" }, + "nvim-java": { "branch": "main", "commit": "7c2e81caa301b0d1bc7992b88981af883b3b5d6b" }, + "nvim-java-core": { "branch": "main", "commit": "401bf7683012a25929a359deec418f36beb876e2" }, + "nvim-java-dap": { "branch": "main", "commit": "55f239532f7a3789d21ea68d1e795abc77484974" }, + "nvim-java-refactor": { "branch": "main", "commit": "b51a57d862338999059e1d1717df3bc80a3a15c0" }, + "nvim-java-test": { "branch": "main", "commit": "7f0f40e9c5b7eab5096d8bec6ac04251c6e81468" }, "nvim-lspconfig": { "branch": "master", "commit": "03bc581e05e81d33808b42b2d7e76d70adb3b595" }, "nvim-tree.lua": { "branch": "master", "commit": "ebcaccda1c575fa19a8087445276e6671e2b9b37" }, "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, "nvim-web-devicons": { "branch": "master", "commit": "1fb58cca9aebbc4fd32b086cb413548ce132c127" }, "plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" }, + "spring-boot.nvim": { "branch": "main", "commit": "218c0c26c14d99feca778e4d13f5ec3e8b1b60f0" }, "telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" }, "ui": { "branch": "v3.0", "commit": "7c51760f8772a6695875ac29f8b3c398da7753f0" }, "volt": { "branch": "main", "commit": "c45d5f48da8e802e608b5c6da471ca4d84276dfb" }, diff --git a/lua/configs/conform.lua b/lua/configs/conform.lua index e6591c4..91fe9f1 100644 --- a/lua/configs/conform.lua +++ b/lua/configs/conform.lua @@ -1,6 +1,7 @@ local options = { formatters_by_ft = { lua = { "stylua" }, + java = { "java" }, }, format_on_save = { diff --git a/lua/configs/lspconfig.lua b/lua/configs/lspconfig.lua index 12fb517..a422cc2 100644 --- a/lua/configs/lspconfig.lua +++ b/lua/configs/lspconfig.lua @@ -1,4 +1,4 @@ require("nvchad.configs.lspconfig").defaults() -local servers = { "html", "cssls" } +local servers = { "html", "cssls", "jdtls" } vim.lsp.enable(servers) diff --git a/lua/configs/treesitter.lua b/lua/configs/treesitter.lua index 4ebef77..2c76a7c 100644 --- a/lua/configs/treesitter.lua +++ b/lua/configs/treesitter.lua @@ -1,5 +1,5 @@ return { - ensure_installed = { "lua", "luadoc", "printf", "vim", "vimdoc" }, + ensure_installed = { "lua", "luadoc", "printf", "vim", "vimdoc", "java" }, highlight = { enable = true, diff --git a/lua/mappings.lua b/lua/mappings.lua index c870117..0f319cc 100644 --- a/lua/mappings.lua +++ b/lua/mappings.lua @@ -5,3 +5,12 @@ local map = vim.keymap.set map("n", ";", ":", { desc = "CMD enter command mode" }) map("i", "jk", "") map("n", "cd", ":cd ..", { desc = "Go to parent directory" }) +map("n", "ca", vim.lsp.buf.code_action, { desc = "LSP code action" }) +map("v", "ca", vim.lsp.buf.code_action, { desc = "LSP code action" }) +map("n", "j", function() + vim.diagnostic.jump { count = 1 } +end, { desc = "Go to next diagnostic" }) + +map("n", "k", function() + vim.diagnostic.jump { count = -1 } +end, { desc = "Go to previous diagnostic" }) diff --git a/lua/plugins/init.lua b/lua/plugins/init.lua index 176b5f2..96c3a9a 100644 --- a/lua/plugins/init.lua +++ b/lua/plugins/init.lua @@ -28,10 +28,15 @@ return { return conf end, }, + { "nvim-treesitter/nvim-treesitter", opts = { require "configs.treesitter", }, }, + + { + require "plugins.java.init", + }, } diff --git a/lua/plugins/java/init.lua b/lua/plugins/java/init.lua new file mode 100644 index 0000000..425f84b --- /dev/null +++ b/lua/plugins/java/init.lua @@ -0,0 +1,45 @@ +return { + "nvim-java/nvim-java", + dependencies = { + { + "neovim/nvim-lspconfig", + opts = { + servers = { + jdtls = { + settings = { + java = { + configuration = { + runtimes = { + { + name = "JavaSE-21", + path = "/usr/local/sdkman/candidates/java/current", + }, + }, + }, + }, + }, + }, + }, + setup = { + jdtls = function() + require("java").setup { + jdk = { + auto_install = false, + }, + root_markers = { + "settings.gradle", + "settings.gradle.kts", + "pom.xml", + "build.gradle", + "mvnw", + "gradlew", + "build.gradle", + "build.gradle.kts", + }, + } + end, + }, + }, + }, + }, +}