configure nvim-java

This commit is contained in:
Lucas Garcia Rubio 2025-02-14 10:12:04 -03:00
parent 326641fc67
commit 67e4d23545
2 changed files with 56 additions and 3 deletions

View file

@ -102,7 +102,7 @@ vim.g.have_nerd_font = false
vim.opt.number = true
-- You can also add relative line numbers, to help with jumping.
-- Experiment for yourself to see if you like it!
-- vim.opt.relativenumber = true
vim.opt.relativenumber = true
-- Enable mouse mode, can be useful for resizing splits for example!
vim.opt.mouse = 'a'
@ -154,7 +154,7 @@ vim.opt.inccommand = 'split'
vim.opt.cursorline = true
-- Minimal number of screen lines to keep above and below the cursor.
vim.opt.scrolloff = 10
vim.opt.scrolloff = 15
-- [[ Basic Keymaps ]]
-- See `:help vim.keymap.set()`
@ -461,6 +461,7 @@ require('lazy').setup({
{ 'williamboman/mason.nvim', opts = {} },
'williamboman/mason-lspconfig.nvim',
'WhoIsSethDaniel/mason-tool-installer.nvim',
'nvim-java/nvim-java',
-- Useful status updates for LSP.
{ 'j-hui/fidget.nvim', opts = {} },
@ -652,6 +653,7 @@ require('lazy').setup({
-- :Mason
--
-- You can press `g?` for help in this menu.
-- require('mason').setup()
--
-- `mason` had to be setup earlier: to configure its options see the
-- `dependencies` table for `nvim-lspconfig` above.
@ -661,6 +663,7 @@ require('lazy').setup({
local ensure_installed = vim.tbl_keys(servers or {})
vim.list_extend(ensure_installed, {
'stylua', -- Used to format Lua code
'jdtls',
})
require('mason-tool-installer').setup { ensure_installed = ensure_installed }
@ -674,6 +677,21 @@ require('lazy').setup({
server.capabilities = vim.tbl_deep_extend('force', {}, capabilities, server.capabilities or {})
require('lspconfig')[server_name].setup(server)
end,
jdtls = function()
require('java').setup {}
require('lspconfig').jdtls.setup {
settings = {
java = {
configuration = {
runtimes = {
{ name = 'Java-21', path = '/home/lucas/.sdkman/candidates/java/21.0.2-open', default = true },
{ name = 'Java-11', path = '/home/lucas/.sdkman/candidates/java/11.0.22-ms', default = false },
},
},
},
},
}
end,
},
}
end,
@ -902,7 +920,7 @@ require('lazy').setup({
main = 'nvim-treesitter.configs', -- Sets main module to use for opts
-- [[ Configure Treesitter ]] See `:help nvim-treesitter`
opts = {
ensure_installed = { 'bash', 'c', 'diff', 'html', 'lua', 'luadoc', 'markdown', 'markdown_inline', 'query', 'vim', 'vimdoc' },
ensure_installed = { 'bash', 'c', 'diff', 'html', 'lua', 'luadoc', 'markdown', 'markdown_inline', 'query', 'vim', 'vimdoc', 'java' },
-- Autoinstall languages that are not installed
auto_install = true,
highlight = {