// Language syntax highlighting

.@{s}comment,
.@{s}brace,
.@{s}punctuation
{ .fg-1(); }

.@{s}comment.@{s}documentation
{ .uno-2(); }

// Default, Will be used by all languages when no other scope is defined
.@{s}source
{ .uno-1(); }


// Language entities -----------------------------------

.@{s}function   { .uno-1(); }
.@{s}method     { .uno-1(); }
.@{s}tag        { .uno-1(); }
.@{s}import     { .uno-1(); }
.@{s}snippet    { .uno-1(); }
.@{s}attribute  { .uno-2(); }

.@{s}constant   { .duo-1(); }
.@{s}property   { .duo-1(); }
.@{s}keyword    { .duo-1(); }

.@{s}class      { .tri-1(); }
.@{s}variable   { .tri-1(); }
.@{s}value      { .tri-1(); }


// Special case -----------------------------------

.@{s}comment {
  font-style: italic;
  & > * {
    color: inherit;
  }
}

.@{s}bold {
  font-weight: bold;
}

.@{s}italic {
  font-style: italic;
}

// Language syntax highlighting

.@{s}comment,
.@{s}brace,
.@{s}punctuation
{ .fg-1(); }

.@{s}comment.@{s}documentation
{ .uno-2(); }

// Default, Will be used by all languages when no other scope is defined
.@{s}source
{ .uno-1(); }


// Language entities -----------------------------------

.@{s}function       { .uno-1(); }
.@{s}method         { .uno-1(); }
.@{s}tag            { .uno-1(); }
.@{s}import         { .uno-1(); }
.@{s}snippet        { .uno-1(); }
.@{s}attribute      { .uno-2(); }
.@{s}attribute-name { .uno-2(); }

.@{s}constant   { .duo-1(); }
.@{s}property   { .duo-1(); }
.@{s}keyword    { .duo-1(); }

.@{s}class      { .tri-1(); }
.@{s}variable   { .tri-1(); }
.@{s}value      { .tri-1(); }
.@{s}string     { .tri-1(); }


// Special case -----------------------------------

.@{s}comment {
  font-style: italic;
  & > * {
    color: inherit;
  }
}

.@{s}bold {
  font-weight: bold;
}

.@{s}italic {
  font-style: italic;
}

Add `string` and `attribute-name` scopes
Add `string` and `attribute-name` scopes
