feat: make nvim-web-devicons an optional dependency (#328)

* chore: make `web-devicons` optional

* docs: update readme install instructions
This commit is contained in:
Filipe Lima 2024-08-28 13:49:16 -03:00 committed by GitHub
parent 755c15c0bd
commit cadee677ba
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 9 additions and 3 deletions

View File

@ -27,12 +27,13 @@ Install `avante.nvim` using [lazy.nvim](https://github.com/folke/lazy.nvim):
-- add any opts here
},
dependencies = {
"nvim-tree/nvim-web-devicons", -- or echasnovski/mini.icons
"stevearc/dressing.nvim",
"nvim-lua/plenary.nvim",
"MunifTanjim/nui.nvim",
--- The below is optional, make sure to setup it properly if you have lazy=true
--- The below dependencies are optional,
"nvim-tree/nvim-web-devicons", -- or echasnovski/mini.icons
{
-- Make sure to setup it properly if you have lazy=true
'MeanderingProgrammer/render-markdown.nvim',
opts = {
file_types = { "markdown", "Avante" },

View File

@ -427,7 +427,12 @@ function Sidebar:render_input()
---@diagnostic disable-next-line: undefined-global
icon, _, _ = MiniIcons.get("filetype", filetype)
else
icon = require("nvim-web-devicons").get_icon_by_filetype(filetype, {})
local ok, devicons = pcall(require, "nvim-web-devicons")
if ok then
icon = devicons.get_icon_by_filetype(filetype, {})
else
icon = ""
end
end
local code_file_fullpath = api.nvim_buf_get_name(self.code.bufnr)