Skip to content

Commit

Permalink
refactor: rename BubbleTeaHandler to Handler (#26)
Browse files Browse the repository at this point in the history
* refactor: rename BubbleTeaHandler to Handler

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* fix: nolint

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
  • Loading branch information
caarlos0 committed Jan 17, 2022
1 parent 9c55a96 commit 1423c2d
Showing 1 changed file with 11 additions and 4 deletions.
15 changes: 11 additions & 4 deletions bubbletea/tea.go
Expand Up @@ -13,21 +13,28 @@ import (
// BubbleTeaHander is the function Bubble Tea apps implement to hook into the
// SSH Middleware. This will create a new tea.Program for every connection and
// start it with the tea.ProgramOptions returned.
type BubbleTeaHandler func(ssh.Session) (tea.Model, []tea.ProgramOption)
//
// Deprecated: use Handler instead.
type BubbleTeaHandler func(ssh.Session) (tea.Model, []tea.ProgramOption) // nolint: revive

// Middleware takes a BubbleTeaHandler and hooks the input and output for the
// Hander is the function Bubble Tea apps implement to hook into the
// SSH Middleware. This will create a new tea.Program for every connection and
// start it with the tea.ProgramOptions returned.
type Handler = BubbleTeaHandler

// Middleware takes a Handler and hooks the input and output for the
// ssh.Session into the tea.Program. It also captures window resize events and
// sends them to the tea.Program as tea.WindowSizeMsgs. By default a 256 color
// profile will be used when rendering with Lip Gloss.
func Middleware(bth BubbleTeaHandler) wish.Middleware {
func Middleware(bth Handler) wish.Middleware {
return MiddlewareWithColorProfile(bth, termenv.ANSI256)
}

// MiddlewareWithColorProfile allows you to specify the number of colors
// returned by the server when using Lip Gloss. The number of colors supported
// by an SSH client's terminal cannot be detected by the server but this will
// allow for manually setting the color profile on all SSH connections.
func MiddlewareWithColorProfile(bth BubbleTeaHandler, cp termenv.Profile) wish.Middleware {
func MiddlewareWithColorProfile(bth Handler, cp termenv.Profile) wish.Middleware {
return func(sh ssh.Handler) ssh.Handler {
lipgloss.SetColorProfile(cp)
return func(s ssh.Session) {
Expand Down

0 comments on commit 1423c2d

Please sign in to comment.