diff --git a/doc/oil.txt b/doc/oil.txt index 0cfb872..62e547e 100644 --- a/doc/oil.txt +++ b/doc/oil.txt @@ -619,9 +619,15 @@ OilSocket *hl-OilSocke OilLink *hl-OilLink* Soft links in an oil buffer +OilOrphanLink *hl-OilOrphanLink* + Orphaned soft links in an oil buffer + OilLinkTarget *hl-OilLinkTarget* The target of a soft link +OilOrphanLinkTarget *hl-OilOrphanLinkTarget* + The target of an orphaned soft link + OilFile *hl-OilFile* Normal files in an oil buffer diff --git a/lua/oil/init.lua b/lua/oil/init.lua index 1450646..e8b8275 100644 --- a/lua/oil/init.lua +++ b/lua/oil/init.lua @@ -816,11 +816,21 @@ M._get_highlights = function() link = nil, desc = "Soft links in an oil buffer", }, + { + name = "OilOrphanLink", + link = nil, + desc = "Orphaned soft links in an oil buffer", + }, { name = "OilLinkTarget", link = "Comment", desc = "The target of a soft link", }, + { + name = "OilOrphanLinkTarget", + link = "DiagnosticError", + desc = "The target of an orphaned soft link", + }, { name = "OilFile", link = nil, diff --git a/lua/oil/view.lua b/lua/oil/view.lua index b36140b..6a5939d 100644 --- a/lua/oil/view.lua +++ b/lua/oil/view.lua @@ -728,10 +728,11 @@ M.format_entry_cols = function(entry, column_defs, col_width, adapter) end end end + local is_orphan = not (meta and meta.link_stat) - table.insert(cols, { name, "OilLink" }) + table.insert(cols, { name, is_orphan and "OilOrphanLink" or "OilLink" }) if link_text then - table.insert(cols, { link_text, "OilLinkTarget" }) + table.insert(cols, { link_text, is_orphan and "OilOrphanLinkTarget" or "OilLinkTarget" }) end else table.insert(cols, { name, "OilFile" })