return { { "Hoffs/omnisharp-extended-lsp.nvim", lazy = true }, { "nvim-treesitter/nvim-treesitter", opts = function(_, opts) if type(opts.ensure_installed) == "table" then vim.list_extend(opts.ensure_installed, { "c_sharp" }) end end, }, { "jose-elias-alvarez/null-ls.nvim", opts = function(_, opts) local nls = require("null-ls") table.insert(opts.sources, nls.builtins.formatting.csharpier) end, }, { "williamboman/mason.nvim", opts = function(_, opts) opts.ensure_installed = opts.ensure_installed or {} table.insert(opts.ensure_installed, "csharpier") end, }, { "neovim/nvim-lspconfig", opts = { servers = { omnisharp = { handlers = { ["textDocument/definition"] = function(...) return require("omnisharp_extended").handler(...) end, }, keys = { { "gd", function() require("omnisharp_extended").telescope_lsp_definitions() end, desc = "Goto Definition", }, }, enable_roslyn_analyzers = true, organize_imports_on_format = true, enable_import_completion = true, }, }, }, }, }