-- Copyright 2006-2012 Mitchell mitchell.att.foicica.com. See LICENSE.
-- Dark lexer theme for Scintillua.
-- Contributions by Ana Balan.

local l, color, style = lexer, lexer.color, lexer.style

l.colors = {
  -- Greyscale colors.
--dark_black   = color('00', '00', '00'),
  black        = color('1A', '1A', '1A'),
  light_black  = color('33', '33', '33'),
  --             color('4D', '4D', '4D'),
  dark_grey    = color('66', '66', '66'),
--grey         = color('80', '80', '80'),
  light_grey   = color('99', '99', '99'),
  --             color('B3', 'B3', 'B3'),
  dark_white   = color('CC', 'CC', 'CC'),
--white        = color('E6', 'E6', 'E6'),
--light_white  = color('FF', 'FF', 'FF'),

  -- Dark colors.
--dark_red      = color('66', '1A', '1A'),
--dark_yellow   = color('66', '66', '1A'),
--dark_green    = color('1A', '66', '1A'),
--dark_teal     = color('1A', '66', '66'),
--dark_purple   = color('66', '1A', '66'),
--dark_orange   = color('B3', '66', '1A'),
--dark_pink     = color('B3', '66', '66'),
--dark_lavender = color('66', '66', 'B3'),
--dark_blue     = color('1A', '66', 'B3'),

  -- Normal colors.
  red      = color('99', '4D', '4D'),
  yellow   = color('99', '99', '4D'),
  green    = color('4D', '99', '4D'),
  teal     = color('4D', '99', '99'),
  purple   = color('99', '4D', '99'),
  orange   = color('E6', '99', '4D'),
--pink     = color('E6', '99', '99'),
  lavender = color('99', '99', 'E6'),
  blue     = color('4D', '99', 'E6'),

  -- Light colors.
  light_red      = color('CC', '80', '80'),
  light_yellow   = color('CC', 'CC', '80'),
  light_green    = color('80', 'CC', '80'),
--light_teal     = color('80', 'CC', 'CC'),
--light_purple   = color('CC', '80', 'CC'),
--light_orange   = color('FF', 'CC', '80'),
--light_pink     = color('FF', 'CC', 'CC'),
--light_lavender = color('CC', 'CC', 'FF'),
  light_blue     = color('80', 'CC', 'FF'),
}

l.style_nothing    = style {                                    }
l.style_class      = style { fore = l.colors.light_yellow       }
l.style_comment    = style { fore = l.colors.dark_grey          }
l.style_constant   = style { fore = l.colors.red                }
l.style_definition = style { fore = l.colors.light_yellow       }
l.style_error      = style { fore = l.colors.red, italic = true }
l.style_function   = style { fore = l.colors.blue               }
l.style_keyword    = style { fore = l.colors.dark_white         }
l.style_label      = style { fore = l.colors.orange             }
l.style_number     = style { fore = l.colors.teal               }
l.style_operator   = style { fore = l.colors.yellow             }
l.style_regex      = style { fore = l.colors.light_green        }
l.style_string     = style { fore = l.colors.green              }
l.style_preproc    = style { fore = l.colors.purple             }
l.style_tag        = style { fore = l.colors.dark_white         }
l.style_type       = style { fore = l.colors.lavender           }
l.style_variable   = style { fore = l.colors.light_blue         }
l.style_whitespace = style {                                    }
l.style_embedded   = l.style_tag..{ back = l.colors.light_black }
l.style_identifier = l.style_nothing

-- Default styles.
local font_face = '!Bitstream Vera Sans Mono'
local font_size = 16
if WIN32 then
  font_face = not GTK and 'Courier New' or '!Courier New'
elseif OSX then
  font_face = '!Monaco'
  font_size = 12
end
l.style_default = style {
  font = font_face,
  size = font_size,
  fore = l.colors.light_grey,
  back = l.colors.black
}
l.style_line_number = style { fore = l.colors.dark_grey, back = l.colors.black }
l.style_bracelight  = style { fore = l.colors.light_blue }
l.style_bracebad    = style { fore = l.colors.light_red }
l.style_controlchar = l.style_nothing
l.style_indentguide = style { fore = l.colors.light_black, back = l.colors.light_black }
l.style_calltip     = style { fore = l.colors.light_grey, back = l.colors.light_black }
