From ab887d926c2665a708fbe9e6c4654042cc5f4c60 Mon Sep 17 00:00:00 2001 From: Shihua Zeng <76579810+Bekaboo@users.noreply.github.com> Date: Thu, 20 Mar 2025 19:40:24 -0400 Subject: [PATCH] fix: indexing nil when env vars does not exist (#601) --- lua/oil/clipboard.lua | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lua/oil/clipboard.lua b/lua/oil/clipboard.lua index 32bcfdb..5a17850 100644 --- a/lua/oil/clipboard.lua +++ b/lua/oil/clipboard.lua @@ -10,7 +10,11 @@ local M = {} ---@return "wayland"|"x11"|nil local function get_linux_session_type() - local xdg_session_type = vim.env.XDG_SESSION_TYPE:lower() + local xdg_session_type = vim.env.XDG_SESSION_TYPE + if not xdg_session_type then + return + end + xdg_session_type = xdg_session_type:lower() if xdg_session_type:find("x11") then return "x11" elseif xdg_session_type:find("wayland") then @@ -23,7 +27,9 @@ end ---@return boolean local function is_linux_desktop_gnome() local cur_desktop = vim.env.XDG_CURRENT_DESKTOP - local idx = vim.env.XDG_SESSION_DESKTOP:lower():find("gnome") or cur_desktop:lower():find("gnome") + local session_desktop = vim.env.XDG_SESSION_DESKTOP + local idx = session_desktop and session_desktop:lower():find("gnome") + or cur_desktop and cur_desktop:lower():find("gnome") return idx ~= nil or cur_desktop == "X-Cinnamon" or cur_desktop == "XFCE" end