[pve-devel] [RFC PATCH common] cli: prettify tables even more
Wolfgang Bumiller
w.bumiller at proxmox.com
Wed Aug 21 14:33:46 CEST 2019
Separate the header with a double line.
Signed-off-by: Wolfgang Bumiller <w.bumiller at proxmox.com>
---
src/PVE/CLIFormatter.pm | 18 +++++++++++++++++-
1 file changed, 17 insertions(+), 1 deletion(-)
diff --git a/src/PVE/CLIFormatter.pm b/src/PVE/CLIFormatter.pm
index 84dbed1..0e9cbe6 100644
--- a/src/PVE/CLIFormatter.pm
+++ b/src/PVE/CLIFormatter.pm
@@ -186,6 +186,7 @@ sub print_text_table {
my $borderstring_m = '';
my $borderstring_b = '';
my $borderstring_t = '';
+ my $borderstring_h = '';
my $formatstring = '';
my $column_count = scalar(@$props_to_print);
@@ -255,41 +256,49 @@ sub print_text_table {
if ($utf8) {
$formatstring .= "│ %$alignstr${cutoff}s │";
$borderstring_t .= "┌─" . ('─' x $cutoff) . "─┐";
+ $borderstring_h .= "╞═" . ('═' x $cutoff) . '═╡';
$borderstring_m .= "├─" . ('─' x $cutoff) . "─┤";
$borderstring_b .= "└─" . ('─' x $cutoff) . "─┘";
} else {
$formatstring .= "| %$alignstr${cutoff}s |";
$borderstring_m .= "+-" . ('-' x $cutoff) . "-+";
+ $borderstring_h .= "+=" . ('=' x $cutoff) . '=';
}
} elsif ($i == 0) {
if ($utf8) {
$formatstring .= "│ %$alignstr${cutoff}s ";
$borderstring_t .= "┌─" . ('─' x $cutoff) . '─';
+ $borderstring_h .= "╞═" . ('═' x $cutoff) . '═';
$borderstring_m .= "├─" . ('─' x $cutoff) . '─';
$borderstring_b .= "└─" . ('─' x $cutoff) . '─';
} else {
$formatstring .= "| %$alignstr${cutoff}s ";
$borderstring_m .= "+-" . ('-' x $cutoff) . '-';
+ $borderstring_h .= "+=" . ('=' x $cutoff) . '=';
}
} elsif ($i == ($column_count - 1)) {
if ($utf8) {
$formatstring .= "│ %$alignstr${cutoff}s │";
$borderstring_t .= "┬─" . ('─' x $cutoff) . "─┐";
+ $borderstring_h .= "╪═" . ('═' x $cutoff) . '═╡';
$borderstring_m .= "┼─" . ('─' x $cutoff) . "─┤";
$borderstring_b .= "┴─" . ('─' x $cutoff) . "─┘";
} else {
$formatstring .= "| %$alignstr${cutoff}s |";
$borderstring_m .= "+-" . ('-' x $cutoff) . "-+";
+ $borderstring_h .= "+=" . ('=' x $cutoff) . "=+";
}
} else {
if ($utf8) {
$formatstring .= "│ %$alignstr${cutoff}s ";
$borderstring_t .= "┬─" . ('─' x $cutoff) . '─';
+ $borderstring_h .= "╪═" . ('═' x $cutoff) . '═';
$borderstring_m .= "┼─" . ('─' x $cutoff) . '─';
$borderstring_b .= "┴─" . ('─' x $cutoff) . '─';
} else {
$formatstring .= "| %$alignstr${cutoff}s ";
$borderstring_m .= "+-" . ('-' x $cutoff) . '-';
+ $borderstring_h .= "+=" . ('=' x $cutoff) . '=';
}
}
} else {
@@ -313,15 +322,22 @@ sub print_text_table {
$writeln->($borderstring_t) if $border;
+ my $borderstring_sep;
if ($header) {
my $text = sprintf $formatstring, map { $colopts->{$_}->{title} } @$props_to_print;
$writeln->($text);
+ $borderstring_sep = $borderstring_h;
+ } else {
+ $borderstring_sep = $borderstring_m;
}
for (my $i = 0; $i < scalar(@$tabledata); $i++) {
my $coldata = $tabledata->[$i];
- $writeln->($borderstring_m) if $border && ($i != 0 || $header);
+ if ($border && ($i != 0 || $header)) {
+ $writeln->($borderstring_sep);
+ $borderstring_sep = $borderstring_m;
+ }
for (my $i = 0; $i < $coldata->{height}; $i++) {
--
2.20.1
More information about the pve-devel
mailing list