﻿TinySyntaxHighlighter.syntax_vb =
{
  states: [
    {
      name: "default", style: "default",
      transitions: [
        { expression: new RegExp("\""), state: "string", style: "string" },
        { expression: new RegExp("'"), state: "comment", style: "comment" },
        { expression: new RegExp("\\b(AddHandler|AddressOf|Alias|And|AndAlso|As|Boolean|ByRef|Byte|ByVal|Call|Case|Catch|CBool|CByte|CChar|CDate|CDec|CDbl|Char|CInt|Class|CLng|CObj|Const|Continue|CSByte|CShort|CSng|CStr|CType|CUInt|CULng|CUShort|Date|Decimal|Declare|Default|Delegate|Dim|DirectCast|Do|Double|Each|Else|ElseIf|End|EndIf|Enum|Erase|Error|Event|Exit|False|Finally|For|Friend|Function|Get|GetType|Global|GoSub|GoTo|Handles|If|Implements|Imports|In|Inherits|Integer|Interface|Is|IsNot|Let|Lib|Like|Long|Loop|Me|Mod|Module|MustInherit|MustOverride|MyBase|MyClass|Namespace|Narrowing|New|Next|Not|Nothing|NotInheritable|NotOverridable|Object|Of|On|Operator|Option|Optional|Or|OrElse|Overloads|Overridable|Overrides|ParamArray|Partial|Private|Property|Protected|Public|RaiseEvent|ReadOnly|ReDim|REM|RemoveHandler|Resume|Return|SByte|Select|Set|Shadows|Shared|Short|Single|Static|Step|Stop|String|Structure|Sub|SyncLock|Then|Throw|To|True|Try|TryCast|TypeOf|Variant|Wend|UInteger|ULong|UShort|Using|When|While|Widening|With|WithEvents|WriteOnly|Xor|#Const|#Else|#ElseIf|#End|#If|Aggregate|Ansi|Assembly|Auto|Binary|Compare|Custom|Distinct|Equals|Explicit|From|GroupBy|GroupJoin|Into|IsFalse|IsTrue|Join|Key|Mid|Off|OrderBy|Preserve|Skip|SkipWhile|Strict|Take|TakeWhile|Text|Unicode|Until|Where|#ExternalSource|#Region)\\b", "i"), state: "default", style: "keyword" } 
      ]
    },
    {
      name: "comment", style: "comment",
      transitions: [
        { expression: new RegExp("\\n"), state: "default", style: "comment" }
      ]
    },
    {
      name: "string", style: "string",
      transitions: [
        { expression: new RegExp("\""), state: "default", style: "string" },
        { expression: new RegExp("\\n"), state: "default", style: "string" }
      ]
    }
  ],
  styles: [
    {
      name: "default",
      style: { color: "black" }
    },
    {
      name: "comment",
      style: { color: "green" }
    },
    {
      name: "string",
      style: { color: "maroon" }
    },
    {
      name: "keyword",
      style: { color: "blue" }
    }
  ]
};