Skip to content

Commit 1356cc9

Browse files
committed
Reapply "feat: limit tum table width length (#380)" (#388) (#392)
* Reapply "feat: limit tum table width length (#380)" (#388) * Fix if tum table limit length > terminal length
1 parent 586da84 commit 1356cc9

File tree

5 files changed

+46
-12
lines changed

5 files changed

+46
-12
lines changed

Cargo.lock

Lines changed: 18 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ authors = ["eatradish <[email protected]>"]
1313
clap = { version = "4.5.19", features = ["cargo", "wrap_help", "color", "derive", "env"] }
1414
anyhow = "1.0.89"
1515
ctrlc = "3.4.5"
16-
tabled = { version = "0.18.0", features = ["ansi"] }
1716
dialoguer = "0.11.0"
17+
tabled = { version = "0.19", features = ["ansi"] }
1818
tokio = "1.40.0"
1919
oma-inquire = "0.2"
2020
serde = { version = "1.0.210", features = ["derive"] }

src/subcommand/command_not_found.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ impl CliExecuter for CommandNotFound {
121121
);
122122
let mut printer = PagerPrinter::new(stdout());
123123
printer
124-
.print_table(res, vec!["Name", "Path", "Description"])
124+
.print_table(res, vec!["Name", "Path", "Description"], None)
125125
.ok();
126126

127127
if too_many {

src/subcommand/mirror.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -508,7 +508,11 @@ pub fn speedtest(
508508
success!("{}\n", fl!("speedtest-complete"));
509509

510510
printer
511-
.print_table(score_table, vec![&fl!("mirror-name"), &fl!("mirror-score")])
511+
.print_table(
512+
score_table,
513+
vec![&fl!("mirror-name"), &fl!("mirror-score")],
514+
None,
515+
)
512516
.ok();
513517

514518
if set_fastest {

src/table.rs

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,12 @@ impl<W: Write> PagerPrinter<W> {
282282
writeln!(self.writer, "{d}")
283283
}
284284

285-
pub fn print_table<T, I>(&mut self, table: I, header: Vec<&str>) -> std::io::Result<()>
285+
pub fn print_table<T, I>(
286+
&mut self,
287+
table: I,
288+
header: Vec<&str>,
289+
len: Option<usize>,
290+
) -> std::io::Result<()>
286291
where
287292
I: IntoIterator<Item = T>,
288293
T: Tabled,
@@ -294,13 +299,21 @@ impl<W: Write> PagerPrinter<W> {
294299
t.build()
295300
};
296301

302+
let mut display_len = WRITER.get_length() as usize;
303+
304+
if let Some(len) = len {
305+
if display_len > len {
306+
display_len = len;
307+
}
308+
}
309+
297310
table
298311
.with(Padding::new(2, 2, 0, 0))
299312
.with(Alignment::left())
300313
.modify(Columns::new(2..3), Alignment::left())
301314
.with(Style::psql())
302315
.with(
303-
Width::wrap(WRITER.get_length() as usize)
316+
Width::wrap(display_len)
304317
.priority(PriorityMax::left())
305318
.keep_words(true),
306319
);
@@ -483,6 +496,7 @@ fn print_pending_inner<W: Write>(
483496
fl!("table-size").as_str(),
484497
fl!("table-detail").as_str(),
485498
],
499+
None,
486500
)
487501
.ok();
488502
printer.println("\n").ok();
@@ -512,6 +526,7 @@ fn print_pending_inner<W: Write>(
512526
fl!("table-version").as_str(),
513527
fl!("table-size").as_str(),
514528
],
529+
None,
515530
)
516531
.ok();
517532
printer.println("\n").ok();
@@ -540,6 +555,7 @@ fn print_pending_inner<W: Write>(
540555
fl!("table-version").as_str(),
541556
fl!("table-size").as_str(),
542557
],
558+
None,
543559
)
544560
.ok();
545561
printer.println("\n").ok();
@@ -568,6 +584,7 @@ fn print_pending_inner<W: Write>(
568584
fl!("table-version").as_str(),
569585
fl!("table-size").as_str(),
570586
],
587+
None,
571588
)
572589
.ok();
573590
printer.println("\n").ok();
@@ -596,6 +613,7 @@ fn print_pending_inner<W: Write>(
596613
fl!("table-version").as_str(),
597614
fl!("table-size").as_str(),
598615
],
616+
None,
599617
)
600618
.ok();
601619
printer.println("\n").ok();
@@ -725,6 +743,7 @@ fn print_tum(
725743
.print_table(
726744
tum_display,
727745
vec![fl!("tum-name").as_str(), fl!("tum-notes").as_str()],
746+
Some(80),
728747
)
729748
.ok();
730749
printer.println("").ok();

0 commit comments

Comments
 (0)