object SyntAnal20: 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 = 'String'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clTeal
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = []
    end
    item
      DisplayName = 'Symbol'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clMaroon
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = [fsBold]
    end
    item
      DisplayName = 'Param'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clPurple
      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 = 'Value'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clNavy
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = []
    end
    item
      DisplayName = 'Section'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clGreen
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = [fsBold]
    end
    item
      DisplayName = 'Label'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clOlive
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = []
    end>
  TokenRules = <
    item
      DisplayName = 'Comment'
      StyleName = 'Comment'
      TokenType = 1
      Expression = '\#.*'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'String'
      StyleName = 'String'
      TokenType = 4
      Expression = '("|'#39') .*? (\1|$)'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Param'
      StyleName = 'Param'
      TokenType = 5
      Expression = '^\x20*? \w+ \x20*? (?=(=|:=|\+=))  '
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Label'
      StyleName = 'Label'
      TokenType = 8
      Expression = '^\x20*? \w+ \x20*? (?=:)  '
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Id'
      StyleName = 'Id'
      TokenType = 2
      Expression = '[a-z_]\w*'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Value'
      StyleName = 'Value'
      Expression = '\$\(\w+\) | \$\{\w+\}'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Section'
      StyleName = 'Section'
      TokenType = 7
      Expression = '\[\w+\]'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Symbol'
      StyleName = 'Symbol'
      TokenType = 3
      Expression = '[;:,%\(\)\[\]\\@=\*>\+!\^\$]'
      ColumnFrom = 0
      ColumnTo = 0
    end>
  BlockRules = <
    item
      DisplayName = 'Keyword'
      StyleName = 'Id keyword'
      BlockType = btTagDetect
      ConditionList = <
        item
          TagList.Strings = (
            'define'
            'else'
            'endef'
            'endif'
            'export'
            'ifdef'
            'ifeq'
            'ifndef'
            'ifneq'
            'include'
            'override'
            'private'
            'sinclude'
            'undefine'
            'unexport'
            'vpath')
          TokenTypes = 36
        end>
      HighlightPos = cpAny
      IgnoreAsParent = False
    end
    item
      DisplayName = 'Block comment'
      BlockName = 'Block comment'
      NotParent = True
      ConditionList = <
        item
          TokenTypes = 2
        end>
      BlockEnd = 'Block comment end'
      DisplayInTree = False
      HighlightPos = cpBound
      IgnoreAsParent = False
    end
    item
      DisplayName = 'Block comment end'
      BlockType = btRangeEnd
      ConditionList = <
        item
          CondType = tcNotEqual
          TokenTypes = 2
        end
        item
          TokenTypes = 2
        end>
      BlockOffset = 1
      HighlightPos = cpBound
      IgnoreAsParent = False
    end
    item
      DisplayName = 'Section'
      ConditionList = <
        item
          TokenTypes = 128
        end>
      EndOfTextClose = True
      HighlightPos = cpAny
      SelfClose = True
      IgnoreAsParent = False
    end>
  CodeTemplates = <>
  SubAnalyzers = <>
  SampleText.Strings = (
    '#'
    '# file is generated by FPCMake'
    '[section]'
    '"Test str" ${Test}'
    ''
    'default: all'
    'UNIXs = linux $(BSDs) solaris qnx haiku aix'
    'FORCE:'
    '.PHONY: FORCE'
    'override PATH:=$(patsubst %/,%,$(subst \,/,$(PATH)))'
    'ifneq ($(findstring darwin,$(OSTYPE)),)'
    'inUnix=1 #darwin'
    'SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))')
  TokenTypeNames.Strings = (
    'Value'
    'Comment'
    'Identifier'
    'Symbol'
    'String'
    'Param'
    'Number'
    'Section'
    'Label')
  Extentions = 
    'mak /makefile /makefile.gnu /makefile.gcc /makefile.bor /makefil' +
    'e.msc /makefile.vc /makefile.dm /makefile.bcc /makefile.fpc'
  LexerName = 'Makefile'
  Notes.Strings = (
    'Alex (Synwrite)'
    'Sample: makefile in Lazarus')
  LineComment = '#'
  Charset = DEFAULT_CHARSET
end
