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

charmbracelet / bubbles
50%
master: 45%

Build:
Build:
LAST BUILD BRANCH: dependabot/go_modules/all-461c774cda
DEFAULT BRANCH: master
Repo Added 19 Oct 2020 04:14AM UTC
Token IjtpKoTVFkXN77AHAX9apAGfcu09KIyOR regen
Build 1892 Last
Files 21
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 feature/misc-viewport-fixes
branch: feature/misc-viewport-fixes
CHANGE BRANCH
x
Reset
Sync Branches
  • feature/misc-viewport-fixes
  • 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
  • ci
  • ci/maintenance
  • ci/sync-dependabot-config
  • codepwners
  • color-profile
  • 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/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/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/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-readme
  • filter-text
  • fix-39
  • fix-cursor-SetMode
  • 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-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
  • 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.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/v2.0.0-alpha.1
  • refs/tags/v2.0.0-alpha.2
  • refs/tags/v2.0.0-beta.1
  • remove-stylefunc
  • responsive-images
  • return-table-columns
  • revert-239-internal-cursor
  • revert-300-patch-1
  • revert-442-truncate-textinput
  • 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-matched-suggestions-out-of-range
  • textarea-newlines
  • textarea-paste
  • textarea-placeholder
  • textarea-placeholder-color
  • 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-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

03 Sep 2025 01:01AM UTC coverage: 49.805% (+0.4%) from 49.444%
17419937496

Pull #823

github

lrstanley
fix(viewport): fix datarace in gutter/stylelines

Signed-off-by: Liam Stanley <liam@liam.sh>
Pull Request #823: v2: viewport: refactor softwrap; improve perf; various bug fixes

84 of 97 new or added lines in 1 file covered. (86.6%)

248 existing lines in 3 files now uncovered.

2429 of 4877 relevant lines covered (49.81%)

120.18 hits per line

Relevant lines Covered
Build:
Build:
4877 RELEVANT LINES 2429 COVERED LINES
120.18 HITS PER LINE
Source Files on feature/misc-viewport-fixes
  • Tree
  • List 23
  • Changed 3
  • Source Changed 0
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
17419937496 feature/misc-viewport-fixes fix(viewport): fix datarace in gutter/stylelines Signed-off-by: Liam Stanley <liam@liam.sh> Pull #823 03 Sep 2025 01:02AM UTC lrstanley github
49.81
See All Builds (1718)

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

© 2025 Coveralls, Inc