<?xml version="1.0" encoding="windows-1251"?>
<!--
    Language: Nullsoft install system .nsi script syntax (v1.666)
    URL: http://www.nullsoft.com/free/nsis/
    Maintainer: Artem Zankovich (z_artem@yahoo.com)
    Last Change:  28 Nov 2001
-->
<!DOCTYPE hrc PUBLIC "-//Cail Lomecb//DTD Colorer HRC take5//EN" "../hrc.dtd">
<hrc version="take5" xmlns="http://colorer.sf.net/2003/hrc">
   <type name="nsi" access="public">

      <import type="def"/>

      <region name="nsiNumber" parent="Number"/>
      <region name="nsiString" parent="String"/>
      <region name="nsiComment" parent="Comment"/>
      <region name="nsiWord" parent="Keyword"/>
      <region name="nsiDir" parent="Directive"/>
      <region name="nsiVar" parent="VarStrong"/>
      <region name="nsiLabel" parent="Label"/>
      <region name="nsiError" parent="Error"/>
      <region name="nsiFunction" parent="Function"/>


      <scheme name="nsiCore">
<!-- Comments -->
         <regexp match="/\s*([;#].*$)/" region0="nsiComment"/>
<!-- Numbers -->
         <regexp match="/\b\d+\b/" region0="nsiNumber"/>
         <regexp match="/\b(0)+[0-8]+\b/" region0="nsiNumber"/>
         <regexp match="/\b(0x)+[\da-fA-F]+\b/" region0="nsiNumber"/>
         <keywords ignorecase="yes" region="nsiDir">
<!-- Compiler utility commands -->
            <word name="!system"/>
            <word name="!include"/>
            <word name="!cd"/>
            <word name="!packhdr"/>
<!-- Compiler defines/conditional compilation -->
            <word name="!define"/>
            <word name="!insertmacro"/>
            <word name="!undef"/>
            <word name="!ifdef"/>
            <word name="!ifndef"/>
            <word name="!endif"/>
            <word name="!else"/>
            <word name="!else ifdef"/>
            <word name="!else ifndef"/>
         </keywords>
<!-- Compiler flags -->
         <keywords ignorecase="yes" region="nsiWord">
            <word name="SetOverwrite"/>
            <word name="SetCompressor"/>
            <word name="SetCompress"/>
            <word name="SetDatablockOptimize"/>
            <word name="SetDateSave"/>
         </keywords>
      </scheme>

      <scheme name="nsiVars1">
<!-- The following "variables" are usable anywhere in a string: -->
         <regexp match="/\$\d/" region0="nsiVar"/>
         <regexp match="/\$\\[nr]/" region0="nsiVar"/>
         <regexp match="/\$\{\w+\}/" region0="nsiVar"/>
      </scheme>

      <scheme name="nsiVars2">
         <inherit scheme="nsiVars1"/>
<!-- The following are variables that are usable in Instructions and InstallDir: -->
         <regexp match="/\$(INSTDIR|OUTTDIR|PROGRAMFILES|DESKTOP|EXEDIR|                       WINDIR|SYSDIR|TEMP|STARTMENU|SMPROGRAMS|SMSTARTUP|                       QUICKLAUNCH|HWNDPARENT|CMDLINE|\$)/x" region0="nsiVar" priority="low"/>
      </scheme>

      <scheme name="nsiFS">
         <inherit scheme="nsiCore"/>
<!-- Strings -->
         <block start="/&#34;/" end="/&#34;|[^\\]?#1\s*$/" scheme="nsiVars2" region="nsiString" region00="PairStart" region10="PairEnd"/>
         <block start="/'/" end="/'|[^\\]?#1\s*$/" scheme="nsiVars2" region="nsiString" region00="PairStart" region10="PairEnd"/>
<!-- Labels -->
         <regexp match="/^\s*(\w+[\w\d\-]*\:)/" region0="nsiLabel"/>
<!-- Instructions -->
         <keywords ignorecase="yes" region="nsiWord">
<!-- General purpose, basic instructions -->
            <word name="InitPluginsDir"/>
            <word name="GetFullPathName"/>
            <word name="SetOutPath"/>
            <word name="File"/>
            <word name="Exec"/>
            <word name="ExecWait"/>
            <word name="ExecShell"/>
            <word name="Rename"/>
            <word name="Delete"/>
            <word name="RMDir"/>
<!-- Registry, INI file reading/writing/deleting instructions -->
            <word name="WriteRegStr"/>
            <word name="WriteUnInstaller"/>
            <word name="WriteRegExpandStr"/>
            <word name="WriteRegDWORD"/>
            <word name="WriteRegBin"/>
            <word name="WriteINIStr"/>
            <word name="ReadRegStr"/>
            <word name="ReadRegDWORD"/>
            <word name="ReadINIStr"/>
            <word name="ReadEnvStr"/>
            <word name="ExpandEnvStrings"/>
            <word name="DeleteRegValue"/>
            <word name="DeleteRegKey"/>
            <word name="EnumRegKey"/>
            <word name="EnumRegValue"/>
            <word name="DeleteINISec"/>
            <word name="DeleteINIStr"/>
<!-- General purpose, advanced instructions -->
            <word name="CreateDirectory"/>
            <word name="CopyFiles"/>
            <word name="ReserveFile"/>
            <word name="SetFileAttributes"/>
            <word name="CreateShortCut"/>
            <word name="RegDLL"/>
            <word name="UnRegDLL"/>
            <word name="GetFullDLLPath"/>
            <word name="GetDLLVersion"/>
            <word name="GetDLLVersionLocal"/>
            <word name="GetFileTime"/>
            <word name="GetFileTimeLocal"/>
            <word name="Nop"/>
<!-- Branching, flow control, error checking, user interaction, etc instructions -->
            <word name="Goto"/>
            <word name="Call"/>
            <word name="IfErrors"/>
            <word name="ClearErrors"/>
            <word name="FindWindow"/>
            <word name="SendMessage"/>
            <word name="IsWindow"/>
            <word name="IfFileExists"/>
            <word name="MessageBox"/>
            <word name="StrCmp"/>
            <word name="IntCmp"/>
            <word name="IntCmpU"/>
            <word name="Abort"/>
<!-- File and directory i/o instructions -->
            <word name="FindFirst"/>
            <word name="FindNext"/>
            <word name="FindClose"/>
            <word name="FileOpen"/>
            <word name="FileClose"/>
            <word name="FileRead"/>
            <word name="FileWrite"/>
            <word name="FileSeek"/>
<!-- Misc instructions -->
            <word name="SetDetailsView"/>
            <word name="SetDetailsPrint"/>
            <word name="SetAutoClose"/>
            <word name="DetailPrint"/>
            <word name="Sleep"/>
            <word name="BringToFront"/>
            <word name="HideWindow"/>
            <word name="StrCpy"/>
            <word name="StrLen"/>
            <word name="Push"/>
            <word name="Pop"/>
            <word name="Exch"/>
            <word name="IntOp"/>
            <word name="IntFmt"/>
<!--     <word name="InstNSPlug"/>
     <word name="DeleteNSPlug"/> -->
         </keywords>
      </scheme>

      <scheme name="nsiFunc">
         <inherit scheme="nsiFS"/>
<!-- Callback functions -->
         <keywords ignorecase="yes" region="nsiFunction">
<!-- Install callbacks -->
            <word name=".onInit"/>
            <word name=".onUserAbort"/>
            <word name=".onInstSuccess"/>
            <word name=".onInstFailed"/>
            <word name=".onVerifyInstDir"/>
<!-- Uninstall callbacks -->
            <word name="un.onInit"/>
            <word name="un.onUserAbort"/>
            <word name="un.onUninstSuccess"/>
            <word name="un.onUninstFailed"/>
         </keywords>
         <keywords ignorecase="yes" region="nsiError">
            <word name="Function"/>
            <word name="Section"/>
            <word name="SectionIn"/>
            <word name="SectionEnd"/>
            <word name="SectionDivider"/>
            <word name="AddSize"/>
         </keywords>
      </scheme>

      <scheme name="nsiSect">
         <inherit scheme="nsiFS"/>
         <keywords ignorecase="yes" region="nsiWord">
            <word name="SectionIn"/>
            <word name="AddSize"/>
         </keywords>
         <keywords ignorecase="yes" region="nsiError">
            <word name="Section"/>
            <word name="Function"/>
            <word name="FunctionEnd"/>
         </keywords>
      </scheme>

      <scheme name="nsiSubSect">
         <inherit scheme="nsiFS"/>
         <keywords ignorecase="yes" region="nsiWord">
            <word name="SectionIn"/>
            <word name="AddSize"/>
            <word name="SubSection"/>
            <word name="SubSectionEnd"/>
            <word name="Section"/>
            <word name="SectionEnd"/>
            <word name="Function"/>
            <word name="FunctionEnd"/>
         </keywords>
      </scheme>

      <scheme name="nsiAttr">
         <inherit scheme="nsiCore"/>
<!-- Installer attributes -->
         <keywords ignorecase="yes" region="nsiWord">
<!-- General installer configuration -->
            <word name="OutFile"/>
            <word name="Name"/>
            <word name="Caption"/>
            <word name="SubCaption"/>
            <word name="BrandingText"/>
            <word name="Icon"/>
            <word name="BGGradient"/>
            <word name="SilentInstall"/>
            <word name="CRCCheck"/>
            <word name="MiscButtonText"/>
            <word name="InstallButtonText"/>
            <word name="FileErrorText"/>
            <word name="XPStyle"/>
<!-- Install directory configuration -->
            <word name="InstallDir"/>
            <word name="InstallDirRegKey"/>
<!-- License page configuration -->
            <word name="LicenseText"/>
            <word name="LicenseData"/>
<!-- Component page configuration -->
            <word name="ComponentText"/>
            <word name="InstType"/>
            <word name="EnabledBitmap"/>
            <word name="DisabledBitmap"/>
            <word name="SpaceTexts"/>
<!-- Directory page configuration -->
            <word name="DirShow"/>
            <word name="DirText"/>
<!-- Install page configuration -->
            <word name="InstallColors"/>
            <word name="InstProgressFlags"/>
            <word name="AutoCloseWindow"/>
            <word name="ShowInstDetails"/>
            <word name="DetailsButtonText"/>
            <word name="CompletedText"/>
<!-- Uninstall configuration -->
            <word name="UninstallText"/>
            <word name="UninstallExeName"/>
            <word name="UninstallIcon"/>
            <word name="UninstallCaption"/>
            <word name="UninstallSubCaption"/>
            <word name="ShowUninstDetails"/>
            <word name="UninstallButtonText"/>
         </keywords>
      </scheme>

      <scheme name="nsi">
<!-- Functions list -->
         <regexp match="/\M^\s*(?{Function}Function|Section)\s+(?{Function}\&#34;[^\&#34;]+\&#34;|[^\&#34;\s]+)/i"/>
<!-- Paired -->
         <block start="/^\s*(\!if[n]?def)\b/" end="/^\s*(\!endif)\b/" scheme="nsi" region00="nsiDir" region01="PairStart" region10="nsiDir" region11="PairEnd"/>
         <block start="/^\s*(Function)\s+/" end="/\b(FunctionEnd)\b/" scheme="nsiFunc" region00="nsiWord" region01="PairStart" region10="nsiWord" region11="PairEnd"/>
         <block start="/^\s*(SubSection)\s+/" end="/\b(SubSectionEnd)\b/" scheme="nsiSubSect" region00="nsiWord" region01="PairStart" region10="nsiWord" region11="PairEnd"/>
         <block start="/^\s*(Section)\s+/" end="/\b(SectionEnd)\b/" scheme="nsiSect" region00="nsiWord" region01="PairStart" region10="nsiWord" region11="PairEnd"/>
<!-- Strings -->
         <block start="/&#34;/" end="/&#34;|[^\\]?#1\s*$/" scheme="nsiVars1" region="nsiString" region00="PairStart" region10="PairEnd"/>
         <block start="/'/" end="/'|[^\\]?#1\s*$/" scheme="nsiVars1" region="nsiString" region00="PairStart" region10="PairEnd"/>
         <inherit scheme="nsiCore"/>
         <inherit scheme="nsiAttr"/>
<!-- Sections -->
         <keywords ignorecase="yes" region="nsiWord">
            <word name="Section"/>
            <word name="SectionEnd"/>
            <word name="SectionDivider"/>
         </keywords>
<!-- SubSections -->
         <keywords ignorecase="yes" region="nsiWord">
            <word name="SubSection"/>
            <word name="SubSectionEnd"/>
         </keywords>
<!-- Functions -->
         <keywords ignorecase="yes" region="nsiWord">
            <word name="Function"/>
            <word name="FunctionEnd"/>
         </keywords>
      </scheme>

   </type>
</hrc>