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 = 'StringHere'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clOlive
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = []
    end
    item
      DisplayName = 'Comment'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clGray
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = [fsItalic]
    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 = 'Id type'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clPurple
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = []
    end
    item
      DisplayName = 'Variable'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clGreen
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = []
    end
    item
      DisplayName = 'Cmd'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clNavy
      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 = 'Comment 2'
      StyleName = 'Comment'
      TokenType = 1
      Expression = '(?s) <\# .*? (\#>|\Z)'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'String'
      StyleName = 'String'
      TokenType = 4
      Expression = '" (`"|""|.)*? ("|$)'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'String2'
      StyleName = 'String'
      TokenType = 4
      Expression = #39' .*? ('#39'|$)'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'StringHere'
      StyleName = 'StringHere'
      TokenType = 6
      Expression = '(?s) @(["'#39'])$ .+? ^\1@'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'IdVariable'
      StyleName = 'Variable'
      TokenType = 2
      Expression = '\$\w+'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Id'
      StyleName = 'Id'
      TokenType = 2
      Expression = '[a-z_][\w-]*'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Hex'
      StyleName = 'Number'
      TokenType = 5
      Expression = '0x[\da-f]+'
      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 = 'Symbol single'
      StyleName = 'Symbol'
      TokenType = 3
      Expression = '[\{\}\(\)\[\]\$]'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Symbol'
      StyleName = 'Symbol'
      TokenType = 3
      Expression = '[,;\./\+\-\*:=<>&/\|\^~!\?%@]+'
      ColumnFrom = 0
      ColumnTo = 0
    end>
  BlockRules = <
    item
      DisplayName = 'Keywords'
      StyleName = 'Id keyword'
      BlockType = btTagDetect
      ConditionList = <
        item
          TagList.Strings = (
            'Begin'
            'Break'
            'Catch'
            'Continue'
            'Data'
            'Do'
            'Dynamicparam'
            'Else'
            'Elseif'
            'End'
            'Exit'
            'Filter'
            'Finally'
            'For'
            'Foreach'
            'From'
            'Function'
            'If'
            'In'
            'Local'
            'Param'
            'Private'
            'Process'
            'Return'
            'Switch'
            'Throw'
            'Trap'
            'Try'
            'Until'
            'Where'
            'While')
          TokenTypes = 4
          IgnoreCase = True
        end>
      HighlightPos = cpAny
      IgnoreAsParent = False
    end
    item
      DisplayName = 'Cmd'
      StyleName = 'Cmd'
      BlockType = btTagDetect
      ConditionList = <
        item
          TagList.Strings = (
            'add-content'
            'add-history'
            'add-member'
            'add-pssnapin'
            'clear-content'
            'clear-item'
            'clear-itemproperty'
            'clear-variable'
            'compare-object'
            'convertfrom-securestring'
            'convert-path'
            'convertto-html'
            'convertto-securestring'
            'copy-item'
            'copy-itemproperty'
            'export-alias'
            'export-clixml'
            'export-console'
            'export-csv'
            'foreach-object'
            'format-custom'
            'format-list'
            'format-table'
            'format-wide'
            'get-acl'
            'get-alias'
            'get-authenticodesignature'
            'get-childitem'
            'get-command'
            'get-content'
            'get-credential'
            'get-culture'
            'get-date'
            'get-eventlog'
            'get-executionpolicy'
            'get-help'
            'get-history'
            'get-host'
            'get-item'
            'get-itemproperty'
            'get-location'
            'get-member'
            'get-pfxcertificate'
            'get-process'
            'get-psdrive'
            'get-psprovider'
            'get-pssnapin'
            'get-service'
            'get-tracesource'
            'get-uiculture'
            'get-unique'
            'get-variable'
            'get-wmiobject'
            'group-object'
            'import-alias'
            'import-clixml'
            'import-csv'
            'invoke-expression'
            'invoke-history'
            'invoke-item'
            'join-path'
            'measure-command'
            'measure-object'
            'move-item'
            'move-itemproperty'
            'new-alias'
            'new-item'
            'new-itemproperty'
            'new-object'
            'new-psdrive'
            'new-service'
            'new-timespan'
            'new-variable'
            'out-default'
            'out-file'
            'out-host'
            'out-null'
            'out-printer'
            'out-string'
            'pop-location'
            'push-location'
            'read-host'
            'remove-item'
            'remove-itemproperty'
            'remove-psdrive'
            'remove-pssnapin'
            'remove-variable'
            'rename-item'
            'rename-itemproperty'
            'resolve-path'
            'restart-service'
            'resume-service'
            'select-object'
            'select-string'
            'set-acl'
            'set-alias'
            'set-authenticodesignature'
            'set-content'
            'set-date'
            'set-executionpolicy'
            'set-item'
            'set-itemproperty'
            'set-location'
            'set-psdebug'
            'set-service'
            'set-tracesource'
            'set-variable'
            'sort-object'
            'split-path'
            'start-service'
            'start-sleep'
            'start-transcript'
            'stop-process'
            'stop-service'
            'stop-transcript'
            'suspend-service'
            'tee-object'
            'test-path'
            'trace-command'
            'update-formatdata'
            'update-typedata'
            'where-object'
            'write-debug'
            'write-error'
            'write-host'
            'write-output'
            'write-progress'
            'write-verbose'
            'write-warning')
          TokenTypes = 4
        end>
      HighlightPos = cpAny
      IgnoreAsParent = False
    end
    item
      DisplayName = 'Types'
      StyleName = 'Id type'
      BlockType = btTagDetect
      ConditionList = <
        item
          TagList.Strings = (
            'bool'
            'float'
            'int'
            'string')
          TokenTypes = 4
          IgnoreCase = True
        end>
      HighlightPos = cpAny
      IgnoreAsParent = False
    end
    item
      DisplayName = '{'
      ConditionList = <
        item
          TagList.Strings = (
            '{')
          TokenTypes = 8
        end>
      BlockEnd = '}'
      DisplayInTree = False
      RefToCondEnd = True
      HighlightPos = cpAny
      CollapseFmt = '{ ... }'
      IgnoreAsParent = False
    end
    item
      DisplayName = '}'
      BlockType = btRangeEnd
      ConditionList = <
        item
          TagList.Strings = (
            '}')
          TokenTypes = 8
        end>
      HighlightPos = cpAny
      IgnoreAsParent = False
    end
    item
      DisplayName = 'Block comment'
      BlockName = 'Block comment'
      NotParent = True
      AlwaysEnabled = True
      ConditionList = <
        item
          TokenTypes = 2
        end>
      BlockEnd = 'Block comment end'
      DisplayInTree = False
      HighlightPos = cpBound
      CollapseFmt = '<# ... #>'
      IgnoreAsParent = False
    end
    item
      DisplayName = 'Block comment end'
      BlockName = 'Block comment'
      StrictParent = True
      AlwaysEnabled = True
      BlockType = btRangeEnd
      ConditionList = <
        item
          CondType = tcNotEqual
          TokenTypes = 2
        end
        item
          TokenTypes = 2
        end>
      BlockOffset = 1
      HighlightPos = cpBound
      IgnoreAsParent = False
    end
    item
      DisplayName = 'Func'
      ConditionList = <
        item
          TokenTypes = 4
        end
        item
          TagList.Strings = (
            'function')
          TokenTypes = 4
          IgnoreCase = True
        end>
      NameFmt = 'func %sz-1'
      HighlightPos = cpAny
      NoEndRule = True
      IgnoreAsParent = False
    end>
  CodeTemplates = <>
  SubAnalyzers = <>
  SampleText.Strings = (
    '# Convert any text file to UTF-8'
    
      'param( [string] $infile = $(throw "Please specify a filename.") ' +
      ')'
    '$outfile = "$infile.utf8"'
    'get-content -Path $infile | out-file $outfile -encoding utf8'
    ''
    '$s = "My name is `"Joe"", hi" + '#39'Joe'#39#39'test'#39' test'
    '$string = @"'
    'one'
    '"@'
    ''
    '<# Block comment'
    '#>')
  TokenTypeNames.Strings = (
    'Unknown'
    'Comment'
    'Identifier'
    'Symbol'
    'String'
    'Number'
    'StringHere')
  Extentions = 'ps1'
  LexerName = 'PowerShell'
  Notes.Strings = (
    'Alexey (SynWrite)'
    'Test: http://www.robvanderwoude.com/powershellexamples.php')
  LineComment = '# '
  Charset = DEFAULT_CHARSET
end
