From b07302cc27f869c66f5cbd8f6aa0b5dcebe70e6c Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Tue, 27 Jan 2026 10:02:14 +0300 Subject: [PATCH] handle empty exports gracefully; log in DEBUG level Signed-off-by: NotAShelf Change-Id: I9c9914b380cb3fd7f7b7a73cba1e19a76a6a6964 --- lua/direnv.lua | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/lua/direnv.lua b/lua/direnv.lua index 927932b..12fc214 100644 --- a/lua/direnv.lua +++ b/lua/direnv.lua @@ -237,7 +237,18 @@ M._init = function(path) end vim.schedule(function() - local ok, env = pcall(vim.json.decode, obj.stdout) + local stdout = obj.stdout or "" + + if stdout == "" then + -- direnv exported no changes; nothing to do + notify( + "direnv export produced no output (no changes)", + vim.log.levels.DEBUG + ) + return + end + + local ok, env = pcall(vim.json.decode, stdout) if not ok or type(env) ~= "table" then notify("Failed to parse direnv JSON output", vim.log.levels.ERROR)