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, }, { "nvimtools/none-ls.nvim", optional = true, opts = function(_, opts) local nls = require("null-ls") opts.sources = opts.sources or {} table.insert(opts.sources, nls.builtins.formatting.csharpier) end, }, { "stevearc/conform.nvim", optional = true, opts = { formatters_by_ft = { cs = { "csharpier" }, }, formatters = { csharpier = { command = "dotnet-csharpier", args = { "--write-stdout" }, }, }, }, }, { "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, }, }, }, }, }