_nsi.schclass
上传用户:szled88
上传日期:2015-04-09
资源大小:43957k
文件大小:7k
- //=======================================================================
- //================ Lex class support ====================================
- //=======================================================================
- // lexClass:
- // name = c_CPPString
- // + parent = c_CPP
- // + parent:dyn = c_CPP
- // + children = 0
- // + children = class1, class2, ...
- // + previous:class =
- // + previous:tag =
- // + previous:tag:separators =
- // + start:class =
- // + start:Tag = '"'
- // + skip:Tag = '"'
- // + end:class = //
- // + end:Tag = '"'
- // + end:separators = ' '
- // + Token:tag = 'if', 'for', 'while', 'do'
- // + Token:start:separators =
- // + Token:end:separators =
- /////////////////////////////////////////////////////////////////////////
- //=======================================================================
- //================ Variables support ====================================
- //=======================================================================
- // NON operation - example: @alpha:not
- //
- // @alpha = a-z, A-Z
- // @digit = 0-9
- // @HexDdigit = 0-9, a-f, A-F
- // @specs = "~`!@#$%^&*()_-+=\|{}[];:'",.<>/?"
- // @EOL = End Of Line
- /////////////////////////////////////////////////////////////////////////
- /// Nullsoft Installer configuration file ///
- lexClass:
- parent:file = <*.nsi>
- name = c_NSI
- //caseSensitive = 1
- txt:colorFG = 0x000000
- lexClass:
- name = c_NSICommentSL
- parent:dyn = c_NSI, c_NSIFunctionBlock, c_NSISectionBlock
- children = c_URL
- start:tag =';'
- skip:Tag = '\rn', '\nr', '\n', '\r'
- end:tag = @eol
- txt:colorFG = 0x00A000
- lexClass:
- name = c_String
- parent:dyn = c_NSI
- children = c_NSIVars
- start:Tag = '"'
- skip:Tag = '\"', '\rn', '\nr', '\n', '\r'
- end:Tag = '"', @eol
- txt:colorFG = 0xE00000
- lexClass:
- name = c_NSIFunctionBlock_Start
- parent = c_NSI
- children = c_String
- start:Tag = 'Function'
- end:Separators = @eol
- txt:colorFG = 0x0000FF
-
- lexClass:
- name = c_NSIFunctionBlock_End
- parent = c_NSI, c_NSIFunctionBlock
- children = 0
- start:Tag = 'FunctionEnd'
- end:Separators = @eol
- txt:colorFG = 0x0000FF
- lexClass:
- name = c_NSIFunctionBlock
- parent = c_NSI
- children = c_NSIFunctionBlock_End
- start:CLASS = c_NSIFunctionBlock_Start
- end:CLASS = c_NSIFunctionBlock_End
- Collapsable = 1
- txt:colorFG = 0x909090
- lexClass:
- name = c_NSISectionBlock_Start
- parent = c_NSI
- children = c_String
- start:Tag = 'Section'
- end:Separators = @eol
- txt:colorFG = 0x0000FF
-
- lexClass:
- name = c_NSISectionBlock_End
- parent = c_NSI, c_NSISectionBlock
- children = 0
- start:Tag = 'SectionEnd'
- end:Separators = @eol
- txt:colorFG = 0x0000FF
- lexClass:
- name = c_NSISectionBlock
- parent:dyn = c_NSI
- start:CLASS = c_NSISectionBlock_Start
- end:CLASS = c_NSISectionBlock_End
- Collapsable = 1
- txt:colorFG = 0x909090
- lexClass:
- name = c_NSIAttributes
- ParseOnScreen = 1
- parent:Dyn = c_NSI, c_NSISectionBlock, c_NSIFunctionBlock
- children = 0
- // General installer configuration
- token:tag = 'OutFile', 'Name', 'Caption', 'SubCaption', 'BrandingText'
- token:tag = 'Icon', 'WindowIcon', 'BGGradient', 'SilentInstall', 'SilentUnInstall'
- token:tag = 'CRCCheck', 'MiscButtonText', 'InstallButtonText', 'FileErrorText'
- token:tag = 'SetCompressor', 'LoadLanguageFile'
- // Install directory configuration
- token:tag = 'InstallDirRegKey', 'InstallDir'
- // License page configuration
- token:tag = 'LicenseText', 'LicenseData'
- // Component page configuration
- token:tag = 'ComponentText', 'InstType', 'EnabledBitmap', 'DisabledBitmap', 'SpaceTexts'
- // Directory page configuration
- token:tag = 'DirShow', 'DirText', 'AllowRootDirInstall'
- // Install page configuration
- token:tag = 'InstallColors', 'InstProgressFlags', 'AutoCloseWindow'
- token:tag = 'ShowInstDetails', 'DetailsButtonText', 'CompletedText'
- // Uninstall configuration
- token:tag = 'UninstallText', 'UninstallIcon', 'UninstallCaption'
- token:tag = 'UninstallSubCaption', 'ShowUninstDetails', 'UninstallButtonText'
- token:start:separators = ' ', 't', @eol
- token:end:separators = ' ', 't', @eol
-
- txt:colorFG = 0x0000FF
- txt:bold = 1
- lexClass:
- name = c_NSIInstructions
- ParseOnScreen = 1
- parent:Dyn = c_NSI, c_NSISectionBlock, c_NSIFunctionBlock
- children = 0
- // General purpose, basic instructions
- token:tag = 'SetOutPath', 'File', 'Exec', 'ExecWait', 'ExecShell'
- token:tag = 'Rename', 'Delete', 'RMDir'
- // Registry, INI file reading/writing/deleting instructions
- token:tag = 'WriteRegStr', 'WriteRegExpandStr', 'WriteRegDWORD', 'WriteRegBin', 'WriteINIStr'
- token:tag = 'ReadRegStr', 'ReadRegDWORD', 'ReadINIStr', 'ReadEnvStr'
- token:tag = 'ExpandEnvStrings'
- token:tag = 'DeleteRegValue', 'DeleteRegKey', 'DeleteINISec', 'DeleteINIStr'
- token:tag = 'EnumRegKey', 'EnumRegValue'
- // General purpose, advanced instructions
- token:tag = 'CreateDirectory', 'CopyFiles', 'SetFileAttributes'
- token:tag = 'CreateShortCut', 'GetTempFileName'
- token:tag = 'CallInstDLL', 'RegDLL', 'UnRegDLL'
- token:tag = 'GetFullPathName', 'SearchPath'
- token:tag = 'GetDLLVersion', 'GetDLLVersionLocal'
- token:tag = 'GetFileTime', 'GetFileTimeLocal', 'Nop'
- // Branching, flow control, error checking, user interaction, etc instructions
- token:tag = 'Goto', 'Call', 'Return', 'IfErrors', 'ClearErrors'
- token:tag = 'SetErrors', 'FindWindow', 'SendMessage', 'IsWindow'
- token:tag = 'IfFileExists', 'MessageBox'
- token:tag = 'StrCmp', 'IntCmp', 'IntCmpU'
- token:tag = 'Abort', 'Quit'
- token:tag = 'GetFunctionAddress', 'GetLabelAddress', 'GetCurrentAddress'
- // File and directory i/o instructions
- token:tag = 'FindFirst', 'FindNext', 'FindClose'
- token:tag = 'FileOpen', 'FileClose', 'FileRead', 'FileWrite', 'FileSeek'
- token:tag = 'FileReadByte', 'FileWriteByte'
- // Uninstaller instructions
- token:tag = 'WriteUninstaller'
- // Misc instructions
- token:tag = 'SetDetailsView', 'SetDetailsPrint', 'SetAutoClose'
- token:tag = 'DetailPrint', 'SetShellVarContext', 'Sleep'
- token:tag = 'BringToFront', 'HideWindow'
- token:tag = 'StrCpy', 'StrLen', 'Push', 'Pop', 'Exch', 'IntOp', 'IntFmt'
- // Rebooting support
- token:tag = 'Reboot', 'IfRebootFlag', 'SetRebootFlag'
- // Install Logging Instructions
- token:tag = 'LogSet', 'LogText'
- // Section Management
- token:tag = 'SectionSetFlags', 'SectionGetFlags'
- token:tag = 'SectionSetText', 'SectionGetText'
- token:start:separators = ' ', 't', @eol
- token:end:separators = ' ', 't', @eol
- txt:colorFG = 0x0022FF
- lexClass:
- name = c_NSIFunctionKeywords
- ParseOnScreen = 1
- parent = c_NSIFunctionBlock, c_NSISectionBlock
- children = 0
- token:tag = 'Section', 'SectionIn', 'SectionDivider', 'AddSize'
- token:start:separators = ' ', 't', @eol
- token:end:separators = ' ', 't', @eol
- txt:colorFG = 0x0022FF
- lexClass:
- name = c_NSIVars
- parent:dyn = c_NSI, c_NSIFunctionBlock, c_NSISectionBlock
- start:Tag = '$'
- end:separators = @specs, ' ', 't', @eol
- txt:colorFG = 0xCCAA00