aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lua/config/java.lua88
-rw-r--r--lua/config/lsp.lua13
-rw-r--r--nvim-pack-lock.json4
3 files changed, 92 insertions, 13 deletions
diff --git a/lua/config/java.lua b/lua/config/java.lua
index 819a09e..c2e9de3 100644
--- a/lua/config/java.lua
+++ b/lua/config/java.lua
@@ -1,6 +1,94 @@
vim.pack.add({
"https://github.com/nvim-java/nvim-java",
"https://github.com/JavaHello/spring-boot.nvim",
+ "https://github.com/iamkarasik/sonarqube.nvim",
})
require("java").setup()
+
+local function path_to_class(path)
+ local name = path:gsub("%.java$", "")
+ local class_path = name:match(".*/java/(.*)") or name
+ class_path = class_path:gsub("/", ".")
+ return class_path
+end
+
+-- find java files only
+-- inspired by
+-- https://github.com/MuriloGhignatti/nvim-config/blob/main/lua/safe/plugins/fuzzy_finder.lua
+vim.keymap.set("n", "<leader>jc", function()
+ require("telescope.builtin").find_files({
+ prompt_title = "Java Classes",
+ cwd = vim.fn.getcwd(),
+ find_command = {
+ "rg",
+ "--files",
+ "--type",
+ "java",
+ "--glob",
+ "!*.properties",
+ "--glob",
+ "!*Test.java",
+ "--glob",
+ "!**/test/**",
+ },
+ path_display = function(_, path)
+ return path_to_class(path)
+ end,
+ previewer = true,
+ })
+end)
+
+vim.keymap.set("n", "<leader>jt", function()
+ require("telescope.builtin").find_files({
+ prompt_title = "Java Tests",
+ cwd = vim.fn.getcwd(),
+ find_command = {
+ "rg",
+ "--files",
+ "--type",
+ "java",
+ "--glob",
+ "!*.properties",
+ "--glob",
+ "*Test*.java",
+ "--glob",
+ "**/test/**.java",
+ },
+ path_display = function(_, path)
+ return path_to_class(path)
+ end,
+ previewer = true,
+ })
+end)
+
+-- mason sonarqube config
+local extension_path = vim.fn.stdpath("data") .. "/mason/packages/sonarlint-language-server/extension"
+
+require("sonarqube").setup({
+ lsp = {
+ cmd = {
+ vim.fn.exepath("java"),
+ "-jar",
+ extension_path .. "/server/sonarlint-ls.jar",
+ "-stdio",
+ "-analyzers",
+ extension_path .. "/analyzers/sonargo.jar",
+ extension_path .. "/analyzers/sonarhtml.jar",
+ extension_path .. "/analyzers/sonariac.jar",
+ extension_path .. "/analyzers/sonarjava.jar",
+ extension_path .. "/analyzers/sonarjavasymbolicexecution.jar",
+ extension_path .. "/analyzers/sonarjs.jar",
+ extension_path .. "/analyzers/sonarphp.jar",
+ extension_path .. "/analyzers/sonarpython.jar",
+ extension_path .. "/analyzers/sonartext.jar",
+ extension_path .. "/analyzers/sonarxml.jar",
+ },
+ },
+ csharp = {
+ enabled = true,
+ omnisharpDirectory = extension_path .. "/omnisharp",
+ csharpOssPath = extension_path .. "/analyzers/sonarcsharp.jar",
+ csharpEnterprisePath = extension_path .. "/analyzers/csharpenterprise.jar",
+ },
+})
diff --git a/lua/config/lsp.lua b/lua/config/lsp.lua
index 51ed5ec..2d2db8a 100644
--- a/lua/config/lsp.lua
+++ b/lua/config/lsp.lua
@@ -9,19 +9,6 @@ vim.pack.add({
require("mason").setup()
require("mason-lspconfig").setup()
-vim.lsp.enable({
- "bashls",
- "lua_ls",
- "sourcekit",
- "ts_ls",
- "css_ls",
- "emmet_language_server",
- "svelte",
- "astro",
- "cobol_ls",
- "lemminx",
-})
-
require("blink.cmp").setup({
signature = { enabled = true },
})
diff --git a/nvim-pack-lock.json b/nvim-pack-lock.json
index d148d75..1446760 100644
--- a/nvim-pack-lock.json
+++ b/nvim-pack-lock.json
@@ -109,6 +109,10 @@
"rev": "d6b802552cbe7d643a3b6b31f419c248d1f1e220",
"src": "https://github.com/HiPhish/rainbow-delimiters.nvim"
},
+ "sonarqube.nvim": {
+ "rev": "811bf8f46e0aa5ed9c9b5783aaf6f87640df553a",
+ "src": "https://github.com/iamkarasik/sonarqube.nvim"
+ },
"spring-boot.nvim": {
"rev": "affc5d16f1de9bbcbb260a31e74ee1037d4903a0",
"src": "https://github.com/JavaHello/spring-boot.nvim"