refactor(icons): consolidate on mini.icons, drop nvim-web-devicons - #18
Merged
Conversation
The config shipped two icon providers: oil used mini.icons while lualine
pulled in nvim-web-devicons (and telescope implicitly used it too).
Standardize on mini.icons. A dedicated lua/plugins/mini-icons.lua owns the
setup and calls MiniIcons.mock_nvim_web_devicons(), with a
package.preload["nvim-web-devicons"] hook so any plugin that requires that
module transparently gets mini.icons (order-independent, per mini.icons
docs). oil and lualine now depend on the shared spec, and
nvim-web-devicons is removed from the lockfile.
Verified headless: require("nvim-web-devicons") resolves to mini.icons
(get_icon returns MiniIcons* highlight groups) and lualine loads.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
The config shipped two icon providers:
oilusedmini.icons,lualinepulled innvim-web-devicons, andtelescopeimplicitly used the latter. Consolidate on mini.icons.Change
lua/plugins/mini-icons.luaowns the provider:setup()+MiniIcons.mock_nvim_web_devicons(), plus apackage.preload["nvim-web-devicons"]hook so any plugin requiring that module transparently gets mini.icons (order-independent, per mini.icons docs).oilandlualinenow depend on the shared spec;lualineno longer declaresnvim-web-devicons.nvim-web-deviconsfromlazy-lock.json.Verification
Headless (
NVIM_APPNAME=nvim-dev):require("nvim-web-devicons")resolves to the mini.icons mock —get_icon("init.lua", "lua")returns a glyph with highlightMiniIconsGreen,package.loaded["mini.icons"]set.lualineloads cleanly.bin/check(lock-faithful restore): OK.No behavior change beyond icons now coming from a single provider.
🤖 Generated with Claude Code