MCPcopy
hub / github.com/liamg/darktile / handleScreenState

Method handleScreenState

internal/app/darktile/termutil/ansi.go:66–92  ·  view source on GitHub ↗
(readChan chan MeasuredRune)

Source from the content-addressed store, hash-verified

64}
65
66func (t *Terminal) handleScreenState(readChan chan MeasuredRune) bool {
67 b := <-readChan
68 switch b.Rune {
69 case '8': // DECALN -- Screen Alignment Pattern
70
71 // hide cursor?
72 buffer := t.GetActiveBuffer()
73 buffer.resetVerticalMargins(uint(buffer.viewHeight))
74 buffer.SetScrollOffset(0)
75
76 // Fill the whole screen with E's
77 count := buffer.ViewHeight() * buffer.ViewWidth()
78 for count > 0 {
79 buffer.write(MeasuredRune{Rune: 'E', Width: 1})
80 count--
81 if count > 0 && !buffer.modes.AutoWrap && count%buffer.ViewWidth() == 0 {
82 buffer.index()
83 buffer.carriageReturn()
84 }
85 }
86 // restore cursor
87 buffer.setPosition(0, 0)
88 default:
89 return false
90 }
91 return true
92}
93
94func (t *Terminal) handlePrivacyMessage(readChan chan MeasuredRune) bool {
95 isEscaped := false

Callers 1

handleANSIMethod · 0.95

Calls 9

GetActiveBufferMethod · 0.95
resetVerticalMarginsMethod · 0.80
SetScrollOffsetMethod · 0.80
ViewHeightMethod · 0.80
ViewWidthMethod · 0.80
writeMethod · 0.80
indexMethod · 0.80
carriageReturnMethod · 0.80
setPositionMethod · 0.80

Tested by

no test coverage detected