Kryszak / penny

TUI mp3 player
0 stars 0 forks source link

Bump ratatui from 0.22.0 to 0.23.0 #51

Closed dependabot[bot] closed 1 year ago

dependabot[bot] commented 1 year ago

Bumps ratatui from 0.22.0 to 0.23.0.

Release notes

Sourced from ratatui's releases.

0.23.0

We are thrilled to release the new version of ratatui 🐭, the official successor* of tui-rs.

In this version, we improved the existing widgets such as Barchart and Scrollbar. We also made improvements in the testing/internal APIs to provide a smoother testing/development experience. Additionally, we have addressed various bugs and implemented enhancements.

Here is a blog post that highlights the new features and breaking changes along with a retrospective about the project: https://blog.orhun.dev/ratatui-0-23-0

Features

  • (barchart) Add direction attribute. (horizontal bars support) (#325) (0dca6a6)

    * feat(barchart): Add direction attribute
    

    Enable rendering the bars horizontally. In some cases this allow us to make more efficient use of the available space.

  • (cell) Add voluntary skipping capability for sixel (#215) (e4bcf78)

    > Sixel is a bitmap graphics format supported by terminals.
    > "Sixel mode" is entered by sending the sequence ESC+Pq.
    > The "String Terminator" sequence ESC+\ exits the mode.
    

    The graphics are then rendered with the top left positioned at the cursor position.

    It is actually possible to render sixels in ratatui with just buf.get_mut(x, y).set_symbol("^[Pq ... ^[\"). But any buffer covering the "image area" will overwrite the graphics. This is most likely the same buffer, even though it consists of empty characters ' ', except for the top-left character that starts the sequence.

    Thus, either the buffer or cells must be specialized to avoid drawing over the graphics. This patch specializes the Cell with a set_skip(bool) method, based on James' patch: https://github.com/TurtleTheSeaHobo/tui-rs/tree/sixel-support I unsuccessfully tried specializing the Buffer, but as far as I can tell buffers get merged all the way "up" and thus skipping must be set on the Cells. Otherwise some kind of "skipping area" state would be required, which I think is too complicated.

    Having access to the buffer now it is possible to skip all cells but the first one which can then set_symbol(sixel). It is up to the user to deal with the graphics size and buffer area size. It is possible to get the terminal's font size in pixels with a syscall.

... (truncated)

Changelog

Sourced from ratatui's changelog.

v0.23.0 - 2023-08-28

We are thrilled to release the new version of ratatui 🐭, the official successor* of tui-rs.

In this version, we improved the existing widgets such as Barchart and Scrollbar. We also made improvmements in the testing/internal APIs to provide a smoother testing/development experience. Additionally, we have addressed various bugs and implemented enhancements.

Here is a blog post that highlights the new features and breaking changes along with a retrospective about the project: https://blog.orhun.dev/ratatui-0-23-0

Features

  • (barchart) Add direction attribute. (horizontal bars support) (#325) (0dca6a6)

    * feat(barchart): Add direction attribute
    

    Enable rendering the bars horizontally. In some cases this allow us to make more efficient use of the available space.

  • (cell) Add voluntary skipping capability for sixel (#215) (e4bcf78)

    > Sixel is a bitmap graphics format supported by terminals.
    > "Sixel mode" is entered by sending the sequence ESC+Pq.
    > The "String Terminator" sequence ESC+\ exits the mode.
    

    The graphics are then rendered with the top left positioned at the cursor position.

    It is actually possible to render sixels in ratatui with just buf.get_mut(x, y).set_symbol("^[Pq ... ^[\"). But any buffer covering the "image area" will overwrite the graphics. This is most likely the same buffer, even though it consists of empty characters ' ', except for the top-left character that starts the sequence.

    Thus, either the buffer or cells must be specialized to avoid drawing over the graphics. This patch specializes the Cell with a set_skip(bool) method, based on James' patch: https://github.com/TurtleTheSeaHobo/tui-rs/tree/sixel-support I unsuccessfully tried specializing the Buffer, but as far as I can tell buffers get merged all the way "up" and thus skipping must be set on the Cells. Otherwise some kind of "skipping area" state would be required, which I think is too complicated.

    Having access to the buffer now it is possible to skip all cells but the first one which can then set_symbol(sixel). It is up to the user to deal with the graphics size and buffer area size. It is possible to get the terminal's font size in pixels with a syscall.

... (truncated)

Commits
  • 3f781ca chore(release): prepare for 0.23.0 (#444)
  • fc727df refactor(barchart): reduce some calculations (#430)
  • 47fe4ad docs(project): make the project description cooler (#441)
  • 7a70602 docs(examples): fix the instructions for generating demo GIF (#442)
  • 14eb6b6 test(tabs): add unit tests (#439)
  • 6009844 chore(changelog): ignore alpha tags (#440)
  • 8b36683 docs(lib): extract feature documentation from Cargo.toml (#438)
  • e9bd736 test(clear): test Clear rendering (#432)
  • a890f2a test(block): test all block methods (#431)
  • b35f19e test(test_backend): add tests for TestBackend coverage (#434)
  • Additional commits viewable in compare view


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)