45 lines
1.4 KiB
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
|