Problem: override.lua still has its own copies of ext_map,
filename_map, and resolve(), duplicating the newly extracted
resolve module.
Solution: replace local tables and resolve() with imports from
nonicons.resolve. Update all *_by_filetype overrides to use
resolve_filetype() instead of raw ext_map[ft], gaining ft_map
fallback and direct mapping key lookup.
Problem: ext_map, filename_map, and resolve() are locked inside
override.lua as locals, making them inaccessible to any code path
that doesn't go through the devicons monkey-patch.
Solution: extract all resolution tables and logic into a new
nonicons.resolve module. Fix Gemfile/Jenkinsfile case bug (keys
were uppercase but resolve() lowercases input before lookup). Add
ft_map for vim filetypes that don't match extension or mapping keys.
Problem: mapping.lua can silently drift from the ya2s/nonicons upstream
font. The existing CI check only runs on PRs/pushes and just fails
without any actionable follow-up.
Solution: add a daily scheduled workflow that generates mapping.lua from
upstream nonicon.json and opens (or updates) a PR via
peter-evans/create-pull-request. Reuses the same branch to avoid spam.
Closes#7
* feat(doc): fix phrasing
* ci: add upstream mapping sync check to quality workflow
Problem: mapping.lua can silently fall behind the ya2s/nonicons font
repo with no indication that new icons are available.
Solution: add a mapping-sync job that fetches nonicon.json from
upstream, generates the expected mapping.lua, and fails the check
if they differ.
* fix: sort alphabetically
* fix(ci): dont respect alphabetical order in font checker
* docs(readme): replace lazy.nvim FAQ with recipes reference
Problem: the FAQ inlined a lazy.nvim snippet that duplicates vimdoc
content and doesn't cover other plugin integrations.
Solution: replace with a generic "How do I integrate with plugin <X>?"
entry pointing to :help nonicons-recipes. Also track flake.lock.
* fix(ci): format
Problem: nonicons.nvim lacks CI, pre-commit hooks, nix dev shell, issue
templates, and the README contains content that duplicates the vimdoc.
Solution: add quality/luarocks CI workflows, pre-commit config, nix
flake, prettier config, GitHub issue/discussion templates, and rewrite
the README to minimal style with all detailed content in vimdoc. Update
yamatsum/nonicons references to ya2s/nonicons.
Problem: the original ya2s/nvim-nonicons fork diverged enough that
maintaining it as a fork was pointless. The set_icon() approach broke
with modern nvim-web-devicons, and the extensions directory coupled
integrations that belong in user config.
Solution: from-scratch rewrite with function wrapping + table mutation
override engine, vim.g.nonicons config pattern, vendored mapping with
integer codepoints, health check, vimdoc with recipes, and no built-in
plugin integrations.