Logic move to CellColorResolver

This commit is contained in:
tisilent
2023-08-24 10:57:05 +08:00
parent 25afc19895
commit 2b0106f7e2
14 changed files with 106 additions and 106 deletions
+6 -4
View File
@@ -127,9 +127,7 @@ export class AttributeData implements IAttributeData {
: UnderlineStyle.NONE;
}
public getUnderlineVarinatOffset(): number {
return this.fg & FgFlags.UNDERLINE
? (this.bg & BgFlags.HAS_EXTENDED ? this.extended.underlineVarinatOffset : 0)
: 0;
return this.extended.underlineVarinatOffset;
}
}
@@ -180,7 +178,11 @@ export class ExtendedAttrs implements IExtendedAttrs {
}
public get underlineVarinatOffset(): number {
return (this._ext & ExtFlags.VARIANT_OFFSET) >> 29;
const val = (this._ext & ExtFlags.VARIANT_OFFSET) >> 29;
if (val < 0) {
return val ^ 4294967288;
}
return val;
}
public set underlineVarinatOffset(value: number) {
this._ext &= ~ExtFlags.VARIANT_OFFSET;
+12
View File
@@ -119,6 +119,18 @@ describe('AttributeData', () => {
attrs.fg &= ~FgFlags.UNDERLINE;
assert.equal(attrs.getUnderlineStyle(), UnderlineStyle.NONE);
});
it('getUnderlineVarinatOffset', () => {
const attrs = new AttributeData();
// defaults to no offset
assert.equal(attrs.getUnderlineVarinatOffset(), 0);
// should return 0 - 7
for (let i = 0; i < 8; ++i) {
attrs.extended.underlineVarinatOffset = i;
assert.equal(attrs.getUnderlineVarinatOffset(), i);
}
});
});
});