• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

charmbracelet / bubbles
50%
main: 52%

Build:
Build:
LAST BUILD BRANCH: dependabot/github_actions/all-c22e3e74e6
DEFAULT BRANCH: main
Repo Added 19 Oct 2020 04:14AM UTC
Token IjtpKoTVFkXN77AHAX9apAGfcu09KIyOR regen
Build 2016 Last
Files 23
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH master
branch: master
CHANGE BRANCH
x
Reset
Sync Branches
  • master
  • 20220829-move-begin-end
  • 20220830-ta
  • 20220903-cursor
  • 20221002-key
  • 20221007-paginator
  • 20221007-textinput-bindings
  • 20230124-paste-nl
  • 20230205-textarea-fix
  • 20230422-textarea-limits
  • alt-key-bindings-up-down
  • area
  • atomic-ids
  • autocomplete
  • avoid-string-realloc
  • bracketed-paste
  • bug/831/slow-textarea-performance
  • bug/table-viewport
  • bugfix/renderOffByOne
  • bump-deps
  • button
  • calendar-component
  • charm-1177-updated-readme-header
  • ci
  • ci/maintenance
  • ci/sync-dependabot-config
  • codepwners
  • color-profile
  • column
  • columnsign
  • const-wheel-delta
  • constructors
  • ctrl-h-textinput
  • cursor-data-race
  • custom-filter
  • customizable-validation
  • dateTimePicker
  • delete-word
  • dependabot
  • dependabot-time
  • dependabot-weekly
  • dependabot/github_actions/actions/checkout-3
  • dependabot/github_actions/actions/checkout-4
  • dependabot/github_actions/actions/checkout-5
  • dependabot/github_actions/actions/setup-go-3
  • dependabot/github_actions/actions/setup-go-4
  • dependabot/github_actions/actions/setup-go-5
  • dependabot/github_actions/all-167a898cab
  • dependabot/github_actions/all-76468cb07f
  • dependabot/github_actions/all-c22e3e74e6
  • dependabot/github_actions/golangci/golangci-lint-action-3
  • dependabot/github_actions/golangci/golangci-lint-action-4
  • dependabot/github_actions/golangci/golangci-lint-action-5
  • dependabot/github_actions/golangci/golangci-lint-action-6
  • dependabot/go_modules/all-139fc94f88
  • dependabot/go_modules/all-1c72dfb863
  • dependabot/go_modules/all-461c774cda
  • dependabot/go_modules/all-487acfa430
  • dependabot/go_modules/all-4d37770942
  • dependabot/go_modules/all-555987e425
  • dependabot/go_modules/all-8c627fb926
  • dependabot/go_modules/all-9f8566c936
  • dependabot/go_modules/all-c7554f769d
  • dependabot/go_modules/all-d7ca598f58
  • dependabot/go_modules/all-f11ff2c6ad
  • dependabot/go_modules/github.com/aymanbagabas/go-udiff-0.3.1
  • dependabot/go_modules/github.com/charmbracelet/bubbletea-0.22.1
  • dependabot/go_modules/github.com/charmbracelet/bubbletea-0.23.0
  • dependabot/go_modules/github.com/charmbracelet/bubbletea-0.23.1
  • dependabot/go_modules/github.com/charmbracelet/bubbletea-0.23.2
  • dependabot/go_modules/github.com/charmbracelet/bubbletea-0.24.0
  • dependabot/go_modules/github.com/charmbracelet/bubbletea-0.24.2
  • dependabot/go_modules/github.com/charmbracelet/bubbletea-0.25.0
  • dependabot/go_modules/github.com/charmbracelet/bubbletea-0.26.0
  • dependabot/go_modules/github.com/charmbracelet/bubbletea-0.26.1
  • dependabot/go_modules/github.com/charmbracelet/bubbletea-0.26.2
  • dependabot/go_modules/github.com/charmbracelet/bubbletea-0.26.4
  • dependabot/go_modules/github.com/charmbracelet/bubbletea-0.26.5
  • dependabot/go_modules/github.com/charmbracelet/bubbletea-0.26.6
  • dependabot/go_modules/github.com/charmbracelet/bubbletea-0.27.0
  • dependabot/go_modules/github.com/charmbracelet/bubbletea-0.27.1
  • dependabot/go_modules/github.com/charmbracelet/bubbletea-1.0.0
  • dependabot/go_modules/github.com/charmbracelet/bubbletea-1.1.0
  • dependabot/go_modules/github.com/charmbracelet/bubbletea-1.1.1
  • dependabot/go_modules/github.com/charmbracelet/bubbletea-1.2.0
  • dependabot/go_modules/github.com/charmbracelet/bubbletea-1.2.1
  • dependabot/go_modules/github.com/charmbracelet/bubbletea-1.2.2
  • dependabot/go_modules/github.com/charmbracelet/bubbletea-1.2.3
  • dependabot/go_modules/github.com/charmbracelet/bubbletea-1.2.4
  • dependabot/go_modules/github.com/charmbracelet/bubbletea-1.3.4
  • dependabot/go_modules/github.com/charmbracelet/bubbletea-1.3.5
  • dependabot/go_modules/github.com/charmbracelet/bubbletea-1.3.6
  • dependabot/go_modules/github.com/charmbracelet/lipgloss-0.10.0
  • dependabot/go_modules/github.com/charmbracelet/lipgloss-0.11.1
  • dependabot/go_modules/github.com/charmbracelet/lipgloss-0.12.1
  • dependabot/go_modules/github.com/charmbracelet/lipgloss-0.13.0
  • dependabot/go_modules/github.com/charmbracelet/lipgloss-0.13.1
  • dependabot/go_modules/github.com/charmbracelet/lipgloss-0.6.0
  • dependabot/go_modules/github.com/charmbracelet/lipgloss-0.7.0
  • dependabot/go_modules/github.com/charmbracelet/lipgloss-0.7.1
  • dependabot/go_modules/github.com/charmbracelet/lipgloss-0.8.0
  • dependabot/go_modules/github.com/charmbracelet/lipgloss-0.9.0
  • dependabot/go_modules/github.com/charmbracelet/lipgloss-0.9.1
  • dependabot/go_modules/github.com/charmbracelet/lipgloss-1.0.0
  • dependabot/go_modules/github.com/charmbracelet/lipgloss-1.1.0
  • dependabot/go_modules/github.com/charmbracelet/x/ansi-0.1.2
  • dependabot/go_modules/github.com/charmbracelet/x/ansi-0.1.3
  • dependabot/go_modules/github.com/charmbracelet/x/ansi-0.1.4
  • dependabot/go_modules/github.com/charmbracelet/x/ansi-0.10.1
  • dependabot/go_modules/github.com/charmbracelet/x/ansi-0.3.0
  • dependabot/go_modules/github.com/charmbracelet/x/ansi-0.3.1
  • dependabot/go_modules/github.com/charmbracelet/x/ansi-0.3.2
  • dependabot/go_modules/github.com/charmbracelet/x/ansi-0.4.2
  • dependabot/go_modules/github.com/charmbracelet/x/ansi-0.4.5
  • dependabot/go_modules/github.com/charmbracelet/x/ansi-0.5.1
  • dependabot/go_modules/github.com/charmbracelet/x/ansi-0.5.2
  • dependabot/go_modules/github.com/charmbracelet/x/ansi-0.6.0
  • dependabot/go_modules/github.com/charmbracelet/x/ansi-0.7.0
  • dependabot/go_modules/github.com/charmbracelet/x/ansi-0.8.0
  • dependabot/go_modules/github.com/charmbracelet/x/ansi-0.9.2
  • dependabot/go_modules/github.com/charmbracelet/x/ansi-0.9.3
  • dependabot/go_modules/github.com/mattn/go-runewidth-0.0.14
  • dependabot/go_modules/github.com/mattn/go-runewidth-0.0.15
  • dependabot/go_modules/github.com/mattn/go-runewidth-0.0.16
  • dependabot/go_modules/github.com/muesli/termenv-0.14.0
  • dependabot/go_modules/github.com/muesli/termenv-0.15.0
  • dependabot/go_modules/github.com/muesli/termenv-0.15.1
  • dependabot/go_modules/github.com/muesli/termenv-0.15.2
  • dependabot/go_modules/github.com/muesli/termenv-0.16.0
  • dependabot/go_modules/github.com/rivo/uniseg-0.4.6
  • dependabot/go_modules/github.com/rivo/uniseg-0.4.7
  • dependabot/go_modules/github.com/sahilm/fuzzy-0.1.1
  • deprecate-cursor-style
  • develop
  • disable-quit
  • disabled-files
  • divisionByZero
  • dlvhdr/tree-bubble
  • docs
  • docs-validatefunc
  • docs/custom-bubbles-psa
  • dont-show-suggestions-unless-focused
  • drop-naked-returns
  • dualPaneModel
  • empty
  • enhancements
  • eob-align
  • expose_update_suggestions
  • feat-list-is-filtered
  • feat/custom-status-bar-title
  • feat/new-spinners
  • feat/selection
  • feat/table
  • feat/table/set-cursor
  • feat/text-area-multiline-placeholder
  • feature/593-improve-table-tests
  • feature/GetCursorChar
  • feature/fix-list-cursor-pos
  • feature/fix-list-cursor-pos-v2
  • feature/i236-viewport-horizontal-scroll
  • feature/misc-viewport-fixes
  • feature/navigation
  • feature/tableMouseSupport
  • feature/textarea-yoffset-scrolling
  • feature/v2-progress-blend
  • feature/v2-scrollbar
  • feature/v2-textarea-pagination
  • feature/v2-textarea-pg-and-view
  • filepicker
  • filepicker-compact
  • filepicker-edits
  • filepicker-panic
  • filepicker-readme
  • filter-text
  • fix-39
  • fix-cursor-SetMode
  • fix-fp-terminal-spacing
  • fix-godocs
  • fix-height-calc-method
  • fix-help-center
  • fix-input-set-value
  • fix-key-examples
  • fix-key-unbound-is-not-enabled
  • fix-list
  • fix-negative-repeat
  • fix-out-of-bounds-err
  • fix-prealloc
  • fix-progressbar-default-spring-option
  • fix-row-styles
  • fix-stylefunc-inherit
  • fix-table-truncate-v2
  • fix-textinput
  • fix-textinput-currentsuggest
  • fix-textinput-setvalue-cursor
  • fix-timer-stop
  • fix/eob-without-line-numbers
  • fix/issue-502-correctly-truncate-escaped-table-cells
  • fix/list-update-bindings-on-setSize
  • fix/progress-colors
  • fix/reset-blink
  • fix/table-allocation
  • fix/table-cursor-out-of-bounds
  • fix/table-height
  • fix/table-keymap-implement-help
  • fix/table-keys
  • fix/text-area-set-width
  • fix_full_help
  • fix_padding_in_titlebar
  • focus-blur
  • focus-blur-syntax
  • fuzzy
  • github-workflow
  • github-workflows
  • go-bump-118
  • godocs-deprecate
  • goodbye-spinner-lifetimes
  • goreleaser
  • height
  • help-fix-sep
  • help-fix-sep-test
  • help-key-bubble
  • highlight
  • housekeeping
  • idomatic-stuff
  • ime
  • improve-docs
  • indeterminate_progress
  • input-cursor
  • input-real-cursor
  • input-validation
  • insert-item-fix
  • insert-key
  • internal-cursor
  • issue-template
  • key-changes-cherry-picked
  • key-matches-multiarg
  • key-unbound-is-not-enabled
  • key/generic-matches
  • layouts
  • lint
  • lint-ci
  • lint2
  • linter
  • linter-rules
  • linters
  • lipgloss
  • lipgloss-renderer
  • list
  • list-bubble
  • list-default-style
  • list-faq
  • list-lint-fixes
  • list-new-rework
  • list-reduce-allocs-in-filter-items
  • live-progress
  • main
  • misc-fixes
  • ml-base-style-width
  • ml-textarea-styling
  • multiline-textinput
  • new-spinner-with-option
  • nextprompt
  • no-items
  • no-items-found
  • nolint-mnd
  • offsetViewportFrame
  • on-first-page
  • original-filtered-index
  • paginator
  • paginator-options
  • paste
  • patch-1
  • performance-scrollfix
  • periods-of-ellipsis
  • picker-height
  • placeholder-text-render
  • progress
  • progress-anim
  • progress-anim-threshold
  • progress-is-complete
  • progress-lipgloss
  • progress-model
  • progress-readme
  • progress-update
  • quit
  • readme
  • readme-badges
  • readme-footer
  • readme-help
  • readme-images
  • readme-key-fix
  • readme-table
  • readme-update
  • refs/tags/v0.10.0
  • refs/tags/v0.10.1
  • refs/tags/v0.10.2
  • refs/tags/v0.10.3
  • refs/tags/v0.11.0
  • refs/tags/v0.12.0
  • refs/tags/v0.13.0
  • refs/tags/v0.14.0
  • refs/tags/v0.14.1
  • refs/tags/v0.15.0
  • refs/tags/v0.16.0
  • refs/tags/v0.16.1
  • refs/tags/v0.17.0
  • refs/tags/v0.17.1
  • refs/tags/v0.18.0
  • refs/tags/v0.19.0
  • refs/tags/v0.20.0
  • refs/tags/v0.21.0
  • refs/tags/v0.21.1
  • refs/tags/v0.7.1
  • refs/tags/v0.7.2
  • refs/tags/v0.7.3
  • refs/tags/v0.7.4
  • refs/tags/v0.7.5
  • refs/tags/v0.7.6
  • refs/tags/v0.7.7
  • refs/tags/v0.7.8
  • refs/tags/v0.7.9
  • refs/tags/v0.8.0
  • refs/tags/v0.9.0
  • refs/tags/v1.0.0
  • refs/tags/v2.0.0
  • refs/tags/v2.0.0-alpha.1
  • refs/tags/v2.0.0-alpha.2
  • refs/tags/v2.0.0-beta.1
  • refs/tags/v2.0.0-rc.1
  • refs/tags/v2.1.0
  • remove-stylefunc
  • responsive-images
  • return-table-columns
  • revert-239-internal-cursor
  • revert-300-patch-1
  • revert-442-truncate-textinput
  • rohan/20260329-fix-primitives-readme
  • router
  • save-key
  • scroll
  • scrolls
  • set-columns
  • set-custom-table-height
  • short-viewport-bugfix
  • softlint
  • spinner-cleanup
  • spinner-comments
  • spinner-fix-obsolete-doc
  • spinner-id
  • spinner-improvements
  • spinner-rework
  • stable-v0.12.1
  • stopwatch
  • stopwatch-id
  • streamline-spinner
  • support_autocompletion
  • table-add-stylefunc
  • table-help
  • table_performance
  • table_style_ext
  • tag-stopwatch-n-timer
  • teacup
  • term-input-loop
  • test-render-row
  • test/text-area-convert-existing
  • testindex
  • texinput-cleanup
  • textarea
  • textarea-cursor
  • textarea-details
  • textarea-dynamic-height
  • textarea-matched-suggestions-out-of-range
  • textarea-newlines
  • textarea-paste
  • textarea-placeholder
  • textarea-placeholder-color
  • textarea-unpointer
  • textarea-word
  • textarea-zero-limit
  • textarea/set-vp-content
  • textinput
  • textinput-ctrl-arrows
  • textinput-cursor
  • textinput-cursormode
  • textinput-echo
  • textinput-expose-sugs
  • textinput-fix
  • textinput-fix-render
  • textinput-keybindings
  • textinput-placeholder
  • textinput-reduce-alloc
  • textinput-regression
  • textinput-space-fix
  • textrea-buffer-fix
  • timer
  • timer-id
  • timer-updates
  • truncate-textinput
  • typo-textinput
  • uniseg-textinput
  • update-contributing
  • update-position-constant-in-join-horizontal
  • updates
  • upgrade-tea
  • use-lipgloss-table
  • use-term
  • use_atomic_for_counting
  • v2-area
  • v2-deprecated
  • v2-easier-keymatch
  • v2-exp
  • v2-exp-table-tests
  • v2-exp-update
  • v2-generics
  • v2-go-bump
  • v2-help-light-dark
  • v2-image
  • v2-key-id
  • v2-lipgloss
  • v2-mini-tidy
  • v2-nil-cursors
  • v2-progress
  • v2-real-textarea
  • v2-remove-deprecated
  • v2-set-lines-vp
  • v2-setpromptfunc
  • v2-table
  • v2-textarea-adjustment
  • v2-textarea-api
  • v2-textarea-cursor
  • v2-textarea-moveto
  • v2-tidy
  • v2-tidy-again
  • v2-upgrade
  • v2-virtualcursor
  • validate
  • vertical-scrollbar
  • viewport
  • viewport-bounding
  • viewport-deprecation
  • viewport-final-line-fix
  • viewport-fixes
  • viewport-panic-fix
  • viewport-scroll
  • viewport-sizing
  • viewport-wrap
  • viewport/gutter-nil
  • vim
  • vp-help
  • wcwidth

24 Feb 2026 11:29AM UTC coverage: 50.355% (+5.8%) from 44.577%
22348908596

push

github

web-flow
Merge pull request #853 from charmbracelet/v2-exp

V2 exp

791 of 1284 new or added lines in 19 files covered. (61.6%)

22 existing lines in 6 files now uncovered.

2481 of 4927 relevant lines covered (50.36%)

126.22 hits per line

Relevant lines Covered
Build:
Build:
4927 RELEVANT LINES 2481 COVERED LINES
126.22 HITS PER LINE
Source Files on master
  • Tree
  • List 23
  • Changed 16
  • Source Changed 0
  • Coverage Changed 16
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
22348908596 master Merge pull request #853 from charmbracelet/v2-exp V2 exp push 24 Feb 2026 11:30AM UTC web-flow github
50.36
21675901143 master fix: changed 'recieve' to 'receive' for 100% quality of Go Report Card (#881) push 04 Feb 2026 02:45PM UTC web-flow github
44.58
21620496195 master chore: update dependencies Update x/ansi to v0.11.5 and so that ansi.Parser pool uses less memory. Fixes: https://github.com/charmbracelet/bubbles/issues/829 push 03 Feb 2026 07:02AM UTC aymanbagabas github
44.58
18163604672 master fix(textinput): improve placeholder (#768) similar to #767 but for textinputs push 01 Oct 2025 01:23PM UTC web-flow github
44.58
17379614718 master v1: fix(list): ensure correct cursor positions with page/cursor methods (#831) * fix(list): misc cursor position fixes Signed-off-by: Liam Stanley <liam@liam.sh> * chore(list): add low/high check in clamp --------- Signed-off-by: Liam Stanley... push 01 Sep 2025 01:51PM UTC web-flow github
44.66
17243699105 master ci: sync dependabot config (#835) push 26 Aug 2025 04:04PM UTC web-flow github
44.61
16936828493 master docs(readme): update footer image and copyright date push 13 Aug 2025 12:12PM UTC meowgorithm github
44.61
15073787777 master test(table): improve table unit tests (#601) push 16 May 2025 05:14PM UTC web-flow github
44.61
15070307421 master feat: update keybindings in list setSize method push 16 May 2025 02:04PM UTC meowgorithm github
43.6
14757419554 master fix(cursor): fix data race on blinkTag (#784) push 30 Apr 2025 02:46PM UTC web-flow github
43.61
See All Builds (1812)

Badge your Repo: bubbles

We detected this repo isn’t badged! Grab the embed code to the right, add it to your repo to show off your code coverage, and when the badge is live hit the refresh button to remove this message.

Could not find badge in README.

Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

Refresh
  • Settings
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc