From fe59bb7c5f7f2b69e11902dda063f5ab487e57c7 Mon Sep 17 00:00:00 2001 From: Ayush Poddar Date: Wed, 7 Jun 2023 17:23:08 +0530 Subject: [PATCH] add logic to show different color for hidden files/directories --- lib/colorls/core.rb | 3 ++- lib/colorls/fileinfo.rb | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/colorls/core.rb b/lib/colorls/core.rb index 89a647f..b558968 100644 --- a/lib/colorls/core.rb +++ b/lib/colorls/core.rb @@ -407,6 +407,7 @@ module ColorLS when file.blockdev? then :blockdev when file.socket? then :socket when file.executable? then :executable_file + when file.hidden? then :hidden when @files.key?(key) then :recognized_file else :unrecognized_file end @@ -418,7 +419,7 @@ module ColorLS key = content.name.downcase.to_sym key = @folder_aliases[key] unless @folders.key? key key = :folder if key.nil? - color = @colors[:dir] + color = content.hidden? ? @colors[:hidden_dir] : @colors[:dir] group = :folders else key = File.extname(content.name).delete_prefix('.').downcase.to_sym diff --git a/lib/colorls/fileinfo.rb b/lib/colorls/fileinfo.rb index 94f421e..0ade7a0 100644 --- a/lib/colorls/fileinfo.rb +++ b/lib/colorls/fileinfo.rb @@ -40,6 +40,10 @@ module ColorLS @dead end + def hidden? + @name.start_with?('.') + end + def owner return @@users[@stats.uid] if @@users.key? @stats.uid