aboutsummaryrefslogtreecommitdiff
path: root/lua/config
diff options
context:
space:
mode:
authorTrey Bastian <hello@treybastian.com>2026-01-30 11:29:46 +0000
committerTrey Bastian <hello@treybastian.com>2026-01-30 11:29:46 +0000
commit6edc72539468ed40101c56288ba6a4c10c85d382 (patch)
treea660303d4b3006212368ad318689ff44b58896c4 /lua/config
parent2a6a6a6b0541ead63f3823a05d88c22c5e5b2d4b (diff)
added sonarqube, support for finding java and tests in telescope
Diffstat (limited to 'lua/config')
-rw-r--r--lua/config/java.lua88
-rw-r--r--lua/config/lsp.lua13
2 files changed, 88 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 },
})