From: Jason Woofenden Date: Wed, 30 Jan 2013 21:47:34 +0000 (-0500) Subject: add next 8 colors (now 16) X-Git-Tag: v1.0~38 X-Git-Url: https://jasonwoof.com/gitweb/?p=watch-my-terminal.git;a=commitdiff_plain;h=862f2bc18b59cf4481e6b6609bea537b2a349f4b add next 8 colors (now 16) --- diff --git a/terminal.coffee b/terminal.coffee index c7dbd7f..7f80a76 100644 --- a/terminal.coffee +++ b/terminal.coffee @@ -110,8 +110,12 @@ class Terminal while fixed[0] is '0' fixed = fixed.substr 1 switch fixed - when '' + + # remove all style/color + when '' # leading zeros are removed (even if that's all of them) @set_attribute_bits 0xffffff, 0 + + # style attributes when '1' # bold @set_attribute_bits 0x10000, 0x10000 when '4' # underline @@ -121,6 +125,7 @@ class Terminal when '8' # invisible @set_attribute_bits 0x80000, 0x80000 + # disable style attributes when '22' # not bold... according to a page @set_attribute_bits 0x10000, 0 when '21' # ... though this would make more sense for "not bold" @@ -132,6 +137,7 @@ class Terminal when '28' # not invisible @set_attribute_bits 0x80000, 0 + # 8 fg colors when '30' # fg black @set_attribute_bits 0xff, 0x00 when '31' # fg red @@ -149,6 +155,7 @@ class Terminal when '37', '39' # fg white (39 is default) @set_attribute_bits 0xff, 0x07 + # 8 bg colors when '40' # bg black @set_attribute_bits 0xff00, 0x0000 when '41' # bg red @@ -168,6 +175,43 @@ class Terminal when '49' # bg default @set_attribute_bits 0xff00, 0x0000 + # bright fg colors + when '90' # fg bright black + @set_attribute_bits 0xff, 0x08 + when '91' # fg bright red + @set_attribute_bits 0xff, 0x09 + when '92' # fg bright green + @set_attribute_bits 0xff, 0x0a + when '93' # fg bright yellow + @set_attribute_bits 0xff, 0x0b + when '94' # fg bright blue + @set_attribute_bits 0xff, 0x0c + when '95' # fg bright magenta + @set_attribute_bits 0xff, 0x0d + when '96' # fg bright cyan + @set_attribute_bits 0xff, 0x0e + when '97' # fg bright white + @set_attribute_bits 0xff, 0x0f + + # bright bg colors + when '100' # bg bright black + @set_attribute_bits 0xff, 0x08 + when '101' # bg bright red + @set_attribute_bits 0xff, 0x09 + when '102' # bg bright green + @set_attribute_bits 0xff, 0x0a + when '103' # bg bright yellow + @set_attribute_bits 0xff, 0x0b + when '104' # bg bright blue + @set_attribute_bits 0xff, 0x0c + when '105' # bg bright magenta + @set_attribute_bits 0xff, 0x0d + when '106' # bg bright cyan + @set_attribute_bits 0xff, 0x0e + when '107' # bg bright white + @set_attribute_bits 0xff, 0x0f + + else # if we don't recognize the style, go back to default @set_attribute_bits 0xffffff, 0