• Duy Nguyen's avatar
    column: add dense layout support · 3f8eccbe
    Duy Nguyen authored
    Normally all cells (and in turn columns) share the same width. This
    layout mode can waste space because one long item can stretch our all
    columns.
    
    With COL_DENSE enabled, column width is calculated indepdendently. All
    columns are shrunk to minimum, then it attempts to push cells of the
    last row over to the next column with hope that everything still fits
    even there's one row less. The process is repeated until the new layout
    cannot fit in given width any more, or there's only one row left
    (perfect!).
    
    Apparently, this mode consumes more cpu than the old one, but it makes
    better use of terminal space. For layouting one or two screens, cpu
    usage should not be detectable.
    
    This patch introduces option handling code besides layout modes and
    enable/disable to expose this feature as "dense". The feature can be
    turned off by specifying "nodense".
    
    Thanks-to: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
    Signed-off-by: Duy Nguyen's avatarNguyễn Thái Ngọc Duy <pclouds@gmail.com>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    3f8eccbe
t9002-column.sh 2.8 KB