kickstart.nvim/lua/custom/plugins/metals.lua

24 lines
757 B
Lua

return {
'scalameta/nvim-metals',
dependencies = { 'nvim-lua/plenary.nvim' },
ft = { 'scala', 'sbt', 'java' },
opts = function()
local metals_config = require('metals').bare_config()
metals_config.settings = {
showImplicitArguments = true,
showImplicitConversionsAndClasses = true,
showInferredType = true,
superMethodLensesEnabled = true,
}
return metals_config
end,
config = function(self, metals_config)
local nvim_metals_group = vim.api.nvim_create_augroup('nvim-metals', { clear = true })
vim.api.nvim_create_autocmd('FileType', {
pattern = self.ft,
callback = function() require('metals').initialize_or_attach(metals_config) end,
group = nvim_metals_group,
})
end,
}