• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In
You are now the owner of this repo.

charmbracelet / bubbles
54%
main: 52%

Build:
Build:
LAST BUILD BRANCH: wip/textarea-select
DEFAULT BRANCH: main
Repo Added 19 Oct 2020 04:14AM UTC
Token IjtpKoTVFkXN77AHAX9apAGfcu09KIyOR regen
Build 2078 Last
Files 24
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 wip/textarea-select
branch: SELECT
CHANGE BRANCH
x
Sync Branches
  • No branch selected
  • 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-640176b5ab
  • dependabot/github_actions/all-76468cb07f
  • dependabot/github_actions/all-c22e3e74e6
  • dependabot/github_actions/all-e986305a06
  • 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-0289fb0422
  • dependabot/go_modules/all-139fc94f88
  • dependabot/go_modules/all-16c6637820
  • dependabot/go_modules/all-1c72dfb863
  • dependabot/go_modules/all-3df5b8fe74
  • 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-8d3dc0b2d3
  • dependabot/go_modules/all-9f8566c936
  • dependabot/go_modules/all-c6630ca200
  • dependabot/go_modules/all-c7554f769d
  • dependabot/go_modules/all-d6d802e382
  • 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/ctrl
  • 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/887-textarea-exact-softwrap-cursor
  • fix/eob-without-line-numbers
  • fix/filepicker
  • 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/textarea-performance
  • 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
  • master
  • 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
  • refs/tags/v2.1.1
  • 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-promptfix
  • 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
  • wip/textarea-select

04 Aug 2026 04:15PM UTC coverage: 54.041%. First build
30928357273

Pull #1029

github

andrinoff
guard against an empty msg

Signed-off-by: drew <me@andrinoff.com>
Pull Request #1029: feat: textarea selection

242 of 297 new or added lines in 2 files covered. (81.48%)

2855 of 5283 relevant lines covered (54.04%)

216.86 hits per line

Relevant lines Covered
Build:
Build:
5283 RELEVANT LINES 2855 COVERED LINES
216.86 HITS PER LINE
Source Files on main
  • Tree
  • List 24
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
30928357273 wip/textarea-select guard against an empty msg Signed-off-by: drew <me@andrinoff.com> Pull #1029 04 Aug 2026 04:17PM UTC andrinoff github
54.04
30924148094 wip/textarea-select fix: typo right/left Signed-off-by: drew <me@andrinoff.com> Pull #1029 04 Aug 2026 03:27PM UTC andrinoff github
54.03
30923290521 wip/textarea-select feat: improvements from #1028 Signed-off-by: drew <me@andrinoff.com> Pull #1029 04 Aug 2026 03:17PM UTC andrinoff github
54.03
30918141006 main feat(textarea): support ctrl + left/right/backspace (#1020) push 04 Aug 2026 02:18PM UTC GitHub github
51.94
30916460247 wip/textarea-select fix: add missing keybind (test) and fix nestif Signed-off-by: drew <me@andrinoff.com> Pull #1029 04 Aug 2026 01:58PM UTC andrinoff github
52.89
30825033467 fix/filepicker fix(filepicker): don't blank the view when height is unset Signed-off-by: drew <me@andrinoff.com> Pull #1026 03 Aug 2026 02:56PM UTC andrinoff github
55.69
30199616176 feat/ctrl feat(textarea): support ctrl + left/right/backspace Pull #1020 03 Aug 2026 02:24PM UTC Zoe Roux github
51.94
30725263233 ci/sync-dependabot-config ci: sync dependabot config Pull #854 02 Aug 2026 12:28AM UTC github-actions[bot] github
51.94
30581482596 fix/textarea-performance fix: performance issues with textarea Pull #1024 31 Jul 2026 02:42PM UTC drew github
54.27
30252270019 dependabot/go_modules/all-8d3dc0b2d3 chore(deps): bump github.com/mattn/go-runewidth in the all group Bumps the all group with 1 update: [github.com/mattn/go-runewidth](https://github.com/mattn/go-runewidth). Updates `github.com/mattn/go-runewidth` from 0.0.24 to 0.0.27 - [Commits... Pull #1021 27 Jul 2026 09:03AM UTC web-flow github
51.94
See All Builds (1849)

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 TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc