lipgloss
Version, currently 2.0.44 versions
- 2.0.4latestJul 27, 2026
- 2.0.3not indexedJul 28, 2026
- 2.0.2not indexedJul 28, 2026
- 2.0.1not indexedJul 28, 2026
github.com/dsisnero/lipgloss
Lipgloss Crystal port
0 stars
3 dependents
License: MIT
Installation
# Add this to your shard.yml
dependencies:
lipgloss:
github: dsisnero/lipgloss
version: ~> 2.0.4Then run:
shards installshard.yml
- Crystal
>= 1.18.2- License
- MIT
- Author
- Dominic Sisneros
- Target
lipglossfrom src/lipgloss.cr
Dependencies
Runtime Dependencies
- ansi*github: dsisnero/ansi
- similar*github: dsisnero/similar.cr
- textseg*github: naqvis/uni_text_seg
- cellwrap*github: dsisnero/cellwrap
- colorful*github: dsisnero/colorful
- uniwidth*github: naqvis/uni_char_width
- ultraviolet*github: dsisnero/ultraviolet
- colorprofile*github: dsisnero/colorprofile
Development Dependencies
README
Lipgloss applies cosmetic styling to terminal output—transforming plain text into beautifully formatted, bordered, and colored displays. Like its namesake adds shine and color to lips, this library adds visual polish to command-line interfaces, making them more engaging and readable.
Quick Start
-
Add the dependency to your
shard.yml:dependencies: lipgloss: github: dsisnero/lipgloss -
Run
shards install -
Use in your Crystal code:
require "lipgloss" style = Lipgloss::Style.new .foreground(Lipgloss::Color::CYAN) .border(Lipgloss::Border.rounded) .padding(1, 2) puts style.render("Hello")
Features
- Fluent API: Chainable methods for intuitive styling
- Border styles: Rounded, thick, double, hidden, and custom borders
- Color support: Hex, RGB, ANSI, and adaptive terminal colors
- Layout helpers: Padding, margins, alignment, and positioning
- Terminal-aware: Adaptive rendering based on terminal capabilities
- Unicode support: Proper handling of wide characters and emoji
Migration from Go Lip Gloss v1
If you're migrating from the Go version of Lip Gloss v1, see the Upgrade Guide for detailed migration instructions, API changes, and code examples.
Development
make install # Install dependencies
make spec # Run tests
make format # Format Crystal files
rumdl fmt docs/ *.md # Format markdown documentation
See Development Guide for full setup instructions.
Documentation
| Document | Purpose |
|---|---|
| Architecture | System design and data flow |
| Development | Setup and daily workflow |
| Coding Guidelines | Code style and conventions |
| Testing | Test commands and patterns |
| PR Workflow | Commits, PRs, and review process |
| Porting Parity | Upstream source tracking from Go v2.0.0 |
| Upgrade Guide | Migrating from Lip Gloss v1 to v2 |
Contributing
- Create an issue:
/forge-create-issue - Implement:
/forge-implement-issue <number> - Self-review:
/forge-reflect-pr - Address feedback:
/forge-address-pr-feedback - Update changelog:
/forge-update-changelog
Contributors
- Dominic Sisneros - creator and maintainer
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This release
- Version
2.0.4- Tagged
- Jul 27, 2026
- Commit
cf7b69d2cb64- Crystal
>= 1.18.2- Indexed
- yes
Dependents
Repository
github.com/dsisnero/lipgloss
Metadata
- Created
- Aug 18, 2026
- Updated
- Sep 17, 2026
- Synced
- Sep 17, 2026
- Versions
- 4