From e89a8f8adeef2dfab851fd056d38ee7afc97c249 Mon Sep 17 00:00:00 2001 From: Steven Arcangeli Date: Fri, 24 Nov 2023 14:13:56 -0800 Subject: [PATCH] fix: crash in ssh and trash adapter detail columns (#235) --- lua/oil/adapters/ssh.lua | 4 ++-- lua/oil/adapters/trash/freedesktop.lua | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/lua/oil/adapters/ssh.lua b/lua/oil/adapters/ssh.lua index 7707b95..b307e25 100644 --- a/lua/oil/adapters/ssh.lua +++ b/lua/oil/adapters/ssh.lua @@ -109,7 +109,7 @@ local ssh_columns = {} ssh_columns.permissions = { render = function(entry, conf) local meta = entry[FIELD_META] - return permissions.mode_to_str(meta.mode) + return meta and permissions.mode_to_str(meta.mode) end, parse = function(line, conf) @@ -142,7 +142,7 @@ ssh_columns.permissions = { ssh_columns.size = { render = function(entry, conf) local meta = entry[FIELD_META] - if not meta.size then + if not meta or not meta.size then return "" elseif meta.size >= 1e9 then return string.format("%.1fG", meta.size / 1e9) diff --git a/lua/oil/adapters/trash/freedesktop.lua b/lua/oil/adapters/trash/freedesktop.lua index d4a949a..100c6f8 100644 --- a/lua/oil/adapters/trash/freedesktop.lua +++ b/lua/oil/adapters/trash/freedesktop.lua @@ -348,6 +348,9 @@ end) file_columns.mtime = { render = function(entry, conf) local meta = entry[FIELD_META] + if not meta then + return nil + end ---@type oil.TrashInfo local trash_info = meta.trash_info local time = trash_info and trash_info.deletion_date or meta.stat and meta.stat.mtime.sec