--[[****************************************************************************
*                                                                              *
*                    Highlight Theme Definition Boilerplate                    *
*                                                                              *
*                v1.0.0 (2019/03/02) | Highlight v4.0 | Lua 5.3               *
*                                                                              *
*                              by Tristano Ajmone                              *
*                                                                              *
********************************************************************************
Written by Tristano Ajmone:
    <tajmone@gmail.com>
    https://github.com/tajmone
    https://gitlab.com/tajmone
Released into the public domain according to the Unlicense terms:
    http://unlicense.org/
------------------------------------------------------------------------------]]

Description   = "Theme Boilerplate"

Categories    = { "dark", "whatever" } -- "dark" or "light", "vim", "base16".

Canvas        = { Colour = "#000000" }
Default       = { Colour = "#FFFFFF" }

Number        = { Colour = "#FFFFFF", Italic = false, Bold = false  }
Escape        = { Colour = "#FFFFFF", Italic = false, Bold = false  }
String        = { Colour = "#FFFFFF", Italic = false, Bold = false  }
BlockComment  = { Colour = "#FFFFFF", Italic = false, Bold = false  }
StringPreProc = { Colour = "#FFFFFF", Italic = false, Bold = false  }
LineComment   = { Colour = "#FFFFFF", Italic = false, Bold = false  }
Operator      = { Colour = "#FFFFFF", Italic = false, Bold = false  }
LineNum       = { Colour = "#FFFFFF", Italic = false, Bold = false  }
PreProcessor  = { Colour = "#FFFFFF", Italic = false, Bold = false  }
Interpolation = { Colour = "#FFFFFF", Italic = false, Bold = false  }

Keywords = {
  { Colour = "#FFFFFF", Italic = false, Bold = false  }, -- Id 1 / .hl .kwa
  { Colour = "#FFFFFF", Italic = false, Bold = false  }, -- Id 2 / .hl .kwb
  { Colour = "#FFFFFF", Italic = false, Bold = false  }, -- Id 3 / .hl .kwc
  { Colour = "#FFFFFF", Italic = false, Bold = false  }, -- Id 4 / .hl .kwd
  { Colour = "#FFFFFF", Italic = false, Bold = false  }, -- Id 5 / .hl .kwe
  { Colour = "#FFFFFF", Italic = false, Bold = false  }, -- Id 6 / .hl .kwf
  ------------------------------------------------------------------------------
  -- If you need to define more Groups, just add more copies of the above lines.
  ------------------------------------------------------------------------------
}

SemanticTokenTypes = {
  { Type = 'type', Style = Keywords[2] },
  { Type = 'class', Style =  Keywords[1] },
  { Type = 'struct', Style =  Keywords[4] },
  { Type = 'interface', Style = Keywords[1] },
  { Type = 'parameter', Style = Keywords[6] },
  { Type = 'variable', Style = Keywords[5] },
  { Type = 'enumMember', Style = Keywords[5] },
  { Type = 'function', Style = Keywords[4] },
  { Type = 'method', Style = Keywords[4] },
  { Type = 'keyword', Style =  Keywords[1]},
  { Type = 'number', Style = Number },
  { Type = 'regexp', Style = String },
  { Type = 'operator', Style = Operator },

  ------------------------------------------------------------------------------
  -- Add any token type your LSP server supports.
  ------------------------------------------------------------------------------
}

--[[============================================================================
                                  CHANGELOG
================================================================================
v1.0.1 (2021/03/15) | Highlight v4.0
  - Added SemanticTokenTypes
v1.0.0 (2019/03/02) | Highlight v3.49
  - First release.                                                          --]]
