chore(deps): update rust crate comfy-table to v8 #14

Open
clank-bot wants to merge 1 commit from renovate/comfy-table-8.x into main
Member

This PR contains the following updates:

Package Type Update Change
comfy-table workspace.dependencies major 78

Release Notes

nukesor/comfy-table (comfy-table)

v8.0.0

Compare Source

Breaking Changes
  • The following types and functions have been removed:

    • TableComponent enum
    • The modifiers module and Table::apply_modifier have been removed.
    • Table::current_style_as_preset
    • Table::set_style
    • Table::style
    • Table::remove_style
    • Table::load_preset
  • The positional preset string format has been replaced with the new TableStyle, LineStyle and ContentLineStyle types.
    The old approach of having "stringified" presets was too finicky and also implicitly bound to the order of variants in the old TableComponent enum.
    It was just not a good design.

    The new design, in comparison, has a nice and (hopefully) intuitive API to define a style.
    On top of that, all functions on TableStyle are const, so custom styles can still be declared as constants:

    const MY_STYLE: TableStyle = TableStyle::new()
        .top_border(LineStyle::new('┌', '─', '┬', '┐'))
        .header_lines(ContentLineStyle::new('│', '┆', '│'))
        .header_separator(LineStyle::new('╞', '═', '╪', '╡'))
        .content_lines(ContentLineStyle::new('│', '┆', '│'))
        .bottom_border(LineStyle::new('└', '─', '┴', '┘'));
    

    The new API looks as follows:

    • Presets in comfy_table::presets::* are now TableStyle constants.
    • Table::load_style(style) has been added to load a preset or custom style.
    • Table::style() and Table::style_mut() to get a handle to the style used by the table.
      The mut handle can be used to change the style.
    • Instead of modifiers, there are now functions on TableStyle TableStyle::with_rounded_corners/TableStyle::with_solid_inner_borders.
    • All fields of TableStyle, LineStyle and ContentLineStyle are public:
      table.style_mut().top_border.left = Some('╭');
      
  • The default truncation indicator is now instead of ....
    This should make it more obvious that there's more text and consumes less visual space.

Fix
  • Various performance improvements that reduce table formatting time quite a bit:

    • ~36% for "normal" tables (The readme of the project). 17µs -> 11µs
    • ~34% for "larger" tables, which I would consider a reasonable usecase. 253µs -> 172µs
    • ~70% for very large tables, i.e. a 10x500 table. -> 20.8ms -> 6.15ms

    Most of these improvements boil down to:

    • Less string allocations.
    • Special handling when handling ASCII-only text, as grapheme handling can be skipped in those cases.
    • Moving computational heavy stuff (such as UTF-8 width calculations) out of hot loops.
  • Fixed a non-critical bug that resulted in less-than optimal layouting when UTF-8 characters were involved.

  • No longer panic when rendering a Table that contains a row with Row::max_height(0).

  • Don't print multi-width truncation indicators, if they would be longer than the column.


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [comfy-table](https://github.com/nukesor/comfy-table) | workspace.dependencies | major | `7` → `8` | --- ### Release Notes <details> <summary>nukesor/comfy-table (comfy-table)</summary> ### [`v8.0.0`](https://github.com/nukesor/comfy-table/blob/HEAD/CHANGELOG.md#800---05082026) [Compare Source](https://github.com/nukesor/comfy-table/compare/v7.2.2...v8.0.0) ##### Breaking Changes - The following types and functions have been removed: - `TableComponent` enum - The `modifiers` module and `Table::apply_modifier` have been removed. - `Table::current_style_as_preset` - `Table::set_style` - `Table::style` - `Table::remove_style` - `Table::load_preset` - The positional preset string format has been replaced with the new `TableStyle`, `LineStyle` and `ContentLineStyle` types. The old approach of having "stringified" presets was too finicky and also implicitly bound to the order of variants in the old `TableComponent` enum. It was just not a good design. The new design, in comparison, has a nice and (hopefully) intuitive API to define a style. On top of that, all functions on `TableStyle` are `const`, so custom styles can still be declared as constants: ```rust const MY_STYLE: TableStyle = TableStyle::new() .top_border(LineStyle::new('┌', '─', '┬', '┐')) .header_lines(ContentLineStyle::new('│', '┆', '│')) .header_separator(LineStyle::new('╞', '═', '╪', '╡')) .content_lines(ContentLineStyle::new('│', '┆', '│')) .bottom_border(LineStyle::new('└', '─', '┴', '┘')); ``` The new API looks as follows: - Presets in `comfy_table::presets::*` are now `TableStyle` constants. - `Table::load_style(style)` has been added to load a preset or custom style. - `Table::style()` and `Table::style_mut()` to get a handle to the style used by the table. The `mut` handle can be used to change the style. - Instead of modifiers, there are now functions on TableStyle `TableStyle::with_rounded_corners`/`TableStyle::with_solid_inner_borders`. - All fields of `TableStyle`, `LineStyle` and `ContentLineStyle` are public: ```rust table.style_mut().top_border.left = Some('╭'); ``` - The default truncation indicator is now `…` instead of `...`. This should make it more obvious that there's more text and consumes less visual space. ##### Fix - Various performance improvements that reduce table formatting time quite a bit: - \~36% for "normal" tables (The readme of the project). `17µs -> 11µs` - \~34% for "larger" tables, which I would consider a reasonable usecase. `253µs -> 172µs` - \~70% for **very** large tables, i.e. a 10x500 table. -> `20.8ms -> 6.15ms` Most of these improvements boil down to: - Less string allocations. - Special handling when handling ASCII-only text, as grapheme handling can be skipped in those cases. - Moving computational heavy stuff (such as UTF-8 width calculations) out of hot loops. - Fixed a non-critical bug that resulted in less-than optimal layouting when UTF-8 characters were involved. - No longer panic when rendering a `Table` that contains a row with `Row::max_height(0)`. - Don't print multi-width truncation indicators, if they would be longer than the column. </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNTAuMSIsInVwZGF0ZWRJblZlciI6IjQzLjE1MC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
chore(deps): update rust crate comfy-table to v8
Some checks failed
ci/woodpecker/pr/pr-review Pipeline was successful
ci/woodpecker/push/verify Pipeline failed
57278133de
clank-bot force-pushed renovate/comfy-table-8.x from 57278133de
Some checks failed
ci/woodpecker/pr/pr-review Pipeline was successful
ci/woodpecker/push/verify Pipeline failed
to 3b4cd10e0a
Some checks failed
ci/woodpecker/push/verify Pipeline failed
ci/woodpecker/pr/pr-review Pipeline was successful
ci/woodpecker/pr/global-rust-verify Pipeline failed
2026-08-15 21:29:05 +00:00
Compare
Some checks failed
ci/woodpecker/push/verify Pipeline failed
ci/woodpecker/pr/pr-review Pipeline was successful
ci/woodpecker/pr/global-rust-verify Pipeline failed
This pull request can be merged automatically.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/comfy-table-8.x:renovate/comfy-table-8.x
git switch renovate/comfy-table-8.x

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff renovate/comfy-table-8.x
git switch renovate/comfy-table-8.x
git rebase main
git switch main
git merge --ff-only renovate/comfy-table-8.x
git switch renovate/comfy-table-8.x
git rebase main
git switch main
git merge --no-ff renovate/comfy-table-8.x
git switch main
git merge --squash renovate/comfy-table-8.x
git switch main
git merge --ff-only renovate/comfy-table-8.x
git switch main
git merge renovate/comfy-table-8.x
git push origin main
Sign in to join this conversation.
No description provided.