NIVM/lua/plugins/specs/LSP.lua
Robert Morrison fb537df11b chore(init): Initial working version
Create and push an initial working version of this repo before I change
things on this machine

Signed-off-by: Robert Morrison <robert@closedless.xyz>
2023-09-10 22:22:30 +01:00

128 lines
2.2 KiB
Lua

return {
{
'williamboman/mason.nvim',
config = true,
},
{
'williamboman/mason-lspconfig.nvim',
dependencies = {
'mason.nvim',
},
},
{
'neovim/nvim-lspconfig',
opts = function()
return {
servers_to_not_setup = {},
servers = {
lua_ls = {
settings = {
Lua = {
hint = {
enable = true,
arrayIndex = 'Disable',
},
runtime = {
pathStrict = true,
},
workspace = {
checkThirdParty = false,
},
},
},
},
csharp_ls = {},
pyright = {
pyright = {
autoImportCompletion = true,
},
},
efm = {
init_options = { documentFormatting = true },
settings = {
rootMarkers = { '.git/' },
languages = {
lua = {
{
formatCommand = 'stylua -s --verify --color Never -',
formatStdin = true,
},
},
},
},
},
texlab = {},
cssls = {},
},
setup = {},
}
end,
init = function()
require('core.utils.lazy')('nvim-lspconfig')
end,
config = function(_, opts)
require('plugins.configs.lsp.config').setup(opts)
require('plugins.configs.lsp.native')
end,
dependencies = {
'mason-lspconfig.nvim',
'neodev.nvim',
},
},
{
'folke/neodev.nvim',
opts = {
enabled = true,
plugins = true,
runtime = true,
types = true,
pathStrict = true,
},
config = function(_, opts)
require('plugins.configs.lsp.neodev')(opts)
end,
},
{
'nvimdev/lspsaga.nvim',
event = 'LspAttach',
config = function()
require('lspsaga').setup {
code_action = {
num_shortcut = true,
show_server_name = true,
extend_gitsigns = true,
},
lightbulb = {
enable = true,
enable_in_insert = false,
sign = true,
virtual_text = false,
},
hover = {
open_browser = '!$BROWSER',
},
symbol_in_winbar = {
in_custom = false,
enable = true,
seperator = '>',
show_file = true,
respect_root = true,
},
}
end,
keys = {
{ '<leader>ld', '<cmd>Lspsaga hover_doc<CR>', desc = '[lspsaga hoverdoc]' },
},
dependencies = {
'nvim-lspconfig',
'nvim-treesitter',
},
},
}