]
$body = $('body')
+ $body.css backgroundColor: "##{palette[0]}", color: "##{palette[7]}"
socket = io.connect('http://localhost')
color_to_css = (i) ->
- index = 0xff & i
+ # handle inverse bit
+ if i & 0x080000
+ index = ((i >> 8) & 0xff)
+ else
+ index = (i & 0xff)
+
# lighten the basic 8 colors when they're bold
if ((i & 0x10000) and index < 8)
index += 8
return 'color: #' + palette[index] + '; '
bg_color_to_css = (i) ->
- return 'background-' + color_to_css((i & 0x10000) | ((i & 0xff00) >> 8))
+ # xor the inverse bit, to get color_to_css to use the bg color
+ return 'background-' + color_to_css(i ^ 0x080000)
stylize = (txt, style) ->
if (txt.length == 0 or style == 0x000007)
return txt
css = ''
- css += 'font-weight: bold; ' if style & 0x10000
- css += 'text-decoration: underline; ' if style & 0x20000
- css += 'font-style: italic; ' if style & 0x40000 # blink
- css += 'text-decoration: line-through; ' if style & 0x80000 # invisible
- css += color_to_css(style) if style & 0x000ff
- css += bg_color_to_css(style) if style & 0x0ff00
+ css += 'font-weight: bold; ' if style & 0x010000
+ css += 'text-decoration: underline; ' if style & 0x020000
+ css += 'font-style: italic; ' if style & 0x200000 # italic
+ css += 'opacity: 0; ' if style & 0x100000 # invisible
+ css += color_to_css(style) if ((style & 0x0800ff) isnt 0x07)
+ css += bg_color_to_css(style) if (style & 0x08ff00)
return $('<span style="'+css+'"></span>').text(txt)
redraw_wait = false