object SyntAnal12: TLibSyntAnalyzer
  Formats = <
    item
      DisplayName = 'Comment'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clGray
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = [fsItalic]
    end
    item
      DisplayName = 'Symbol'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clMaroon
      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 tick'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clOlive
      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 = []
      FormatType = ftColor
    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 = 'Id class'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clNavy
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = []
    end
    item
      DisplayName = 'Id type'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clPurple
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = []
    end
    item
      DisplayName = 'Number'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clNavy
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = [fsBold]
    end>
  TokenRules = <
    item
      DisplayName = 'Comment'
      StyleName = 'Comment'
      TokenType = 1
      Expression = '--[^\+\*/].*$'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Comment 2'
      StyleName = 'Comment'
      TokenType = 1
      Expression = '(?s)\{- (\{.+?\}|.)*?(-\}|\Z)'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'String'
      StyleName = 'String'
      TokenType = 4
      Expression = '(?s) "(\\\\|\\"|.)*? ("|\Z)'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'String tick'
      StyleName = 'String tick'
      TokenType = 4
      Expression = '` .+? `'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Char'
      StyleName = 'String'
      TokenType = 4
      Expression = #39'.'#39
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Symbol'
      StyleName = 'Symbol'
      TokenType = 3
      Expression = '[!\?\#\-\+/\*=<>\(\)\[\]\.\:;@\|\\_`\{\}~,&\$\^%]+'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Hex'
      StyleName = 'Number'
      TokenType = 5
      Expression = '0x[0-9a-f]+ |'#13#10'0o[0-7]+'
      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 = 'Integer'
      StyleName = 'Number'
      TokenType = 5
      Expression = '\d+'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Id'
      StyleName = 'Id'
      TokenType = 2
      Expression = '[\w_'#39']+'
      ColumnFrom = 0
      ColumnTo = 0
    end>
  BlockRules = <
    item
      DisplayName = 'Id keywords'
      StyleName = 'Id keyword'
      BlockType = btTagDetect
      ConditionList = <
        item
          TagList.Strings = (
            'as'
            'case'
            'class'
            'data'
            'default'
            'deriving'
            'do'
            'else'
            'family'
            'forall'
            'foreign'
            'hiding'
            'if'
            'import'
            'in'
            'infix'
            'infixl'
            'infixr'
            'instance'
            'let'
            'mdo'
            'module'
            'newtype'
            'of'
            'proc'
            'qualified'
            'rec'
            'then'
            'type'
            'where')
          TokenTypes = 4
        end>
      HighlightPos = cpAny
      IgnoreAsParent = False
    end
    item
      DisplayName = 'Id classes'
      StyleName = 'Id class'
      BlockType = btTagDetect
      ConditionList = <
        item
          TagList.Strings = (
            'Bounded'
            'Enum'
            'Eq'
            'EQ'
            'Eval'
            'False'
            'Floating'
            'Fractional'
            'Functor'
            'GT'
            'Integral'
            'Ix'
            'Just'
            'Left'
            'LT'
            'Monad'
            'MonadPlus'
            'MonadZero'
            'Nothing'
            'Num'
            'Ord'
            'Prelude'
            'Read'
            'Real'
            'RealFloat'
            'RealFrac'
            'Right'
            'Show'
            'True'
            'Void')
          TokenTypes = 1028
        end>
      HighlightPos = cpAny
      IgnoreAsParent = False
    end
    item
      DisplayName = 'Id types'
      StyleName = 'Id type'
      BlockType = btTagDetect
      ConditionList = <
        item
          TagList.Strings = (
            'Addr'
            'Bool'
            'Char'
            'Double'
            'Either'
            'EmptyRec'
            'EmptyRow'
            'FilePath'
            'Float'
            'Int'
            'Integer'
            'IO'
            'IOError'
            'IOResult'
            'Long'
            'Maybe'
            'Ordering'
            'Ratio'
            'Rational'
            'ReadS'
            'Rec'
            'ShowS'
            'String')
          TokenTypes = 4
        end>
      HighlightPos = cpAny
      IgnoreAsParent = False
    end>
  CodeTemplates = <>
  SubAnalyzers = <>
  SampleText.Strings = (
    'main = print "test", "t", '#39'_'#39' --comment'
    '--this is comment'
    '---this too'
    'foobar --+ a_second_argument'
    ''
    '{-'
    'comment'
    'too'
    '-} `some data`, 1.2e+4, 20.20e-20, 0xA0b0, 0o70'
    ''
    'putStrLn $ "Chars: \"" ++ listedChars ++ "\""'
    'f1,f2 :: Maybe Int -> String;'
    ''
    'if '#39'lookup == Nothing'
    'then '#39'setHelper')
  TokenTypeNames.Strings = (
    'Unknown'
    'Comment'
    'Identifier'
    'Symbol'
    'String'
    'Number')
  Extentions = 'hs lhs as las'
  LexerName = 'Haskell'
  Notes.Strings = (
    'Alexey (SynWrite)'
    ''
    'Help: https://www.haskell.org/onlinereport/lexemes.html'
    
      'Example: http://www.haskell.org/haskellwiki/Haskell_Tutorial_for' +
      '_C_Programmers#Downloads')
  LineComment = '--'
  Charset = DEFAULT_CHARSET
end
