这个项目能做什么

Bubbles 提供了一组可复用的原语,用于在 Go 中通过 Bubble Tea 框架构建终端用户界面。这些组件已在 Charm 的 Crush 及许多其他应用的生产环境中使用,项目作为 Charm 生态系统的一部分,采用 MIT 许可证。 包含的组件: - Spinner:用于进行中操作的动画指示器,提供多种默认样式并支持自定义帧。 - Text Input:单行输入字段,类似于 HTML 文本输入,支持 Unicode、粘贴、当值超过元素宽度时的就地水平滚动,以及广泛的定制选项。 - Text Area:多行输入,类似于 HTML 文本区域,支持 Unicode 和粘贴,并在内容超过元素尺寸时提供垂直滚动。 - Table:以列和行显示和导航表格数据,支持垂直滚动和定制选项。 - Progress:可定制的进度条,可选通过 Harmonica 进行动画,支持实心或渐变填充,可配置的已填充/未填充字符,以及可选的百分比显示。 - Paginator:处理分页逻辑,并可选择渲染分页 UI,支持点式(类似 iOS)和数字页面指示器;逻辑也可与自定义可视化配对使用。 - Viewport:可垂直滚动的内容区域,支持可选的标准分页键绑定和鼠标滚轮,并提供高性能模式,适用于使用备用屏幕缓冲区的应用。与 Reflow 配合使用效果佳,可实现 ANSI 感知的缩进和换行。 - List:一个开箱即用的组件,用于浏览项目集合,具有分页、模糊过滤、自动生成的帮助、活动指示器和状态消息,每项均可开关。最初从 Glow 中提取。 - File Picker:导航目录并选择文件,可选按文件扩展名过滤。 - Timer 和 Stopwatch:灵活的倒计时和正计时组件,具有可定制的更新频率和输出。 - Help:从键绑定自动生成的横向迷你帮助视图,支持单行和多行模式,并在窄终端中优雅截断。 - Key:一个非视觉组件,用于管理键绑定,支持用户重新映射并生成与这些绑定关联的帮助视图。 项目提供从 v1 迁移的升级指南,链接到 Bubble Tea 示例目录中每个组件的示例代码,并指向社区维护的额外 bubbles 集合(Charm & Friends),该集合接受贡献。反馈渠道包括 Twitter、Fediverse 和 Discord。