feat(columns): per-character permission column highlights (#375)

Problem: the permissions column rendered as a monolithic unstyled
string, making it hard to scan `rwx` bits at a glance.

Solution: add per-character highlight groups for permission characters
following the `eza`/`lsd` convention. All groups link to standard
Neovim highlights so every colorscheme works out of the box.
This commit is contained in:
Barrett Ruth 2026-03-16 15:52:00 -04:00
parent 7b16324c5a
commit b87c505b76
Signed by: barrett
GPG key ID: A6C96C9349D2FC81
6 changed files with 81 additions and 3 deletions

View file

@ -118,7 +118,11 @@ local ssh_columns = {}
ssh_columns.permissions = {
render = function(entry, conf)
local meta = entry[FIELD_META]
return meta and permissions.mode_to_str(meta.mode)
if not meta then
return
end
local str = permissions.mode_to_str(meta.mode)
return { str, permissions.mode_to_highlights(str) }
end,
parse = function(line, conf)