MCPcopy Create free account
hub / github.com/codeaashu/claude-code / _extractColor

Method _extractColor

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

Source from the content-addressed store, hash-verified

3230 return 2 === t3 ? (e3 |= 50331648, e3 &= -16777216, e3 |= f.AttributeData.fromColorRGB([i3, s3, r2])) : 5 === t3 && (e3 &= -50331904, e3 |= 33554432 | 255 & i3), e3;
3231 }
3232 _extractColor(e3, t3, i3) {
3233 const s3 = [0, 0, -1, 0, 0, 0];
3234 let r2 = 0, n2 = 0;
3235 do {
3236 if (s3[n2 + r2] = e3.params[t3 + n2], e3.hasSubParams(t3 + n2)) {
3237 const i4 = e3.getSubParams(t3 + n2);
3238 let o2 = 0;
3239 do {
3240 5 === s3[1] && (r2 = 1), s3[n2 + o2 + 1 + r2] = i4[o2];
3241 } while (++o2 < i4.length && o2 + n2 + 1 + r2 < s3.length);
3242 break;
3243 }
3244 if (5 === s3[1] && n2 + r2 >= 2 || 2 === s3[1] && n2 + r2 >= 5) break;
3245 s3[1] && (r2 = 1);
3246 } while (++n2 + t3 < e3.length && n2 + r2 < s3.length);
3247 for (let e4 = 2; e4 < s3.length; ++e4) -1 === s3[e4] && (s3[e4] = 0);
3248 switch (s3[0]) {
3249 case 38:
3250 i3.fg = this._updateAttrColor(i3.fg, s3[1], s3[3], s3[4], s3[5]);
3251 break;
3252 case 48:
3253 i3.bg = this._updateAttrColor(i3.bg, s3[1], s3[3], s3[4], s3[5]);
3254 break;
3255 case 58:
3256 i3.extended = i3.extended.clone(), i3.extended.underlineColor = this._updateAttrColor(i3.extended.underlineColor, s3[1], s3[3], s3[4], s3[5]);
3257 }
3258 return n2;
3259 }
3260 _processUnderline(e3, t3) {
3261 t3.extended = t3.extended.clone(), (!~e3 || e3 > 5) && (e3 = 1), t3.extended.underlineStyle = e3, t3.fg |= 268435456, 0 === e3 && (t3.fg &= -268435457), t3.updateExtended();
3262 }

Callers 1

charAttributesMethod · 0.95

Calls 4

_updateAttrColorMethod · 0.95
hasSubParamsMethod · 0.80
getSubParamsMethod · 0.80
cloneMethod · 0.45

Tested by

no test coverage detected