From 22fb57ac21a2d3bd6e2585270ca53f24befbef09 Mon Sep 17 00:00:00 2001 From: Claudio Bley Date: Tue, 8 Dec 2020 23:07:28 +0100 Subject: [PATCH] Use `console_size` if console is nil When running on github actions CI, there is no proper tty / console. --- lib/colorls.rb | 1 + lib/colorls/core.rb | 13 +++++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/lib/colorls.rb b/lib/colorls.rb index 57f369d..33a350d 100644 --- a/lib/colorls.rb +++ b/lib/colorls.rb @@ -5,6 +5,7 @@ require 'etc' require 'English' require 'filesize' require 'io/console' +require 'io/console/size' require 'rainbow/ext/string' require 'clocale' require 'unicode/display_width' diff --git a/lib/colorls/core.rb b/lib/colorls/core.rb index 5ec1f3e..b7300b8 100644 --- a/lib/colorls/core.rb +++ b/lib/colorls/core.rb @@ -8,8 +8,17 @@ module ColorLS @file_encoding end - @screen_width = IO.console.winsize[1] - @screen_width = 80 if @screen_width.zero? + def self.terminal_width + console = IO.console + + width = IO.console_size[1] + + return width if console.nil? || console.winsize[1].zero? + + console.winsize[1] + end + + @screen_width = terminal_width def self.screen_width @screen_width