object SyntAnal27: 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 = 'Id'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clBlack
      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 = 'Variable'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clGreen
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = []
    end
    item
      DisplayName = 'String regex'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clOlive
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = []
    end
    item
      DisplayName = 'String here-doc'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clTeal
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = []
    end
    item
      DisplayName = 'Quote block'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clWindowText
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = []
      BgColor = clMoneyGreen
      FormatType = ftBackGround
    end
    item
      DisplayName = 'Id const'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clPurple
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = []
    end>
  TokenRules = <
    item
      DisplayName = 'Comment'
      StyleName = 'Comment'
      TokenType = 1
      Expression = '(?s)=begin.*?=end'#13#10
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Comment line'
      StyleName = 'Comment'
      TokenType = 1
      Expression = '\# (?!\{) .*'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'String'
      StyleName = 'String'
      TokenType = 4
      Expression = '(?s)("|'#39')(\\\1|.)*?(\1|(?<!\\)$)'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'String regex'
      StyleName = 'String regex'
      TokenType = 4
      Expression = '/(\\/|.)*?(/) [igm]?'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'String %{}'
      StyleName = 'String'
      TokenType = 4
      Expression = '(?s)%\w?\{ (\{.*?\}|.)*? (\}|\Z)'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'String %()'
      StyleName = 'String'
      TokenType = 4
      Expression = '(?s)%\w?\( (\(.*?\)|.)*? (\)|\Z)'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'String %[]'
      StyleName = 'String'
      TokenType = 4
      Expression = '(?s)%\w?\[ (\[.*?\]|.)*? (\]|\Z)'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'String %//'
      StyleName = 'String'
      TokenType = 4
      Expression = '(?s)%\w? ([/%~@!\$\?\^]) (\\\1|.)*? (\1|\Z)'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'String HereDoc'
      StyleName = 'String here-doc'
      TokenType = 4
      Expression = '(?s)<<[`"\-~]? (\w+)\b .*? ^[\x20\x09]*\1'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'IfBegin'
      StyleName = 'Id keyword'
      TokenType = 6
      Expression = '^[\x20\x09]* (if|unless|while)\b'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Id'
      StyleName = 'Id'
      TokenType = 2
      Expression = '[a-z_]\w*'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Float'
      StyleName = 'Number'
      TokenType = 5
      Expression = '(\d+ \.)? \d+ e [\+\-]? \d+ |'#13#10'\d+ \. \d+'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Hex'
      StyleName = 'Number'
      TokenType = 5
      Expression = '0x[0-9a-f]+ | 0b[01]+'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Integer'
      StyleName = 'Number'
      TokenType = 5
      Expression = '\d[\d_]*'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Variable - predefined'
      StyleName = 'Variable'
      Expression = 
        '\$([!$&"'#39'*+,./0:;<=>?@\`~1-9]| -[0FIKadilpvw]| (deferr|defout|st' +
        'derr|stdin|stdout| DEBUG|FILENAME|KCODE|LOADED_FEATURES|LOAD_PAT' +
        'H| PROGRAM_NAME|SAFE|VERBOSE)\b)'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Variable global'
      StyleName = 'Variable'
      Expression = '\$[a-zA-Z_][a-zA-Z0-9_]*'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Variable - instance'
      StyleName = 'Variable'
      Expression = '@[a-zA-Z_][a-zA-Z0-9_]*'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Variable - class'
      StyleName = 'Variable'
      Expression = '@@[a-zA-Z_][a-zA-Z0-9_]*'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'String char'
      StyleName = 'String'
      TokenType = 4
      Expression = '\?\\?\w'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Symbol'
      StyleName = 'Symbol'
      TokenType = 3
      Expression = '[,;\+\-\*\/\!=\^\$\.<>%\|:~\#&]+'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Single symbol'
      StyleName = 'Symbol'
      TokenType = 3
      Expression = '[\{\}\(\)\[\]\?]'
      ColumnFrom = 0
      ColumnTo = 0
    end>
  BlockRules = <
    item
      DisplayName = 'id keywords'
      StyleName = 'Id keyword'
      BlockType = btTagDetect
      ConditionList = <
        item
          TagList.Strings = (
            'alias'
            'and'
            'begin'
            'BEGIN'
            'break'
            'case'
            'class'
            'def'
            'defined'
            'do'
            'else'
            'elsif'
            'end'
            'END'
            'ensure'
            'for'
            'if'
            'in'
            'module'
            'new'
            'next'
            'not'
            'or'
            'prepend'
            'raise'
            'redo'
            'require'
            'rescue'
            'retry'
            'return'
            'super'
            'then'
            'undef'
            'unless'
            'until'
            'when'
            'while')
          TokenTypes = 4
        end>
      HighlightPos = cpBound
      IgnoreAsParent = False
    end
    item
      DisplayName = 'id const'
      StyleName = 'Id const'
      BlockType = btTagDetect
      ConditionList = <
        item
          TagList.Strings = (
            '__FILE__'
            '__LINE__'
            'false'
            'nil'
            'self'
            'true')
          TokenTypes = 4
        end>
      HighlightPos = cpAny
      IgnoreAsParent = False
    end
    item
      DisplayName = 'comments-start'
      StyleName = 'Comment'
      ConditionList = <
        item
          TagList.Strings = (
            '=begin')
          IgnoreCase = True
        end>
      BlockEnd = 'comments-end'
      DisplayInTree = False
      NameFmt = '%s0 %s-1 %s-2 %s-3 %s-4'
      DynHighlight = dhRange
      HighlightPos = cpAny
      DrawStaple = True
      CollapseFmt = '%s0 %s-1 %s-2 %s-3 %s-4'
      IgnoreAsParent = False
    end
    item
      DisplayName = 'comments-end'
      BlockType = btRangeEnd
      ConditionList = <
        item
          TagList.Strings = (
            '=end')
          IgnoreCase = True
        end>
      HighlightPos = cpAny
      IgnoreAsParent = False
    end
    item
      DisplayName = 'begin'
      ConditionList = <
        item
          TagList.Strings = (
            'begin'
            'case'
            'do'
            'for'
            'module'
            'until')
          TokenTypes = 4
          IgnoreCase = True
        end>
      BlockEnd = 'end'
      DisplayInTree = False
      NameFmt = '%s0 ...'
      HighlightPos = cpAny
      CollapseFmt = '%s0 ...'
      IgnoreAsParent = False
    end
    item
      DisplayName = 'end'
      BlockType = btRangeEnd
      ConditionList = <
        item
          TagList.Strings = (
            'end')
          TokenTypes = 4
          IgnoreCase = True
        end>
      HighlightPos = cpAny
      IgnoreAsParent = False
    end
    item
      DisplayName = 'begin_def'
      ConditionList = <
        item
          TagList.Strings = (
            'def')
          TokenTypes = 4
          IgnoreCase = True
        end>
      BlockEnd = 'end'
      NameFmt = '%sz0'
      HighlightPos = cpAny
      CollapseFmt = '%sz0'
      TreeItemImage = 5
      IgnoreAsParent = False
    end
    item
      DisplayName = 'begin_class'
      ConditionList = <
        item
          TagList.Strings = (
            'class')
          TokenTypes = 4
          IgnoreCase = True
        end>
      BlockEnd = 'end'
      NameFmt = '%sz0'
      HighlightPos = cpAny
      CollapseFmt = '%sz0'
      TreeItemImage = 1
      IgnoreAsParent = False
    end
    item
      DisplayName = 'begin_if'
      ConditionList = <
        item
          TokenTypes = 576
        end>
      BlockEnd = 'end'
      DisplayInTree = False
      NameFmt = '%sz0'
      HighlightPos = cpAny
      CollapseFmt = '%sz0'
      IgnoreAsParent = False
    end
    item
      DisplayName = '{'
      ConditionList = <
        item
          TagList.Strings = (
            '{')
          TokenTypes = 8
        end>
      BlockEnd = '}'
      NotCollapsed = True
      DisplayInTree = False
      HighlightPos = cpAny
      IgnoreAsParent = False
    end
    item
      DisplayName = '}'
      BlockType = btRangeEnd
      ConditionList = <
        item
          TagList.Strings = (
            '}')
          TokenTypes = 8
        end>
      HighlightPos = cpAny
      IgnoreAsParent = False
    end>
  CodeTemplates = <>
  SubAnalyzers = <>
  SampleText.Strings = (
    '#commment'
    'require '#39'name.rb'#39
    '=begin'
    ' multiline comment'
    '=end'
    ''
    '%q{ '
    '  test name{name} '
    '} +'
    '%Q{one\ntwo\n#{ 1 + 2 }} +'
    '%q[one\ntwo\n#[ 1 + 2 ]] +'
    '%r/#{name}/i +'
    '%w{one two three} ;'
    ''
    'name = /^name/ =~ %r{\w+}'
    'name = "Name \'
    '  End" #trailing \'
    'puts '#39'Escape "\\"'#39'+ '#39'That\'#39's right'#39' +1.23+1.0e6+1e+20 '
    '  +?a+?\n+true+false+nil;'
    ''
    'def create'
    '  @unit = opt["opt"]'
    '  $name = '#39'value'#39
    'end    '
    ''
    'def func1'
    '  if (nbr > 1) #must fold'
    '    h = height if (nbr>2) #must not fold'
    '    w = width if (nbr>2) #same'
    '    n.upto(nbr) do (group) #must fold'
    '      h = h + height'
    '    end'
    '    model.commit_operation'
    '  end'
    'end'
    ''
    'def func2'
    '  animals = %w(lions tigers bears)'
    '  animals.each{|kind| print kind}'
    'end')
  TokenTypeNames.Strings = (
    'Var'
    'Comment'
    'Id'
    'Symbol'
    'String'
    'Number'
    'If_begin')
  Extentions = 'rb rbw'
  LexerName = 'Ruby'
  SkipSpaces = False
  Notes.Strings = (
    'Alexey (CudaText)'
    'Matthias (SynWrite admin)'
    'http://www.tutorialspoint.com/ruby/ruby_syntax.htm'
    'https://www.tutorialspoint.com/ruby/ruby_variables.htm')
  LineComment = '#'
  Charset = DEFAULT_CHARSET
  Left = 144
  Top = 184
end
