(e3, t3, i3, s3, r2, a2, h2, l2, _2, f2, p)
| 1386 | this._selectionStart = e3, this._selectionEnd = t3, this._columnSelectMode = i3; |
| 1387 | } |
| 1388 | createRow(e3, t3, i3, s3, r2, a2, h2, l2, _2, f2, p) { |
| 1389 | const g = [], m = this._characterJoinerService.getJoinedCharacters(t3), S = this._themeService.colors; |
| 1390 | let C, b = e3.getNoBgTrimmedLength(); |
| 1391 | i3 && b < a2 + 1 && (b = a2 + 1); |
| 1392 | let w = 0, y = "", E = 0, k = 0, L = 0, D = false, R = 0, x = false, A = 0; |
| 1393 | const B = [], T = -1 !== f2 && -1 !== p; |
| 1394 | for (let M = 0; M < b; M++) { |
| 1395 | e3.loadCell(M, this._workCell); |
| 1396 | let b2 = this._workCell.getWidth(); |
| 1397 | if (0 === b2) continue; |
| 1398 | let O = false, P = M, I = this._workCell; |
| 1399 | if (m.length > 0 && M === m[0][0]) { |
| 1400 | O = true; |
| 1401 | const t4 = m.shift(); |
| 1402 | I = new d.JoinedCellData(this._workCell, e3.translateToString(true, t4[0], t4[1]), t4[1] - t4[0]), P = t4[1] - 1, b2 = I.getWidth(); |
| 1403 | } |
| 1404 | const H = this._isCellInSelection(M, t3), F = i3 && M === a2, W = T && M >= f2 && M <= p; |
| 1405 | let U = false; |
| 1406 | this._decorationService.forEachDecorationAtCell(M, t3, void 0, ((e4) => { |
| 1407 | U = true; |
| 1408 | })); |
| 1409 | let N = I.getChars() || o.WHITESPACE_CELL_CHAR; |
| 1410 | if (" " === N && (I.isUnderline() || I.isOverline()) && (N = "\xA0"), A = b2 * l2 - _2.get(N, I.isBold(), I.isItalic()), C) { |
| 1411 | if (w && (H && x || !H && !x && I.bg === E) && (H && x && S.selectionForeground || I.fg === k) && I.extended.ext === L && W === D && A === R && !F && !O && !U) { |
| 1412 | I.isInvisible() ? y += o.WHITESPACE_CELL_CHAR : y += N, w++; |
| 1413 | continue; |
| 1414 | } |
| 1415 | w && (C.textContent = y), C = this._document.createElement("span"), w = 0, y = ""; |
| 1416 | } else C = this._document.createElement("span"); |
| 1417 | if (E = I.bg, k = I.fg, L = I.extended.ext, D = W, R = A, x = H, O && a2 >= M && a2 <= P && (a2 = M), !this._coreService.isCursorHidden && F && this._coreService.isCursorInitialized) { |
| 1418 | if (B.push("xterm-cursor"), this._coreBrowserService.isFocused) h2 && B.push("xterm-cursor-blink"), B.push("bar" === s3 ? "xterm-cursor-bar" : "underline" === s3 ? "xterm-cursor-underline" : "xterm-cursor-block"); |
| 1419 | else if (r2) switch (r2) { |
| 1420 | case "outline": |
| 1421 | B.push("xterm-cursor-outline"); |
| 1422 | break; |
| 1423 | case "block": |
| 1424 | B.push("xterm-cursor-block"); |
| 1425 | break; |
| 1426 | case "bar": |
| 1427 | B.push("xterm-cursor-bar"); |
| 1428 | break; |
| 1429 | case "underline": |
| 1430 | B.push("xterm-cursor-underline"); |
| 1431 | } |
| 1432 | } |
| 1433 | if (I.isBold() && B.push("xterm-bold"), I.isItalic() && B.push("xterm-italic"), I.isDim() && B.push("xterm-dim"), y = I.isInvisible() ? o.WHITESPACE_CELL_CHAR : I.getChars() || o.WHITESPACE_CELL_CHAR, I.isUnderline() && (B.push(`xterm-underline-${I.extended.underlineStyle}`), " " === y && (y = "\xA0"), !I.isUnderlineColorDefault())) if (I.isUnderlineColorRGB()) C.style.textDecorationColor = `rgb(${u.AttributeData.toColorRGB(I.getUnderlineColor()).join(",")})`; |
| 1434 | else { |
| 1435 | let e4 = I.getUnderlineColor(); |
| 1436 | this._optionsService.rawOptions.drawBoldTextInBrightColors && I.isBold() && e4 < 8 && (e4 += 8), C.style.textDecorationColor = S.ansi[e4].css; |
| 1437 | } |
| 1438 | I.isOverline() && (B.push("xterm-overline"), " " === y && (y = "\xA0")), I.isStrikethrough() && B.push("xterm-strikethrough"), W && (C.style.textDecoration = "underline"); |
| 1439 | let $ = I.getFgColor(), j = I.getFgColorMode(), z = I.getBgColor(), K = I.getBgColorMode(); |
| 1440 | const q = !!I.isInverse(); |
| 1441 | if (q) { |
| 1442 | const e4 = $; |
| 1443 | $ = z, z = e4; |
| 1444 | const t4 = j; |
| 1445 | j = K, K = t4; |
no test coverage detected