mirror of
https://github.com/nuintun/command-manager.git
synced 2025-06-07 19:44:35 +08:00
update files
This commit is contained in:
parent
ffff90892f
commit
f2197bf76b
@ -95,7 +95,7 @@
|
|||||||
// ].forEach(function (line){ xterm.write(line + '\r\n'); });
|
// ].forEach(function (line){ xterm.write(line + '\r\n'); });
|
||||||
|
|
||||||
xterm.write('\033[1;4;7;41;36m红底绿字\033[0m');
|
xterm.write('\033[1;4;7;41;36m红底绿字\033[0m');
|
||||||
console.log(xterm.toString('html'));
|
xterm.toString('html');
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
@ -1037,8 +1037,7 @@ AnsiTerminal.prototype.toString = function (type){
|
|||||||
cell = this.screen.buffer[i].cells[j];
|
cell = this.screen.buffer[i].cells[j];
|
||||||
|
|
||||||
if (cell.c) {
|
if (cell.c) {
|
||||||
console.log(cell.c, ': ', cell.getAttributes());
|
console.log(cell.c, ': ', styles(cell), getStyles(cell.attr, cell.gb, cell.width === 2));
|
||||||
console.log(cell.c, ': ', getStyles(cell.attr, cell.gb, cell.width === 2));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2604,73 +2603,6 @@ var MAP = (function (){
|
|||||||
return m;
|
return m;
|
||||||
}());
|
}());
|
||||||
|
|
||||||
TChar.prototype.getAttributes = function (){
|
|
||||||
var gb = this.gb;
|
|
||||||
var attr = this.attr;
|
|
||||||
var colorbits = attr >>> 24;
|
|
||||||
var r = attr & 65535;
|
|
||||||
var g = gb >>> 16;
|
|
||||||
var b = gb & 65535;
|
|
||||||
var bits = attr >>> 16 & 255;
|
|
||||||
var styles = {
|
|
||||||
bold: !!(bits & 1),
|
|
||||||
italic: !!(bits & 2),
|
|
||||||
underline: !!(bits & 4),
|
|
||||||
blink: !!(bits & 8),
|
|
||||||
inverse: !!(bits & 16),
|
|
||||||
conceal: !!(bits & 32),
|
|
||||||
// TODO cursor
|
|
||||||
// cursor: !!(bits & 64),
|
|
||||||
foreground: {
|
|
||||||
set: !!(colorbits & 4),
|
|
||||||
RGB: !!(colorbits & 8)
|
|
||||||
},
|
|
||||||
background: {
|
|
||||||
set: !!(colorbits & 1),
|
|
||||||
RGB: !!(colorbits & 2)
|
|
||||||
}
|
|
||||||
};
|
|
||||||
var foreground = styles.foreground;
|
|
||||||
var background = styles.background;
|
|
||||||
|
|
||||||
if (foreground.set && !foreground.RGB) {
|
|
||||||
if (styles.inverse) {
|
|
||||||
if (styles.bold) {
|
|
||||||
console.log('bg: ', (attr >>> 8 & 255) | 8);
|
|
||||||
} else {
|
|
||||||
console.log('fg: ', attr >>> 8 & 255);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (background.set && !background.RGB) {
|
|
||||||
if (styles.inverse) {
|
|
||||||
console.log('fg: ', this.attr & 255);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
|
||||||
bold: !!(bits & 1),
|
|
||||||
italic: !!(bits & 2),
|
|
||||||
underline: !!(bits & 4),
|
|
||||||
blink: !!(bits & 8),
|
|
||||||
inverse: !!(bits & 16),
|
|
||||||
conceal: !!(bits & 32),
|
|
||||||
// TODO cursor
|
|
||||||
// cursor: !!(bits & 64),
|
|
||||||
foreground: {
|
|
||||||
set: !!(colorbits & 4),
|
|
||||||
RGB: !!(colorbits & 8),
|
|
||||||
color: [r >>> 8, g >>> 8, b >>> 8]
|
|
||||||
},
|
|
||||||
background: {
|
|
||||||
set: !!(colorbits & 1),
|
|
||||||
RGB: !!(colorbits & 2),
|
|
||||||
color: [r & 255, g & 255, b & 255]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
// FIXME: cleanup this ugly mess
|
// FIXME: cleanup this ugly mess
|
||||||
function getStyles(num, gb, fullwidth){
|
function getStyles(num, gb, fullwidth){
|
||||||
var fg_rgb = num & 67108864 && num & 134217728;
|
var fg_rgb = num & 67108864 && num & 134217728;
|
||||||
@ -2717,3 +2649,36 @@ function getStyles(num, gb, fullwidth){
|
|||||||
|
|
||||||
return styles;
|
return styles;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function styles(node){
|
||||||
|
var styles = {};
|
||||||
|
var attr = node.attr;
|
||||||
|
var attributes = node.getAttributes();
|
||||||
|
var foreground = attributes.foreground;
|
||||||
|
var background = attributes.background;
|
||||||
|
|
||||||
|
[
|
||||||
|
'bold', 'italic', 'underline',
|
||||||
|
'blink', 'inverse', 'conceal'
|
||||||
|
].forEach(function (key){
|
||||||
|
styles[key] = attributes[key];
|
||||||
|
});
|
||||||
|
|
||||||
|
if (foreground.set && !foreground.RGB) {
|
||||||
|
if (attributes.inverse) {
|
||||||
|
if (attributes.bold) {
|
||||||
|
styles.background = (attr >>> 8 & 255) | 8;
|
||||||
|
} else {
|
||||||
|
styles.foreground = attr >>> 8 & 255;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (background.set && !background.RGB) {
|
||||||
|
if (attributes.inverse) {
|
||||||
|
styles.foreground = attr & 255;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return styles;
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user