Update user.lua
This commit is contained in:
parent
4ad9414086
commit
11d6b1c84e
|
@ -1,30 +1,65 @@
|
|||
return {
|
||||
{
|
||||
"scalameta/nvim-metals",
|
||||
config = function()
|
||||
local lvim_lsp = require("lvim.lsp")
|
||||
local metals_config = require("metals").bare_config()
|
||||
metals_config.on_init = lvim_lsp.common_on_init
|
||||
metals_config.on_exit = lvim_lsp.common_on_exit
|
||||
metals_config.capabilities = lvim_lsp.common_capabilities()
|
||||
metals_config.on_attach = function(client, bufnr)
|
||||
lvim_lsp.common_on_attach(client, bufnr)
|
||||
require("metals").setup_dap()
|
||||
end
|
||||
metals_config.settings = {
|
||||
superMethodLensesEnabled = true,
|
||||
showImplicitArguments = true,
|
||||
showInferredType = true,
|
||||
showImplicitConversionsAndClasses = true,
|
||||
excludedPackages = {},
|
||||
}
|
||||
metals_config.init_options.statusBarProvider = false
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
pattern = { "scala", "sbt", "java" },
|
||||
callback = function() require("metals").initialize_or_attach(metals_config) end,
|
||||
group = vim.api.nvim_create_augroup("nvim-metals", { clear = true }),
|
||||
})
|
||||
"scalameta/nvim-metals",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"mfussenegger/nvim-dap",
|
||||
},
|
||||
ft = { "sbt", "scala", "java" }, -- TODO automatically detect SBT projects and load it.
|
||||
config = function()
|
||||
local metals_config = require("metals").bare_config()
|
||||
|
||||
end,
|
||||
metals_config.settings = {
|
||||
superMethodLensesEnabled = true,
|
||||
showImplicitArguments = true,
|
||||
showInferredType = true,
|
||||
showImplicitConversionsAndClasses = true,
|
||||
excludedPackages = {},
|
||||
}
|
||||
|
||||
metals_config.init_options.statusBarProvider = "on"
|
||||
|
||||
metals_config.capabilities = require("cmp_nvim_lsp").default_capabilities()
|
||||
|
||||
-- Debug settings if you're using nvim-dap
|
||||
local dap = require "dap"
|
||||
|
||||
dap.configurations.scala = {
|
||||
{
|
||||
type = "scala",
|
||||
request = "launch",
|
||||
name = "RunOrTest",
|
||||
metals = {
|
||||
runType = "runOrTestFile",
|
||||
--args = { "firstArg", "secondArg", "thirdArg" }, -- here just as an example
|
||||
},
|
||||
},
|
||||
{
|
||||
type = "scala",
|
||||
request = "launch",
|
||||
name = "Test Target",
|
||||
metals = {
|
||||
runType = "testTarget",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
metals_config.on_attach = function(client, bufnr)
|
||||
require("metals").setup_dap()
|
||||
end
|
||||
|
||||
-- Autocmd that will actually be in charging of starting the whole thing
|
||||
local nvim_metals_group = vim.api.nvim_create_augroup("nvim-metals", { clear = true })
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
-- NOTE: You may or may not want java included here. You will need it if you
|
||||
-- want basic Java support but it may also conflict if you are using
|
||||
-- something like nvim-jdtls which also works on a java filetype autocmd.
|
||||
pattern = { "scala", "sbt", "java" },
|
||||
callback = function()
|
||||
require("metals").initialize_or_attach(metals_config)
|
||||
end,
|
||||
group = nvim_metals_group,
|
||||
})
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue