MCPcopy
hub / github.com/codeaashu/claude-code / print

Method print

src/server/web/public/terminal.js:2792–2820  ·  view source on GitHub ↗
(e3, t3, i3)

Source from the content-addressed store, hash-verified

2790 h2 < this._bufferService.rows && this._onRequestRefreshRows.fire(Math.min(h2, this._bufferService.rows - 1), Math.min(a2, this._bufferService.rows - 1));
2791 }
2792 print(e3, t3, i3) {
2793 let s3, r2;
2794 const n2 = this._charsetService.charset, o2 = this._optionsService.rawOptions.screenReaderMode, a2 = this._bufferService.cols, h2 = this._coreService.decPrivateModes.wraparound, d2 = this._coreService.modes.insertMode, u2 = this._curAttrData;
2795 let f2 = this._activeBuffer.lines.get(this._activeBuffer.ybase + this._activeBuffer.y);
2796 this._dirtyRowTracker.markDirty(this._activeBuffer.y), this._activeBuffer.x && i3 - t3 > 0 && 2 === f2.getWidth(this._activeBuffer.x - 1) && f2.setCellFromCodepoint(this._activeBuffer.x - 1, 0, 1, u2);
2797 let v2 = this._parser.precedingJoinState;
2798 for (let g2 = t3; g2 < i3; ++g2) {
2799 if (s3 = e3[g2], s3 < 127 && n2) {
2800 const e4 = n2[String.fromCharCode(s3)];
2801 e4 && (s3 = e4.charCodeAt(0));
2802 }
2803 const t4 = this._unicodeService.charProperties(s3, v2);
2804 r2 = p.UnicodeService.extractWidth(t4);
2805 const i4 = p.UnicodeService.extractShouldJoin(t4), m2 = i4 ? p.UnicodeService.extractWidth(v2) : 0;
2806 if (v2 = t4, o2 && this._onA11yChar.fire((0, c.stringFromCodePoint)(s3)), this._getCurrentLinkId() && this._oscLinkService.addLineToLink(this._getCurrentLinkId(), this._activeBuffer.ybase + this._activeBuffer.y), this._activeBuffer.x + r2 - m2 > a2) {
2807 if (h2) {
2808 const e4 = f2;
2809 let t5 = this._activeBuffer.x - m2;
2810 for (this._activeBuffer.x = m2, this._activeBuffer.y++, this._activeBuffer.y === this._activeBuffer.scrollBottom + 1 ? (this._activeBuffer.y--, this._bufferService.scroll(this._eraseAttrData(), true)) : (this._activeBuffer.y >= this._bufferService.rows && (this._activeBuffer.y = this._bufferService.rows - 1), this._activeBuffer.lines.get(this._activeBuffer.ybase + this._activeBuffer.y).isWrapped = true), f2 = this._activeBuffer.lines.get(this._activeBuffer.ybase + this._activeBuffer.y), m2 > 0 && f2 instanceof l.BufferLine && f2.copyCellsFrom(e4, t5, 0, m2, false); t5 < a2; ) e4.setCellFromCodepoint(t5++, 0, 1, u2);
2811 } else if (this._activeBuffer.x = a2 - 1, 2 === r2) continue;
2812 }
2813 if (i4 && this._activeBuffer.x) {
2814 const e4 = f2.getWidth(this._activeBuffer.x - 1) ? 1 : 2;
2815 f2.addCodepointToCell(this._activeBuffer.x - e4, s3, r2);
2816 for (let e5 = r2 - m2; --e5 >= 0; ) f2.setCellFromCodepoint(this._activeBuffer.x++, 0, 0, u2);
2817 } else if (d2 && (f2.insertCells(this._activeBuffer.x, r2 - m2, this._activeBuffer.getNullCell(u2)), 2 === f2.getWidth(a2 - 1) && f2.setCellFromCodepoint(a2 - 1, _.NULL_CELL_CODE, _.NULL_CELL_WIDTH, u2)), f2.setCellFromCodepoint(this._activeBuffer.x++, s3, r2, u2), r2 > 0) for (; --r2; ) f2.setCellFromCodepoint(this._activeBuffer.x++, 0, 0, u2);
2818 }
2819 this._parser.precedingJoinState = v2, this._activeBuffer.x < a2 && i3 - t3 > 0 && 0 === f2.getWidth(this._activeBuffer.x) && !f2.hasContent(this._activeBuffer.x) && f2.setCellFromCodepoint(this._activeBuffer.x, 0, 1, u2), this._dirtyRowTracker.markDirty(this._activeBuffer.y);
2820 }
2821 registerCsiHandler(e3, t3) {
2822 return "t" !== e3.final || e3.prefix || e3.intermediates ? this._parser.registerCsiHandler(e3, t3) : this._parser.registerCsiHandler(e3, ((e4) => !w(e4.params[0], this._optionsService.rawOptions.windowOptions) || t3(e4)));
2823 }

Callers 2

constructorMethod · 0.95

Calls 15

_getCurrentLinkIdMethod · 0.95
_eraseAttrDataMethod · 0.95
setCellFromCodepointMethod · 0.80
extractWidthMethod · 0.80
extractShouldJoinMethod · 0.80
fireMethod · 0.80
addLineToLinkMethod · 0.80
copyCellsFromMethod · 0.80
addCodepointToCellMethod · 0.80
insertCellsMethod · 0.80
getNullCellMethod · 0.80
hasContentMethod · 0.80

Tested by

no test coverage detected