local M = {} local H = require("vim.health") local Utils = require("avante.utils") local Config = require("avante.config") M.check = function() H.start("avante.nvim") -- Required dependencies local required_plugins = { ["nvim-treesitter"] = "nvim-treesitter/nvim-treesitter", ["dressing.nvim"] = "stevearc/dressing.nvim", ["plenary.nvim"] = "nvim-lua/plenary.nvim", ["nui.nvim"] = "MunifTanjim/nui.nvim", } for plugin_name, plugin_path in pairs(required_plugins) do if Utils.has(plugin_name) then H.ok(string.format("Found required plugin: %s", plugin_path)) else H.error(string.format("Missing required plugin: %s", plugin_path)) end end -- Optional dependencies local has_devicons = Utils.has("nvim-web-devicons") local has_mini_icons = Utils.has("mini.icons") or Utils.has("mini.nvim") if has_devicons or has_mini_icons then H.ok("Found icons plugin (nvim-web-devicons or mini.icons)") else H.warn("No icons plugin found (nvim-web-devicons or mini.icons). Icons will not be displayed") end -- Check Copilot if configured if Config.providers and Config.providers == "copilot" then if Utils.has("copilot.lua") or Utils.has("copilot.vim") then H.ok("Found Copilot plugin") else H.error("Copilot provider is configured but neither copilot.lua nor copilot.vim is installed") end end end return M