diff --git a/.rubocop.yml b/.rubocop.yml index 82e2b109..22dfe8f1 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -42,7 +42,7 @@ Metrics/BlockLength: Exclude: - 'spec/**/*' -Metrics/LineLength: +Layout/LineLength: Max: 120 Metrics/ModuleLength: diff --git a/lib/colorls/core.rb b/lib/colorls/core.rb index b7d0eb6a..e6f0254f 100644 --- a/lib/colorls/core.rb +++ b/lib/colorls/core.rb @@ -248,12 +248,14 @@ def git_dir_info(path) modes = if path == '.' Set.new(@git_status.values).flatten else - @git_status.fetch(path, nil) + @git_status[path] end - return Git.colored_status_symbols(modes, @colors) unless modes.nil? - - ' ' + if modes.empty? && Dir.empty?(File.join(@input, path)) + ' ' + else + Git.colored_status_symbols(modes, @colors) + end end def long_info(content) diff --git a/lib/colorls/git.rb b/lib/colorls/git.rb index c4389748..0e4afb6a 100644 --- a/lib/colorls/git.rb +++ b/lib/colorls/git.rb @@ -51,7 +51,7 @@ def git_prefix(repo_path) end def git_subdir_status(repo_path) - IO.popen(['git', '-C', repo_path, 'status', '--porcelain', '-z', '-unormal', '--ignored', '.']) + yield IO.popen(['git', '-C', repo_path, 'status', '--porcelain', '-z', '-unormal', '--ignored', '.']) end end end