94 lines
2.4 KiB
Lua
94 lines
2.4 KiB
Lua
local config = function()
|
|
local settings = require("config.lsp-settings")
|
|
local on_attach = settings.on_attach
|
|
local capabilities = settings.capabilities
|
|
|
|
require("lspconfig").lua_ls.setup {
|
|
on_attach = on_attach,
|
|
capabilities = capabilities,
|
|
settings = {
|
|
Lua = {
|
|
diagnostics = {
|
|
globals = { "vim" },
|
|
},
|
|
workspace = {
|
|
library = vim.api.nvim_get_runtime_file("", true),
|
|
checkThirdParty = false
|
|
},
|
|
telemetry = {
|
|
enable = false,
|
|
},
|
|
},
|
|
},
|
|
}
|
|
|
|
vim.g.markdown_fenced_languages = {
|
|
"ts=typescript"
|
|
}
|
|
--require("lspconfig").denols.setup {
|
|
-- on_attach = on_attach,
|
|
-- capabilities = capabilities,
|
|
--}
|
|
require("lspconfig").clangd.setup {
|
|
on_attach = on_attach,
|
|
capabilities = capabilities,
|
|
}
|
|
require("lspconfig").asm_lsp.setup {
|
|
on_attach = on_attach,
|
|
capabilities = capabilities,
|
|
}
|
|
require("lspconfig").pylsp.setup {
|
|
on_attach = on_attach,
|
|
capabilities = capabilities,
|
|
}
|
|
require("lspconfig").kotlin_language_server.setup {
|
|
on_attach = on_attach,
|
|
capabilities = capabilities
|
|
}
|
|
require("lspconfig").angularls.setup {
|
|
on_attach = on_attach,
|
|
capabilities = capabilities
|
|
}
|
|
require("lspconfig").tsserver.setup {
|
|
on_attach = on_attach,
|
|
capabilities = capabilities
|
|
}
|
|
end
|
|
|
|
local rs_config = function()
|
|
local settings = require "config.lsp-settings"
|
|
local on_attach = settings.on_attach
|
|
local capabilities = settings.capabilities
|
|
require "rust-tools".setup {
|
|
server = {
|
|
on_attach = on_attach,
|
|
capabilities = capabilities,
|
|
}
|
|
}
|
|
end
|
|
|
|
return {
|
|
{
|
|
"neovim/nvim-lspconfig",
|
|
config = config
|
|
},
|
|
{
|
|
"simrat39/rust-tools.nvim",
|
|
dependencies = {
|
|
"nvim-lua/plenary.nvim",
|
|
"mfussenegger/nvim-dap",
|
|
},
|
|
config = rs_config
|
|
},
|
|
{
|
|
"windwp/nvim-autopairs",
|
|
config = function() require "nvim-autopairs".setup {} end
|
|
},
|
|
{
|
|
"scalameta/nvim-metals",
|
|
dependencies = { "nvim-lua/plenary.nvim" }
|
|
},
|
|
"mfussenegger/nvim-jdtls",
|
|
"folke/neodev.nvim"
|
|
}
|