Ratatui v0.30 - block border merging
Ratatui v0.30 will introduce block border merging, a feature that previously required manual handling.
You can now set the border merge strategy using Block
โs new method: merge_borders
๐ From the docs:
use ratatui::symbols::merge::MergeStrategy;
// Given several blocks with plain borders (1)
Block::bordered();
// and other blocks with thick borders (2) which are rendered on top of the first
Block::bordered()
.border_type(BorderType::Thick)
.merge_borders(MergeStrategy::Exact);
โโโโโ โโโโโ โโโโโฒโโโโโโโโโ
โ โ โ 1 โ โ โ โโ โ
โ 1 โ โ โโโฟโโโ 1 โ 2 โโ 1 โ
โ โ โ โ โ โโ โ โโ โ
โโโโโโโโโโโโโโ โโโโโโบโโโโโขโโโโช
โ โ โ 2 โ โ โ
โ 2 โ โโโโโ โ 2 โ
โ โ โ โ
โโโโโ โโโโโ
๐ Acknowledgments
Big thanks to:
- @pauladam94 (who initially started this work)
- @joshka
- @orhun
They helped make this feature a reality.
๐ View the final PR: #1874
๐ Original PR by @pauladam94: #1729
Lots of insightful discussion in both!
๐งช Merge Strategy Comparison
Below is a full comparison of the three MergeStrategy
variants.
๐ For detailed behavior, refer to the API docs.
โ MergeStrategy::Replace โ MergeStrategy::Exact โ MergeStrategy::Fuzzy โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โโโโโ โโโโโ โโโโโโโโโโโโโโ โ โโโโโ โโโโโ โโโโโฒโโโโโโโโโ โ โโโโโ โโโโโ โโโโโฒโโโโโโโโโ โ
โ โ โ โ โ โ โ โโ โ โ โ โ โ โ โ โ โโ โ โ โ โ โ โ โ โ โโ โ โ
โ โ โ โ โโโโโโ โ โโ โ โ โ โ โ โโโฟโโโ โ โโ โ โ โ โ โ โโโฟโโโ โ โโ โ โ
โ โ โ โ โ โ โโ โ โโ โ โ โ โ โ โ โ โโ โ โโ โ โ โ โ โ โ โ โโ โ โโ โ โ
โ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โ โโโโโโโโโโโโโโ โโโโโโบโโโโโขโโโโช โ โโโโโโโโโโโโโโ โโโโโโบโโโโโขโโโโช โ
โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ
โ โ โ โโโโโ โ โ โ โ โ โโโโโ โ โ โ โ โ โโโโโ โ โ โ
โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ
โ โโโโโ โโโโโ โ โโโโโ โโโโโ โ โโโโโ โโโโโ โ
โ โโโโโ โโโโโ โโโโโโโโโโโโโโ โ โโโโโ โโโโโ โโโโโโโโโโโโโโ โ โโโโโ โโโโโ โโโโโฆโโโโโโโโโ โ
โ โ โ โ โ โ โ โโ โ โ โ โ โ โ โ โ โโ โ โ โ โ โ โ โ โ โโ โ โ
โ โ โ โ โโโโโโ โ โโ โ โ โ โ โ โโโชโโโ โ โโ โ โ โ โ โ โโโชโโโ โ โโ โ โ
โ โ โ โ โ โ โโ โ โโ โ โ โ โ โ โ โ โโ โ โโ โ โ โ โ โ โ โ โโ โ โโ โ โ
โ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โ โโโโโโโโโโโโซโโ โโโโโโโโโโโโโโโ โ โโโโโฌโโโโโโโซโโ โโโโโโฉโโโโโ โโโโฃ โ
โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ
โ โ โ โโโโโ โ โ โ โ โ โโโโโ โ โ โ โ โ โโโโโ โ โ โ
โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ
โ โโโโโ โโโโโ โ โโโโโ โโโโโ โ โโโโโ โโโโโ โ
โ โโโโโ โโโโโ โโโโโโโโโโโโโโ โ โโโโโ โโโโโ โโโโโฌโโโโโโโโโ โ โโโโโ โโโโโ โโโโโฌโโโโโโโโโ โ
โ โ โ โ โ โ โ โโ โ โ โ โ โ โ โ โ โโ โ โ โ โ โ โ โ โ โโ โ โ
โ โ โ โ โโโโโโ โ โโ โ โ โ โ โ โโโโโโ โ โโ โ โ โ โ โ โโโผโโโ โ โโ โ โ
โ โ โ โ โ โ โโ โ โโ โ โ โ โ โ โ โ โโ โ โโ โ โ โ โ โ โ โ โโ โ โโ โ โ
โ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โ โโโโโผโโโโโโโโโ โโโโโโดโโโโโโโโโค โ โโโโโผโโโโโโโผโโ โโโโโโดโโโโโโโโโค โ
โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ
โ โ โ โโโโโ โ โ โ โ โ โโโโโ โ โ โ โ โ โโโโโ โ โ โ
โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ
โ โโโโโ โโโโโ โ โโโโโ โโโโโ โ โโโโโ โโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ View full comparison:
border_merging.txt (gist)
Thanks for reading! Read other posts?