diff --git a/lua/diffview/path.lua b/lua/diffview/path.lua index 3fc4b20f..101e123c 100644 --- a/lua/diffview/path.lua +++ b/lua/diffview/path.lua @@ -295,8 +295,8 @@ function PathLib:expand(path) for i = idx, #segments do local env_var = segments[i]:match("^%$(%S+)$") - if env_var then - segments[i] = uv.os_getenv(env_var) or env_var + if env_var and uv.os_getenv(env_var) ~= nil then + segments[i] = uv.os_getenv(env_var) end end diff --git a/lua/diffview/tests/functional/pathlib_spec.lua b/lua/diffview/tests/functional/pathlib_spec.lua index 4ace9661..7c451578 100644 --- a/lua/diffview/tests/functional/pathlib_spec.lua +++ b/lua/diffview/tests/functional/pathlib_spec.lua @@ -248,7 +248,7 @@ describe("diffview.path", function() local pl = PathLib({ os = "unix" }) eq("/lorem/ipsum/dolor/foo", pl:expand("~/foo")) - eq("foo/EXPANDED_FOO/EXPANDED_BAR/baz", pl:expand("foo/$VAR_FOO/$VAR_BAR/baz")) + eq("foo/EXPANDED_FOO/EXPANDED_BAR/$baz", pl:expand("foo/$VAR_FOO/$VAR_BAR/$baz")) end) end)