Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Dec 13, 2023

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
github.com/charmbracelet/bubbles v0.16.1 -> v0.21.0 age adoption passing confidence

Release Notes

charmbracelet/bubbles (github.com/charmbracelet/bubbles)

v0.21.0

Compare Source

Viewport improvements

Finally, viewport finally has horizontal scrolling ✨![^v1]
To enable it, use SetHorizontalStep (default in v2 will be 6).

You can also scroll manually with ScrollLeft and ScrollRight, and use
SetXOffset to scroll to a specific position (or 0 to reset):

vp := viewport.New()
vp.SetHorizontalStep(10) // how many columns to scroll on each key press
vp.ScrollRight(30)       // pan 30 columns to the right!
vp.ScrollLeft(10)        // pan 10 columns to the left!
vp.SetXOffset(0)         // back to the left edge

To make the API more consistent, vertical scroll functions were also renamed,
and the old ones were deprecated (and will be removed in v2):

// Scroll n lines up/down:
func (m Model) LineUp(int)     // deprecated
func (m Model) ScrollUp(int)   // new!
func (m Model) LineDown(int)   // deprecated
func (m Model) ScrollDown(int) // new!

// Scroll half page up/down:
func (m Model) HalfViewUp() []string   // deprecated
func (m Model) HalfPageUp() []string   // new!
func (m Model) HalfViewDown() []string // deprecated
func (m Model) HalfPageDown() []string // new!

// Scroll a full page up/down:
func (m Model) ViewUp(int) []string   // deprecated
func (m Model) PageUp(int) []string   // new!
func (m Model) ViewDown(int) []string // deprecated
func (m Model) PageDown(int) []string // new!

[!NOTE]
In v2, these functions will not return lines []string anymore, as it is no
longer needed due to HighPerformanceRendering being deprecated as well.

Other improvements

The list bubble got a couple of new functions: SetFilterText,
SetFilterState, and GlobalIndex - which you can use to get the index of the
item in the unfiltered, original item list.

On textinput, you can now get the matched suggestions and more with
MatchedSuggestions and CurrentSuggestionIndex.

To put the cherry on top, this release also includes numerous bug fixes.
You can read about each of them in the linked commits/PRs below.

[^v1]: It is disabled by default in v1, but will be enabled in v2.

Changelog

New Features
Bug fixes
Dependency updates
Documentation updates
Other work

The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, The Fediverse, or on Discord.

v0.20.0

Compare Source

Focus. Breathe.

This features support for Bubble Tea's new focus-blur feature as well as a quality-of-life update to paginator. Enjoy!

Focus

You heard that right. Focus-blur window events are now enabled for textinput and textarea which were recently added to Bubble Tea v1.1.0. As long as WithReportFocus is enabled in your Program you'll automatically get nicer inputs.

To enable focus reporting:

p := tea.NewProgram(model{}, tea.WithReportFocus())

Remember to stay focused and hydrated!

Paginator opts

Speaking of functional arguments, paginator also received some some new quality-of-life startup options, courtesy @​nervo.

p := paginator.New(
	paginator.WithPerPage(42),
	paginator.WithTotalPages(42),
)

Of course, you can still set the values on the model directly too:

p := paginator.New()
p.PerPage = 42
p.TotalPages = 24

Happy paging!

Changelog

New!
Deps

The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, The Fediverse, or on Discord.

v0.19.0

Compare Source

Bugs? Squashed (along with a few nice lil’ features).

Community-Driven Development?! Yep, the majority of the changes in this release were done by the community. Thank you all for your contributions that made this release possible.

Progress: custom chars

You can now customize the filled and empty characters of the progress bar.

p := progress.New(progress.WithFillCharacters('>', '.'))

progress bar example

Table improvements

Help is on the way

Table now includes a short and full help view so it's easier than ever to tell your users how to interact with the table.

// Render a table with its help.
t := table.New()
view := t.View() + "\n" + t.HelpView()
Accessing columns

You can also now get the table's columns (this already existed for rows).

package table

// Columns returns the current columns.
func (m Model) Columns() []Column

List: page navigation is fixed!

Previously, list.NextPage() and list.PrevPage() didn't work because the methods did not have pointer receivers. We've fixed this…by making them pointer receivers!

⚠️ Note that this is a minor API change and you might need to update your app to pass a pointer receiver to your model rather than a copy. Details in #​458.

package progress

// NextPage moves to the next page, if available.
func (m *Model) NextPage()

// PrevPage moves to the previous page, if available.
func (m *Model) PrevPage()

What’s Changed

Changed
Added
Fixed
Test coverage ✅

New Contributors

Full Changelog: charmbracelet/bubbles@v0.18.0...v0.19.0


The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, The Fediverse, or on Discord.

v0.18.0

Compare Source

Textarea, but faster

This release features several fixes and big performance improvements for the textarea bubble.

What's Changed

New
Improved
Fixed

New Contributors

Full Changelog: charmbracelet/bubbles@v0.17.1...v0.18.0


The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, The Fediverse, or on Discord.

v0.17.1

Compare Source

Bumping Bubble Tea

This is just a little update to update to the latest version of Bubble Tea.

What's Changed

Full Changelog: charmbracelet/bubbles@v0.17.0...v0.17.1


The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, The Fediverse, or on Discord.

v0.17.0

Compare Source

Text input autocompletions and various improvements

Autocompletion in Text Input

So @​toadle wanted textinputs to support autocompletion in a ghost-text kind of a way. Rather than wait for us to do it he did what any dedicated open source developer would: he sent a PR! And now we can all benefit from his hard work.

Autocompletion is super easy to use:

ti := textinput.New()
ti.SetSuggestions([]string{"meow", "purr"})

By default you can press ctrl+n and ctrl+p to cycle through suggestions, but those keybindings can be changed as you, the application developer, see fit. For details check out textinput.SetSuggestions and the corresponding KeyMap in the docs.

Is the progress bar done yet?

@​yrashk acutely noticed that to nicely transition from one state to another after an animated progress bar fills up it's helpful to know when the animated has finished animating before transitioning. To solve for this he added an IsAnimating method to the progress model. Thanks, @​yrashk!

Changelog

New!
Improved
Fixed

Full Changelog: charmbracelet/bubbles@v0.16.1...v0.17.0

New Contributors


The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, The Fediverse, or on Discord.


Configuration

📅 Schedule: 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 was generated by Mend Renovate. View the repository job log.

@renovate renovate bot requested a review from koki-develop as a code owner December 13, 2023 16:21
@codecov-commenter
Copy link

codecov-commenter commented Dec 13, 2023

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (ecc7efe) 75.89% compared to head (844ca6c) 75.89%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #115   +/-   ##
=======================================
  Coverage   75.89%   75.89%           
=======================================
  Files          12       12           
  Lines         307      307           
=======================================
  Hits          233      233           
  Misses         65       65           
  Partials        9        9           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@renovate renovate bot force-pushed the renovate/github.com-charmbracelet-bubbles-0.x branch from f9d07b0 to 070b2ae Compare December 16, 2023 19:22
@renovate renovate bot changed the title Update module github.com/charmbracelet/bubbles to v0.17.0 Update module github.com/charmbracelet/bubbles to v0.17.1 Dec 16, 2023
@renovate renovate bot force-pushed the renovate/github.com-charmbracelet-bubbles-0.x branch from 070b2ae to 844ca6c Compare February 3, 2024 19:29
@renovate renovate bot changed the title Update module github.com/charmbracelet/bubbles to v0.17.1 Update module github.com/charmbracelet/bubbles to v0.18.0 Feb 3, 2024
@renovate renovate bot force-pushed the renovate/github.com-charmbracelet-bubbles-0.x branch from 844ca6c to f254f13 Compare April 20, 2024 23:57
@renovate renovate bot changed the title Update module github.com/charmbracelet/bubbles to v0.18.0 fix(deps): update module github.com/charmbracelet/bubbles to v0.18.0 Jul 8, 2024
@renovate renovate bot force-pushed the renovate/github.com-charmbracelet-bubbles-0.x branch from f254f13 to 84e769d Compare August 23, 2024 19:40
@renovate renovate bot changed the title fix(deps): update module github.com/charmbracelet/bubbles to v0.18.0 fix(deps): update module github.com/charmbracelet/bubbles to v0.19.0 Aug 23, 2024
@renovate renovate bot force-pushed the renovate/github.com-charmbracelet-bubbles-0.x branch from 84e769d to 4f86a59 Compare September 8, 2024 18:26
@renovate renovate bot changed the title fix(deps): update module github.com/charmbracelet/bubbles to v0.19.0 fix(deps): update module github.com/charmbracelet/bubbles to v0.20.0 Sep 8, 2024
@renovate renovate bot force-pushed the renovate/github.com-charmbracelet-bubbles-0.x branch from 4f86a59 to 748d0c1 Compare February 5, 2025 13:31
@renovate renovate bot force-pushed the renovate/github.com-charmbracelet-bubbles-0.x branch from 748d0c1 to 37c3333 Compare March 3, 2025 17:15
@renovate renovate bot force-pushed the renovate/github.com-charmbracelet-bubbles-0.x branch from 37c3333 to e470867 Compare April 9, 2025 23:43
@renovate renovate bot changed the title fix(deps): update module github.com/charmbracelet/bubbles to v0.20.0 fix(deps): update module github.com/charmbracelet/bubbles to v0.21.0 Apr 9, 2025
@renovate renovate bot force-pushed the renovate/github.com-charmbracelet-bubbles-0.x branch from e470867 to b69bbe0 Compare April 16, 2025 03:37
@renovate renovate bot force-pushed the renovate/github.com-charmbracelet-bubbles-0.x branch 4 times, most recently from ac55d99 to a5b57c3 Compare May 17, 2025 14:10
@renovate renovate bot force-pushed the renovate/github.com-charmbracelet-bubbles-0.x branch from a5b57c3 to bc633e2 Compare May 17, 2025 21:45
@koki-develop koki-develop merged commit 3c6cde5 into main May 17, 2025
5 checks passed
@koki-develop koki-develop deleted the renovate/github.com-charmbracelet-bubbles-0.x branch May 17, 2025 23:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants