/*

Original style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org>
Adapted from GitHub theme

*/

@import (reference) "highlight-refs.less";

@highlight-base: #000;

.highlight-base{
  color: @highlight-base;
}

.highlight-variable{
  .highlight-base();
}

.highlight-variable-2{
  color: lighten(@highlight-base, 10%);
}

.highlight-variable-3{
  color: lighten(@highlight-base, 20%);
}

.highlight-string{
  color: #BA2121;
}

.highlight-comment{
  color: #408080;
  font-style: italic;
}

.highlight-number{
  color: #080;
}

.highlight-atom{
  color: #88F;
}

.highlight-keyword{
  color: #008000;
  font-weight: bold;
}

.highlight-builtin{
  color: #008000;
}

.highlight-error{
  color: #f00;
}

.highlight-operator{
  color: #AA22FF;
  font-weight: bold;
}

.highlight-meta{
  color: #AA22FF;
}

/* previously not defined, copying from default codemirror */
.highlight-def{ .cm-s-default.cm-def() }
.highlight-punctuation{ .cm-s-default.cm-punctuation() }
.highlight-property{ .cm-s-default.cm-property() }
.highlight-string-2{ .cm-s-default.cm-string-2() }
.highlight-qualifier{ .cm-s-default.cm-qualifier() }
.highlight-bracket{ .cm-s-default.cm-bracket() }
.highlight-tag{ .cm-s-default.cm-tag() }
.highlight-attribute{ .cm-s-default.cm-attribute() }
.highlight-header{ .cm-s-default.cm-header() }
.highlight-quote{ .cm-s-default.cm-quote() }
.highlight-link{ .cm-s-default.cm-link() }


/* apply the same style to codemirror */
.cm-s-ipython span {
  &.cm-keyword      { .highlight-keyword() }
  &.cm-atom         { .highlight-atom() }
  &.cm-number       { .highlight-number() }
  &.cm-def          { .highlight-def() }
  &.cm-variable     { .highlight-variable() }
  &.cm-punctuation  { .highlight-punctuation() }
  &.cm-property     { .highlight-property() }
  &.cm-operator     { .highlight-operator() }
  &.cm-variable-2   { .highlight-variable-2() }
  &.cm-variable-3   { .highlight-variable-3() }
  &.cm-comment      { .highlight-comment() }
  &.cm-string       { .highlight-string() }
  &.cm-string-2     { .highlight-string-2() }
  &.cm-meta         { .highlight-meta() }
  &.cm-qualifier    { .highlight-qualifier() }
  &.cm-builtin      { .highlight-builtin() }
  &.cm-bracket      { .highlight-bracket() }
  &.cm-tag          { .highlight-tag() }
  &.cm-attribute    { .highlight-attribute() }
  &.cm-header       { .highlight-header() }
  &.cm-quote        { .highlight-quote() }
  &.cm-link         { .highlight-link() }
  &.cm-error        { .highlight-error() }

  &.cm-tab {
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=);
    background-position: right;
    background-repeat: no-repeat;
  }
}
