My neovim config
at main 91 lines 2.3 kB view raw
1-- only if we have java on our sytem 2if vim.fn.executable("java") == 1 then 3 vim.pack.add({ 4 "https://github.com/nvim-java/nvim-java", 5 "https://github.com/JavaHello/spring-boot.nvim", 6 "https://github.com/iamkarasik/sonarqube.nvim", 7 }) 8 9 require("java").setup() 10 11 local function path_to_class(path) 12 local name = path:gsub("%.java$", "") 13 local class_path = name:match(".*/java/(.*)") or name 14 class_path = class_path:gsub("/", ".") 15 return class_path 16 end 17 18 -- find java files only 19 -- inspired by 20 -- https://github.com/MuriloGhignatti/nvim-config/blob/main/lua/safe/plugins/fuzzy_finder.lua 21 vim.keymap.set("n", "<leader>jc", function() 22 require("telescope.builtin").find_files({ 23 prompt_title = "Java Classes", 24 cwd = vim.fn.getcwd(), 25 find_command = { 26 "rg", 27 "--files", 28 "--type", 29 "java", 30 "--glob", 31 "!*.properties", 32 "--glob", 33 "!*Test.java", 34 "--glob", 35 "!**/test/**", 36 }, 37 path_display = function(_, path) 38 return path_to_class(path) 39 end, 40 previewer = true, 41 }) 42 end) 43 44 vim.keymap.set("n", "<leader>jt", function() 45 require("telescope.builtin").find_files({ 46 prompt_title = "Java Tests", 47 cwd = vim.fn.getcwd(), 48 find_command = { 49 "rg", 50 "--files", 51 "--type", 52 "java", 53 "--glob", 54 "!*.properties", 55 "--glob", 56 "*Test*.java", 57 "--glob", 58 "**/test/**.java", 59 }, 60 path_display = function(_, path) 61 return path_to_class(path) 62 end, 63 previewer = true, 64 }) 65 end) 66 67 -- mason sonarqube config 68 local extension_path = vim.fn.stdpath("data") .. "/mason/packages/sonarlint-language-server/extension" 69 70 require("sonarqube").setup({ 71 lsp = { 72 cmd = { 73 vim.fn.exepath("java"), 74 "-jar", 75 extension_path .. "/server/sonarlint-ls.jar", 76 "-stdio", 77 "-analyzers", 78 extension_path .. "/analyzers/sonargo.jar", 79 extension_path .. "/analyzers/sonarhtml.jar", 80 extension_path .. "/analyzers/sonariac.jar", 81 extension_path .. "/analyzers/sonarjava.jar", 82 extension_path .. "/analyzers/sonarjavasymbolicexecution.jar", 83 extension_path .. "/analyzers/sonarjs.jar", 84 extension_path .. "/analyzers/sonarphp.jar", 85 extension_path .. "/analyzers/sonarpython.jar", 86 extension_path .. "/analyzers/sonartext.jar", 87 extension_path .. "/analyzers/sonarxml.jar", 88 }, 89 }, 90 }) 91end