return { { "neovim/nvim-lspconfig", ---@class PluginLspOpts opts = { ---@type lspconfig.options ---@diagnostic disable-next-line: missing-fields servers = { ---@diagnostic disable-next-line: missing-fields tsserver = {}, ---@diagnostic disable-next-line: missing-fields eslint = {}, nil_ls = {}, }, }, }, { "nvim-treesitter/nvim-treesitter", ---@type TSConfig ---@diagnostic disable-next-line: missing-fields opts = { ensure_installed = { "bash", "c", "diff", "html", "javascript", "jsdoc", "json", "jsonc", "lua", "luadoc", "luap", "markdown", "markdown_inline", "python", "query", "regex", "toml", "tsx", "typescript", "vim", "vimdoc", "yaml", "nix", }, }, }, { "stevearc/conform.nvim", ---@class ConformOpts opts = { ---@type table formatters_by_ft = { nix = { "alejandra" }, javascript = { { "prettierd", "prettier" } }, javascriptreact = { { "prettierd", "prettier" } }, typescript = { { "prettierd", "prettier" } }, typescriptreact = { { "prettierd", "prettier" } }, }, }, }, { "rush-rs/tree-sitter-asm", }, }