object SyntAnal11: TLibSyntAnalyzer
  Formats = <
    item
      DisplayName = 'Symbol'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clMaroon
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = [fsBold]
    end
    item
      DisplayName = 'Number'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clNavy
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = [fsBold]
    end
    item
      DisplayName = 'String'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clTeal
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = []
    end
    item
      DisplayName = 'String key'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clOlive
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = []
    end
    item
      DisplayName = 'Id keyword'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clBlack
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = [fsBold]
    end
    item
      DisplayName = 'Comment'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clGray
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = [fsItalic]
    end
    item
      DisplayName = 'Symbol bad'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clBlack
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = []
      BorderTypeBottom = blSolid
      BorderColorBottom = clRed
    end>
  TokenRules = <
    item
      DisplayName = 'Comment'
      StyleName = 'Comment'
      TokenType = 1
      Expression = '//.*'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'String key'
      StyleName = 'String key'
      TokenType = 4
      Expression = '"(\\"|[^"])*?" (?=\x20*:)'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'String'
      StyleName = 'String'
      TokenType = 4
      Expression = '"(\\.|.)*?"'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Id keyword'
      StyleName = 'Id keyword'
      TokenType = 2
      Expression = '(?-i)\b(true|false|null)\b'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Number'
      StyleName = 'Number'
      TokenType = 5
      Expression = '\d+(\.\d+)?(e[\+\-]?\d+)?\b'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Symbol {}'
      StyleName = 'Symbol'
      TokenType = 6
      Expression = '[\{\}]'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Symbol'
      StyleName = 'Symbol'
      TokenType = 3
      Expression = '[\[\]\(\)\-:,]'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Symbol bad'
      StyleName = 'Symbol bad'
      Expression = '.'
      ColumnFrom = 0
      ColumnTo = 0
    end>
  BlockRules = <
    item
      DisplayName = 'dict key {'
      ConditionList = <
        item
          TagList.Strings = (
            '{')
          TokenTypes = 64
        end
        item
          TagList.Strings = (
            ':')
          TokenTypes = 8
        end
        item
          TokenTypes = 52
        end>
      BlockEnd = '}'
      EndOfTextClose = True
      NameFmt = '%s0'
      RefToCondEnd = True
      HighlightPos = cpAny
      CancelNextRules = True
      DrawStaple = True
      CollapseFmt = '%s0: { ... }'
      IgnoreAsParent = False
    end
    item
      DisplayName = 'dict key ['
      ConditionList = <
        item
          TagList.Strings = (
            '[')
          TokenTypes = 8
        end
        item
          TagList.Strings = (
            ':')
          TokenTypes = 8
        end
        item
          TokenTypes = 52
        end>
      BlockEnd = ']'
      EndOfTextClose = True
      NameFmt = '%s0'
      RefToCondEnd = True
      HighlightPos = cpAny
      CancelNextRules = True
      DrawStaple = True
      CollapseFmt = '%s0: [ ... ]'
      IgnoreAsParent = False
    end
    item
      DisplayName = '{'
      ConditionList = <
        item
          TagList.Strings = (
            '{')
          TokenTypes = 64
        end>
      BlockEnd = '}'
      DisplayInTree = False
      HighlightPos = cpAny
      DrawStaple = True
      CollapseFmt = '{ ... }'
      IgnoreAsParent = False
    end
    item
      DisplayName = '}'
      BlockType = btRangeEnd
      ConditionList = <
        item
          TagList.Strings = (
            '}')
          TokenTypes = 64
        end>
      HighlightPos = cpAny
      IgnoreAsParent = False
    end
    item
      DisplayName = '['
      ConditionList = <
        item
          TagList.Strings = (
            '[')
          TokenTypes = 8
        end>
      BlockEnd = ']'
      DisplayInTree = False
      HighlightPos = cpAny
      DrawStaple = True
      CollapseFmt = '[ ... ]'
      IgnoreAsParent = False
    end
    item
      DisplayName = ']'
      BlockType = btRangeEnd
      ConditionList = <
        item
          TagList.Strings = (
            ']')
          TokenTypes = 8
        end>
      HighlightPos = cpAny
      IgnoreAsParent = False
    end>
  CodeTemplates = <>
  SubAnalyzers = <>
  SampleText.Strings = (
    '{'
    '  "root": {'
    '    "b1": false,'
    '    "b2": TRue,'
    '    "a1": {'
    '      "a2": {'
    '        "dd": {'
    '          "id": null,'
    '          "bad": [1. , .1, ~1, 1%, '#39'text'#39' ] ,'
    '          "de": "Text",'
    '          "k1": {'
    '            "s1": "Text\\Test\"Test",'
    '            "s2": ["aa", "bb"]'
    '          },'
    '          "aa": ['
    '            {"id": 1e2},'
    '            {"id": 1.2e-3,"id2": 10 }'
    '          ]                    '
    '        }'
    '      }'
    '    }'
    '  }'
    '}')
  TokenTypeNames.Strings = (
    'Unknown'
    'Comment'
    'Id'
    'Symbol'
    'String'
    'Number'
    'Symbol {}')
  Extentions = 
    'avsc babelrc bowerrc geojson gltf ipynb jscsrc jshintrc jslintrc' +
    ' json jsonl jsonld ldj ldjson schema topojson webapp'
  LexerName = 'JSON'
  Notes.Strings = (
    'Alexey (CudaText)'
    'Tests: http://json.org/example.html')
  RestartFromLineStart = True
  LineComment = '//'
  Charset = DEFAULT_CHARSET
end
