Before this commit the following snippet didn't work: pry(main)> Pry::Helpers.tablify(['foobar', 'baz'], 5) #=> FloatDomainError There was a divison by zero in `Helpers::Table#_recolumn`. The problem is incorrectly written `until` loop condition. Note that the longest element in the array has 6 characters. But the second argument tells `::tablify` that the line width is only 5 characters long. This commit changes the condition. Now, if you run the same snippet, you would see that the elements form one column (and the code doesn't blow up your program). Possibly, in the described case, the table has unwanted blanks. However, I'm not very competent in the code, so I'd better not touch it, because it works.
We didn't send any flags to the pager, as a result ansi codes were not applied unless the user had properly set up their LESS env variable. This was often not the case, resulting in broken and ugly output. This commit sends along the proper flags whenever we use the pager, regardless of the user's LESS variable
The previous table output was geared mostly for `ls _pry_`, which isn't a common of hierarchy. After feedback from users such as @envygeeks, we found a few tweaks that would help the really-small layers such as those found in Rails or in small classes, namely: - Rolling it up onto one line, if possible - Highlighting the heading in the colors familiar to users of GNU ls for "directory" style Additionally, I took the opportunity for toning down the private/protected method colors, because before they were green and yellow, now they're both "muted terminal blue" Without the ability to really get in and really distinguish colors (e.g. using 256 colors), giving "protected" such a loud color seems wrong. Before recoloring: #813 (comment) After: #813 (comment)