object SyntAnal20: TLibSyntAnalyzer
  Formats = <
    item
      DisplayName = 'Brackets'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clRed
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = [fsBold]
    end
    item
      DisplayName = 'Modifiers'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clOlive
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = []
    end
    item
      DisplayName = 'Multi'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clGreen
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = [fsBold]
    end
    item
      DisplayName = 'Escaped'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clMaroon
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = []
      BgColor = clMoneyGreen
    end
    item
      DisplayName = 'Text'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clBlack
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = []
    end
    item
      DisplayName = 'SpecChar'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clBlue
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = [fsBold]
    end
    item
      DisplayName = 'CharClass'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clTeal
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = []
    end
    item
      DisplayName = 'CharClass BG'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clWindowText
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = []
      BgColor = 11008203
      FormatType = ftBackGround
    end
    item
      DisplayName = '{}'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clGreen
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = [fsBold]
    end
    item
      DisplayName = 'Error'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clRed
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = [fsStrikeOut]
      BgColor = clYellow
    end
    item
      DisplayName = 'Comment'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clGray
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = []
    end>
  TokenRules = <
    item
      DisplayName = 'Escaped'
      StyleName = 'Escaped'
      StatesAdd = 2
      TokenType = 4
      Expression = 
        '(?-i)\\c[a-z] | (?-i)\\x\h{2} | (?-i)\\[xu]\{\h{1,4}\} | \\p(\w|' +
        '\{\w+\}) | \\.'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Modifiers'
      StyleName = 'Modifiers'
      BlockName = '['
      NotParent = True
      TokenType = 2
      Expression = '\(\?(\-?\w)+\)'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Comment'
      StyleName = 'Comment'
      TokenType = 5
      Expression = '\(\?\#.*?\)'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Brackets'
      StyleName = 'Brackets'
      BlockName = '['
      NotParent = True
      TokenType = 1
      Expression = '\(\?: | (?-i)\(\?P<\w+> | (?-i)\(\?P=\w+ | \((\?<?[!=])? | \)'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Multi'
      StyleName = 'Multi'
      BlockName = '['
      NotParent = True
      TokenType = 3
      Expression = '[\+\?\*]\??'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'SpecChar'
      StyleName = 'SpecChar'
      BlockName = '['
      NotParent = True
      TokenType = 6
      Expression = '[\.\^\$\|]'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = '['
      StyleName = 'CharClass'
      BlockName = '['
      NotParent = True
      StatesAdd = 1
      StatesRemove = 2
      StatesAbsent = 1
      TokenType = 7
      Expression = '\[\^?'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = ']'
      StyleName = 'CharClass'
      StatesRemove = 3
      StatesPresent = 3
      TokenType = 8
      Expression = '\]'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = '{n,m}'
      StyleName = '{}'
      BlockName = '['
      NotParent = True
      TokenType = 9
      Expression = '\{\d+,?\d*\}\??'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Dash in []'
      StyleName = 'SpecChar'
      BlockName = '['
      TokenType = 6
      Expression = '\-'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Errors'
      StyleName = 'Error'
      BlockName = '['
      NotParent = True
      Expression = '[\{\}]'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Text'
      StyleName = 'Text'
      StatesAdd = 2
      Expression = '.'
      ColumnFrom = 0
      ColumnTo = 0
    end>
  BlockRules = <
    item
      DisplayName = '['
      StyleName = 'CharClass BG'
      ConditionList = <
        item
          TokenTypes = 128
        end>
      BlockEnd = ']'
      DisplayInTree = False
      DynHighlight = dhRange
      HighlightPos = cpAny
      IgnoreAsParent = False
    end
    item
      DisplayName = ']'
      BlockType = btRangeEnd
      ConditionList = <
        item
          TokenTypes = 256
        end>
      HighlightPos = cpAny
      IgnoreAsParent = False
    end>
  CodeTemplates = <>
  SubAnalyzers = <>
  SampleText.Strings = (
    '(?si) (?-si-x) ^(\r\n dd+? dd*? dd+ t.t?t+)'
    '(?=\n)(?!\n)(?<=\n)(?<!\n)$'
    '[^re] , [a-b\n\r $^.] , [[[[] '
    'd{2} d{2, d{2,4} d-'
    '\1 | \xC0 | \u{F0F0} | \cK'
    '(?:non_capturing) (?#comment)$'
    '\pL \p{Lu} \X2030')
  TokenTypeNames.Strings = (
    'Text'
    'Brackets'
    'Modifiers'
    'Multi'
    'Escaped'
    'Comment'
    'SpecChar'
    '['
    ']'
    '{}')
  LexerName = 'RegEx'
  Notes.Strings = (
    'Alexey Torgashin (CudaText)'
    'RegEx flavor supported by Free Pascal TRegExpr'
    'Parser states used:'
    '- 1: set by range start "["'
    '- 2: set by any char in range, reset by range start'
    'So "]" closes range only if state=1+2.')
  RestartFromLineStart = True
  Charset = DEFAULT_CHARSET
end
