@import "syntax-variables";
@import "guides";


atom-text-editor {
  color: @syntax-text-color;
  background-color: @kira;

  .wrap-guide {
    background-color: @syntax-wrap-guide-color;
  }

  .indent-guide {
    color: @syntax-indent-guide-color;
  }

  .invisible-character {
    color: @syntax-invisible-character-color;
  }

  .gutter {
    background-color: @kira;
    color: @stella2;

    .line-number {
      &.cursor-line {
        background-color: @kira;
        color: @jill-vibrant;
      }

      &.cursor-line-no-selection {
        color: @stella2;
      }
    }
  }

  .gutter .line-number.folded,
  .gutter .line-number:after,
  .fold-marker:after {
    color: @light-gray;
  }

  .invisible {
    color: @syntax-text-color;
  }

  .cursor {
    width: 30px !important;
    color: @syntax-cursor-color;
    background-position: right;
    background-repeat: no-repeat;
  }

  .selection .region {
    background-color: @syntax-selection-color;
    opacity: 0.8;
  }
}

.bracket-matcher .region {
    border-bottom: 1px solid @syntax-cursor-color;
    box-sizing: border-box;
    background-color: fade(@syntax-text-color, 10%);
    box-shadow: inset 0 -1px 0 @syntax-cursor-color;
}

// Syntax styles

.syntax--comment {
  color: @stella2;
}

.syntax--keyword {
  color: @miki;

  &.syntax--control {
    color: @miki;
  }

  &.syntax--operator {
    color: @syntax-text-color;
  }

  &.syntax--other.syntax--special-method {
    color: @dorothy;
  }

  &.syntax--other.syntax--unit {
    color: @sei;
  }
}

.syntax--storage {
  color: @sei;
  font-style: italic;
}

.syntax--constant {
  color: @stella;

  &.syntax--character.syntax--escape {
    color: @alma;
  }

  &.syntax--numeric {
    color: @alma;
  }

  &.syntax--other.syntax--color {
    color: @sei-off;
  }

  &.syntax--other.syntax--symbol {
    color: @miki-off;
  }
}

.syntax--variable {
  color: @miki;

  &.syntax--interpolation {
    color: darken(@sei, 10%);
  }

  &.syntax--parameter.syntax--function {
    color: @syntax-text-color;
  }
}

.syntax--invalid.syntax--illegal {
  background-color: @stella-vibrant;
  color: @syntax-background-color;
}

.syntax--string {
  color: @alma;


  &.syntax--regexp {
    color: @dorothy;

    .syntax--source.syntax--ruby.syntax--embedded {
      color: @stella;
    }
  }

  &.syntax--other.syntax--link {
    color: @stella;
  }
}

.syntax--punctuation {
  &.syntax--definition {
    &.syntax--comment {
      color: @light-gray;
    }

    &.syntax--string,
    &.syntax--variable,
    &.syntax--parameters,
    &.syntax--array {
      color: @syntax-text-color;
    }

    &.syntax--heading,
    &.syntax--identity {
      color: @sei;
    }

    &.syntax--bold {
      color: @alma;
      font-weight: bold;
    }

    &.syntax--italic {
      color: @miki;
      font-style: italic;
    }
  }

  &.syntax--section.syntax--embedded {
    color: darken(@stella, 10%);
  }

}

.syntax--support {

  &.syntax--class {
    color: @sei;
  }

  &.syntax--function  {
    color: @stella;

    &.syntax--any-method {
      color: @sei;
    }
  }
}

.syntax--entity {
  &.syntax--name.syntax--function {
    color: @dorothy;
  }
  &.syntax--name.syntax--type {
    color: @miki;
    text-decoration: underline;
  }

  &.syntax--other.syntax--inherited-class {
    color: @miki;
  }
  &.syntax--name.syntax--class, &.syntax--name.syntax--type.syntax--class {
    color: @alma;
  }

  &.syntax--name.syntax--section {
    color: @sei;
  }

  &.syntax--name.syntax--tag {
    color: @stella;
    text-decoration: underline;
  }

  &.syntax--other.syntax--attribute-name {
    color: @alma;

    &.syntax--id {
      color: @sei;
    }
  }
}

.syntax--meta {
  &.syntax--class {
    color: @alma;
  }

  &.syntax--link {
    color: @dorothy;
  }

  &.syntax--require {
    color: @sei;
  }

  &.syntax--selector {
    color: @dorothy;
  }

  &.syntax--separator {
    background-color: @gray;
    color: @syntax-text-color;
  }
}

.syntax--none {
  color: @syntax-text-color;
}

.syntax--markup {
  &.syntax--bold {
    color: @dorothy;
    font-weight: bold;
  }

  &.syntax--changed {
    color: @miki;
  }

  &.syntax--deleted {
    color: @stella;
  }

  &.syntax--italic {
    color: @dorothy-vibrant;
    font-style: italic;
  }

  &.syntax--heading .syntax--punctuation.syntax--definition.syntax--heading {
    color: @sei-off;
  }

  &.syntax--inserted {
    color: @miki;
  }

  &.syntax--list {
    color: @stella;
  }

  &.syntax--quote {
    color: @alma;
  }

  &.syntax--raw.syntax--inline {
    color: @miki;
  }
}

.syntax--source.syntax--gfm .syntax--markup {
  -webkit-font-smoothing: auto;
  &.syntax--heading {
    color: @miki;
  }
}


// Mini editor

atom-text-editor[mini] .scroll-view {
  padding-left: 1px;
}
.editor {
    background: url("atom://va11halla-syntax/styles/JillTransparent.png");
    background-position: right;
    background-repeat: no-repeat;
    background-size: auto 100%;
    
}
