mirror of
https://github.com/junegunn/fzf.git
synced 2025-11-18 16:45:38 -05:00
Sixel and Kitty image support on Windows binary (#2544)
This commit is contained in:
@@ -33,7 +33,8 @@ func (r *FullscreenRenderer) Init() {}
|
||||
func (r *FullscreenRenderer) Resize(maxHeightFunc func(int) int) {}
|
||||
func (r *FullscreenRenderer) Pause(bool) {}
|
||||
func (r *FullscreenRenderer) Resume(bool, bool) {}
|
||||
func (r *FullscreenRenderer) PassThrough(string) {}
|
||||
func (r *FullscreenRenderer) PassThrough(int, int, string) {}
|
||||
func (r *FullscreenRenderer) Sync(bool) {}
|
||||
func (r *FullscreenRenderer) Clear() {}
|
||||
func (r *FullscreenRenderer) NeedScrollbarRedraw() bool { return false }
|
||||
func (r *FullscreenRenderer) Refresh() {}
|
||||
|
||||
@@ -31,8 +31,12 @@ const consoleDevice string = "/dev/tty"
|
||||
var offsetRegexp *regexp.Regexp = regexp.MustCompile("(.*)\x1b\\[([0-9]+);([0-9]+)R")
|
||||
var offsetRegexpBegin *regexp.Regexp = regexp.MustCompile("^\x1b\\[[0-9]+;[0-9]+R")
|
||||
|
||||
func (r *LightRenderer) PassThrough(str string) {
|
||||
r.queued.WriteString("\x1b7" + str + "\x1b8")
|
||||
func (r *LightRenderer) PassThrough(y int, x int, data string) {
|
||||
r.queued.WriteString("\x1b7" + data + "\x1b8")
|
||||
}
|
||||
|
||||
func (r *LightRenderer) Sync(bool) {
|
||||
// No-op
|
||||
}
|
||||
|
||||
func (r *LightRenderer) stderr(str string) {
|
||||
|
||||
@@ -98,9 +98,22 @@ const (
|
||||
AttrClear = Attr(1 << 8)
|
||||
)
|
||||
|
||||
func (r *FullscreenRenderer) PassThrough(str string) {
|
||||
// No-op
|
||||
// https://github.com/gdamore/tcell/issues/363#issuecomment-680665073
|
||||
func (r *FullscreenRenderer) PassThrough(y int, x int, data string) {
|
||||
tty, _ := _screen.Tty()
|
||||
ti, err := tcell.LookupTerminfo(os.Getenv("TERM"))
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
ti.TPuts(tty, ti.TGoto(x, y))
|
||||
ti.TPuts(tty, data)
|
||||
}
|
||||
|
||||
func (r *FullscreenRenderer) Sync(hard bool) {
|
||||
if hard {
|
||||
_screen.Sync()
|
||||
} else {
|
||||
_screen.Show()
|
||||
}
|
||||
}
|
||||
|
||||
func (r *FullscreenRenderer) Resize(maxHeightFunc func(int) int) {}
|
||||
@@ -207,10 +220,10 @@ func (r *FullscreenRenderer) Refresh() {
|
||||
// noop
|
||||
}
|
||||
|
||||
// TODO: Pixel width and height not implemented
|
||||
func (r *FullscreenRenderer) Size() TermSize {
|
||||
cols, lines := _screen.Size()
|
||||
return TermSize{lines, cols, 0, 0}
|
||||
tty, _ := _screen.Tty()
|
||||
ws, _ := tty.WindowSize()
|
||||
return TermSize{ws.Height, ws.Width, ws.PixelWidth, ws.PixelHeight}
|
||||
}
|
||||
|
||||
func (r *FullscreenRenderer) GetChar() Event {
|
||||
|
||||
@@ -489,7 +489,8 @@ type Renderer interface {
|
||||
RefreshWindows(windows []Window)
|
||||
Refresh()
|
||||
Close()
|
||||
PassThrough(string)
|
||||
PassThrough(y int, x int, data string)
|
||||
Sync(bool)
|
||||
NeedScrollbarRedraw() bool
|
||||
|
||||
GetChar() Event
|
||||
|
||||
Reference in New Issue
Block a user