TOML File
  TomlTable
    TomlTableHeader
      PsiElement([)('[')
      TomlKey
        TomlKeySegment
          PsiElement(BARE_KEY)('table')
      PsiElement(])(']')
  PsiWhiteSpace('\n\n')
  TomlTable
    TomlTableHeader
      PsiElement([)('[')
      TomlKey
        TomlKeySegment
          PsiElement(BARE_KEY)('table-1')
      PsiElement(])(']')
    PsiWhiteSpace('\n')
    TomlKeyValue
      TomlKey
        TomlKeySegment
          PsiElement(BARE_KEY)('key1')
      PsiWhiteSpace(' ')
      PsiElement(=)('=')
      PsiWhiteSpace(' ')
      TomlLiteral
        PsiElement(BASIC_STRING)('"some string"')
    PsiWhiteSpace('\n')
    TomlKeyValue
      TomlKey
        TomlKeySegment
          PsiElement(BARE_KEY)('key2')
      PsiWhiteSpace(' ')
      PsiElement(=)('=')
      PsiWhiteSpace(' ')
      TomlLiteral
        PsiElement(NUMBER)('123')
  PsiWhiteSpace('\n\n')
  TomlTable
    TomlTableHeader
      PsiElement([)('[')
      TomlKey
        TomlKeySegment
          PsiElement(BARE_KEY)('table-2')
      PsiElement(])(']')
    PsiWhiteSpace('\n')
    TomlKeyValue
      TomlKey
        TomlKeySegment
          PsiElement(BARE_KEY)('key1')
      PsiWhiteSpace(' ')
      PsiElement(=)('=')
      PsiWhiteSpace(' ')
      TomlLiteral
        PsiElement(BASIC_STRING)('"another string"')
    PsiWhiteSpace('\n')
    TomlKeyValue
      TomlKey
        TomlKeySegment
          PsiElement(BARE_KEY)('key2')
      PsiWhiteSpace(' ')
      PsiElement(=)('=')
      PsiWhiteSpace(' ')
      TomlLiteral
        PsiElement(NUMBER)('456')
  PsiWhiteSpace('\n\n')
  TomlTable
    TomlTableHeader
      PsiElement([)('[')
      TomlKey
        TomlKeySegment
          PsiElement(BARE_KEY)('dog')
        PsiElement(.)('.')
        TomlKeySegment
          PsiElement(BASIC_STRING)('"tater.man"')
      PsiElement(])(']')
    PsiWhiteSpace('\n')
    TomlKeyValue
      TomlKey
        TomlKeySegment
          PsiElement(BARE_KEY)('type')
      PsiWhiteSpace(' ')
      PsiElement(=)('=')
      PsiWhiteSpace(' ')
      TomlLiteral
        PsiElement(BASIC_STRING)('"pug"')
  PsiWhiteSpace('\n\n')
  TomlTable
    TomlTableHeader
      PsiElement([)('[')
      TomlKey
        TomlKeySegment
          PsiElement(BARE_KEY)('a')
        PsiElement(.)('.')
        TomlKeySegment
          PsiElement(BARE_KEY)('b')
        PsiElement(.)('.')
        TomlKeySegment
          PsiElement(BARE_KEY)('c')
      PsiElement(])(']')
  PsiWhiteSpace('            ')
  PsiComment(COMMENT)('# this is best practice')
  PsiWhiteSpace('\n')
  TomlTable
    TomlTableHeader
      PsiElement([)('[')
      PsiWhiteSpace(' ')
      TomlKey
        TomlKeySegment
          PsiElement(BARE_KEY)('d')
        PsiElement(.)('.')
        TomlKeySegment
          PsiElement(BARE_KEY)('e')
        PsiElement(.)('.')
        TomlKeySegment
          PsiElement(BARE_KEY)('f')
      PsiWhiteSpace(' ')
      PsiElement(])(']')
  PsiWhiteSpace('          ')
  PsiComment(COMMENT)('# same as [d.e.f]')
  PsiWhiteSpace('\n')
  TomlTable
    TomlTableHeader
      PsiElement([)('[')
      PsiWhiteSpace(' ')
      TomlKey
        TomlKeySegment
          PsiElement(BARE_KEY)('g')
        PsiWhiteSpace(' ')
        PsiElement(.)('.')
        PsiWhiteSpace('  ')
        TomlKeySegment
          PsiElement(BARE_KEY)('h')
        PsiWhiteSpace('  ')
        PsiElement(.)('.')
        PsiWhiteSpace(' ')
        TomlKeySegment
          PsiElement(BARE_KEY)('i')
      PsiWhiteSpace(' ')
      PsiElement(])(']')
  PsiWhiteSpace('    ')
  PsiComment(COMMENT)('# same as [g.h.i]')
  PsiWhiteSpace('\n')
  TomlTable
    TomlTableHeader
      PsiElement([)('[')
      PsiWhiteSpace(' ')
      TomlKey
        TomlKeySegment
          PsiElement(BARE_KEY)('j')
        PsiWhiteSpace(' ')
        PsiElement(.)('.')
        PsiWhiteSpace(' ')
        TomlKeySegment
          PsiElement(BASIC_STRING)('"ʞ"')
        PsiWhiteSpace(' ')
        PsiElement(.)('.')
        PsiWhiteSpace(' ')
        TomlKeySegment
          PsiElement(LITERAL_STRING)(''l'')
      PsiWhiteSpace(' ')
      PsiElement(])(']')
  PsiWhiteSpace('  ')
  PsiComment(COMMENT)('# same as [j."ʞ".'l']')
  PsiWhiteSpace('\n\n')
  PsiComment(COMMENT)('# [x] you')
  PsiWhiteSpace('\n')
  PsiComment(COMMENT)('# [x.y] don't')
  PsiWhiteSpace('\n')
  PsiComment(COMMENT)('# [x.y.z] need these')
  PsiWhiteSpace('\n')
  TomlTable
    TomlTableHeader
      PsiElement([)('[')
      TomlKey
        TomlKeySegment
          PsiElement(BARE_KEY)('x')
        PsiElement(.)('.')
        TomlKeySegment
          PsiElement(BARE_KEY)('y')
        PsiElement(.)('.')
        TomlKeySegment
          PsiElement(BARE_KEY)('z')
        PsiElement(.)('.')
        TomlKeySegment
          PsiElement(BARE_KEY)('w')
      PsiElement(])(']')
  PsiWhiteSpace(' ')
  PsiComment(COMMENT)('# for this to work')
  PsiWhiteSpace('\n\n')
  TomlTable
    TomlTableHeader
      PsiElement([)('[')
      TomlKey
        TomlKeySegment
          PsiElement(BARE_KEY)('a')
        PsiElement(.)('.')
        TomlKeySegment
          PsiElement(BARE_KEY)('b')
      PsiElement(])(']')
    PsiWhiteSpace('\n')
    TomlKeyValue
      TomlKey
        TomlKeySegment
          PsiElement(BARE_KEY)('c')
      PsiWhiteSpace(' ')
      PsiElement(=)('=')
      PsiWhiteSpace(' ')
      TomlLiteral
        PsiElement(NUMBER)('1')
  PsiWhiteSpace('\n\n')
  TomlTable
    TomlTableHeader
      PsiElement([)('[')
      TomlKey
        TomlKeySegment
          PsiElement(BARE_KEY)('a')
      PsiElement(])(']')
    PsiWhiteSpace('\n')
    TomlKeyValue
      TomlKey
        TomlKeySegment
          PsiElement(BARE_KEY)('d')
      PsiWhiteSpace(' ')
      PsiElement(=)('=')
      PsiWhiteSpace(' ')
      TomlLiteral
        PsiElement(NUMBER)('2')
  PsiWhiteSpace('\n\n')
  PsiComment(COMMENT)('# INVALID don;t parse next table as an array')
  PsiWhiteSpace('\n')
  TomlTable
    TomlTableHeader
      PsiElement([)('[')
      TomlKey
        TomlKeySegment
          PsiElement(BARE_KEY)('table-a')
      PsiElement(])(']')
    PsiWhiteSpace('\n')
    TomlKeyValue
      TomlKey
        TomlKeySegment
          PsiElement(BARE_KEY)('key')
      PsiErrorElement:'.' or '=' expected, got '['
        <empty list>
  PsiWhiteSpace('\n')
  TomlTable
    TomlTableHeader
      PsiElement([)('[')
      TomlKey
        TomlKeySegment
          PsiElement(BARE_KEY)('table-b')
      PsiElement(])(']')
  PsiWhiteSpace('\n\n')
  TomlTable
    TomlTableHeader
      PsiElement([)('[')
      TomlKey
        TomlKeySegment
          PsiElement(BARE_KEY)('table-c')
      PsiElement(])(']')
    PsiWhiteSpace('\n')
    TomlKeyValue
      TomlKey
        TomlKeySegment
          PsiElement(BARE_KEY)('key')
      PsiWhiteSpace(' ')
      PsiElement(=)('=')
      PsiErrorElement:VALUE expected, got '['
        <empty list>
  PsiWhiteSpace('\n')
  TomlTable
    TomlTableHeader
      PsiElement([)('[')
      TomlKey
        TomlKeySegment
          PsiElement(BARE_KEY)('table-d')
      PsiElement(])(']')
