New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: lipgloss renderer #140
Conversation
aymanbagabas
commented
Oct 5, 2022
- bump termenv & reflow
- use custom renderers
- update readme
- add examples
|
ba1ce87
to
0da4b11
Compare
c3e9320
to
110086d
Compare
4330757
to
155e480
Compare
d75a112
to
92f8952
Compare
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
* Use lipgloss instances instead of a singleton global instance * Deprecate (s Style).Render & (s Style).String * Deprecate the Stringer interface * Update README and godocs * Update example
lipgloss.Style now takes a renderer instance to be used to detect styles and colors based on its termenv.Output and terminal
* add new color types * more examples * custom renderer example
implement RGBA with the default output
a4a40ba
to
fe255dc
Compare
chore(examples): go mod tidy
fe255dc
to
0f413ed
Compare
We should probably unify the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, LGTM. We could squash a few commits, but we could also just ignore it and go ahead merge this one now.
…s to v0.7.1 (#7) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [github.com/charmbracelet/lipgloss](https://togithub.com/charmbracelet/lipgloss) | require | minor | `v0.6.0` -> `v0.7.1` | --- ### Release Notes <details> <summary>charmbracelet/lipgloss</summary> ### [`v0.7.1`](https://togithub.com/charmbracelet/lipgloss/releases/tag/v0.7.1) [Compare Source](https://togithub.com/charmbracelet/lipgloss/compare/v0.7.0...v0.7.1) This bugfix release fixes a problem introduced in v0.7.0 where applications could freeze or hang on start-up. #### What's Changed - fix(renderer): use termenv default renderer by [@​aymanbagabas](https://togithub.com/aymanbagabas) in [charmbracelet/lipgloss#179 - chore: bump termenv to v0.15.1 by [@​muesli](https://togithub.com/muesli) in [charmbracelet/lipgloss#180 **Full Changelog**: charmbracelet/lipgloss@v0.7.0...v0.7.1 ### [`v0.7.0`](https://togithub.com/charmbracelet/lipgloss/releases/tag/v0.7.0) [Compare Source](https://togithub.com/charmbracelet/lipgloss/compare/v0.6.0...v0.7.0) ### Custom Renderers We're pleased to introduce custom renders for Lip Gloss! Custom renderers allow you to render to a specific outputs, which is particularly important when you want to detect the color profile and dark background status for multiple different outputs at runtime, such as in a server-client situation. Here's what it looks like: ```go func myLittleHandler(sess ssh.Session) { // Create a renderer for the client. renderer := lipgloss.NewRenderer(sess) // Create a new style on the renderer. style := renderer.NewStyle().Background(lipgloss.AdaptiveColor{Light: "63", Dark: "228"}) // Render. The color profile and dark background state will be correctly detected. io.WriteString(sess, style.Render("Heyyyyyyy")) } ``` For a full example on using a custom renderer over SSH with [Wish](https://togithub.com/charmbracelet/wish) see the [SSH example](https://togithub.com/charmbracelet/lipgloss/blob/master/examples/ssh). #### New API Stuff - `type Renderer struct` - `NewRenderer(io.Writer)` - `DefaultRenderer()` - `SetDefaultRenderer(*lipgloss.Renderer)` - `style.Renderer(*lipgloss.Renderer) Style` #### What's Changed ##### New - lipgloss renderer by [@​aymanbagabas](https://togithub.com/aymanbagabas) in [charmbracelet/lipgloss#140 and [charmbracelet/lipgloss#174 - add BlockBorder, OuterHalfBlockBorder, and InnerHalfBlockBorder border styles by [@​VictorBersy](https://togithub.com/VictorBersy) in [charmbracelet/lipgloss#120 ##### Fixed - RGBA implementations for non-hex color values by [@​muesli](https://togithub.com/muesli) in [charmbracelet/lipgloss#126 - unify get border size function names by [@​nerg4l](https://togithub.com/nerg4l) in [charmbracelet/lipgloss#148 - reduce dependencies by [@​caarlos0](https://togithub.com/caarlos0) in [charmbracelet/lipgloss#146 - don't concurrently change output profiles by [@​muesli](https://togithub.com/muesli) in [charmbracelet/lipgloss#172 #### New Contributors - [@​dependabot](https://togithub.com/dependabot) made their first contribution in [charmbracelet/lipgloss#133 - [@​winder](https://togithub.com/winder) made their first contribution in [charmbracelet/lipgloss#147 - [@​VictorBersy](https://togithub.com/VictorBersy) made their first contribution in [charmbracelet/lipgloss#120 - [@​nervo](https://togithub.com/nervo) made their first contribution in [charmbracelet/lipgloss#156 - [@​caarlos0](https://togithub.com/caarlos0) made their first contribution in [charmbracelet/lipgloss#146 - [@​Isti115](https://togithub.com/Isti115) made their first contribution in [charmbracelet/lipgloss#170 - [@​nerg4l](https://togithub.com/nerg4l) made their first contribution in [charmbracelet/lipgloss#148 **Full Changelog**: charmbracelet/lipgloss@v0.6.0...v0.7.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 3am on Monday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/sheldonhull/az-pr). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4yMi4xIiwidXBkYXRlZEluVmVyIjoiMzUuMjIuMSJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>