From: John Napiorkowski Date: Thu, 1 May 2014 22:24:15 +0000 (-0500) Subject: correct auto detection of terminal width and better messages about what is going on X-Git-Tag: 5.90064~5 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=commitdiff_plain;h=dfcb05ee2d4e9481368622f6924e162de323b23b;hp=3dc04d0865aa8666c3b780dd89e288a74c7cc323 correct auto detection of terminal width and better messages about what is going on --- diff --git a/lib/Catalyst/Utils.pm b/lib/Catalyst/Utils.pm index ff4f53d..a02b762 100644 --- a/lib/Catalyst/Utils.pm +++ b/lib/Catalyst/Utils.pm @@ -393,17 +393,24 @@ sub term_width { my $width; eval ' - require Term::Size::Any; - my ($columns, $rows) = Term::Size::Any::chars; - $width = $columns; - 1; + use Term::Size::Any; + ($width) = Term::Size::Any::chars; + 1; ' or do { + if($@ =~m[Can't locate Term/Size/Any.pm]) { + warn "Term::Size::Any is not installed, can't autodetect terminal column width\n"; + } else { + warn "There was an error trying to detect your terminal size: $@\n"; + } + warn 'Trouble trying to detect your terminal size, looking at $ENV{COLUMNS}'."\n"; $width = $ENV{COLUMNS} if exists($ENV{COLUMNS}) && $ENV{COLUMNS} =~ m/^\d+$/; }; - $width = 80 unless ($width && $width >= 80); + do { + warn "Cannot determine desired terminal width, using default of 80 columns\n"; + $width = 80 } unless ($width && $width >= 80); return $_term_width = $width; }