avante.nvim/lua/avante/health.lua

45 lines
1.4 KiB
Lua

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