From 7d35b23ba09cd152d3c7db1d47520ef2a57e5af9 Mon Sep 17 00:00:00 2001 From: Barrett Ruth Date: Mon, 23 Feb 2026 17:31:45 -0500 Subject: [PATCH] fix: resolve luacats return-type-mismatch and cast-local-type warnings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Problem: lua-language-server reports two diagnostics in override.lua: char() returns string? but resolve() annotates its return as string, and fallback_icon is typed as string but assigned a string? value. Solution: add fallback values so both assignments satisfy the string type — resolve() falls back to fallback_icon, and fallback_icon falls back to an empty string. --- lua/nonicons/override.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lua/nonicons/override.lua b/lua/nonicons/override.lua index bd44c8b..d861524 100644 --- a/lua/nonicons/override.lua +++ b/lua/nonicons/override.lua @@ -19,7 +19,7 @@ local fallback_icon local function resolve(name, ext) local key = resolve_mod.resolve_name(name, ext) if key then - return char(key) + return char(key) or fallback_icon end return fallback_icon end @@ -32,7 +32,7 @@ function M.apply() return end - fallback_icon = char('file') + fallback_icon = char('file') or '' local orig_get_icon = devicons.get_icon devicons.get_icon = function(name, ext, opts)