Repolode
charmbracelet

charmbracelet/lipgloss

用于构建终端界面的 Go 库,以类似 CSS 的声明式方式定义样式与布局。

Star
11,943
Fork
417
未关闭 Issue
163
最近提交
11天前

这是什么?

Lip Gloss 是一个 Go 语言库,用于在终端中渲染带样式的文本和布局。样式以声明式、链式调用的方式定义,支持颜色、文字格式、内边距、外边距、边框、对齐以及固定宽高,对熟悉 CSS 的开发者来说上手较快。

除了单个样式,它还提供拼接和放置文本块、测量渲染尺寸、混合颜色实现渐变、合成分层内容等工具函数。table、list、tree 三个子包分别用于渲染表格、列表和树形结构。输出颜色会自动从真彩色降级为 256 色或 16 色,输出不是 TTY 时则直接去除颜色。

Lip Gloss 设计上与 Charm 的终端应用框架 Bubble Tea 配合使用,也可以单独用于格式化命令行输出。

核心功能

  • 01链式调用的类 CSS 样式定义,涵盖颜色、文字格式、内外边距和边框
  • 02自动将真彩色降级为 ANSI 256 或 16 色
  • 03提供文本块的拼接、放置与尺寸测量工具
  • 04内置 table、list、tree 子包用于渲染结构化内容
  • 05支持分层内容的单元格合成及渐变色混合

适用场景

  • 为 Bubble Tea 终端应用设计界面样式和布局
  • 在命令行工具中输出格式化的表格、列表或树形结构
  • 输出带颜色的内容,并在日志或不支持颜色的终端中自动降级

快速上手

  1. 1

    使用 Go 安装该库

    go get charm.land/lipgloss/v2

标签

常见问题

lipgloss 是什么?
用于构建终端界面的 Go 库,以类似 CSS 的声明式方式定义样式与布局。 Lip Gloss 是一个 Go 语言库,用于在终端中渲染带样式的文本和布局。样式以声明式、链式调用的方式定义,支持颜色、文字格式、内边距、外边距、边框、对齐以及固定宽高,对熟悉 CSS 的开发者来说上手较快。
lipgloss 可以免费使用吗?用的什么许可证?
lipgloss 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
lipgloss 还在维护吗?
活跃维护中。lipgloss 最近一次提交是在 2026年10月11日。
lipgloss 适合用来做什么?
为 Bubble Tea 终端应用设计界面样式和布局 在命令行工具中输出格式化的表格、列表或树形结构 输出带颜色的内容,并在日志或不支持颜色的终端中自动降级
lipgloss 怎么安装和运行?
使用 Go 安装该库: go get charm.land/lipgloss/v2
在哪里获取 lipgloss?
源代码和安装说明在 GitHub 上:https://github.com/charmbracelet/lipgloss

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目