You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			219 lines
		
	
	
		
			6.8 KiB
		
	
	
	
		
			Plaintext
		
	
			
		
		
	
	
			219 lines
		
	
	
		
			6.8 KiB
		
	
	
	
		
			Plaintext
		
	
| //=======================================================================
 | |
| //================ 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	= '\\\r\n', '\\\n\r', '\\\n', '\\\r'	
 | |
| 	end:tag		= @eol
 | |
| 	txt:colorFG	= 0x00A000
 | |
| 
 | |
| lexClass: 	
 | |
| 	name			= c_String	
 | |
| 	parent:dyn		= c_NSI
 | |
| 	children		= c_NSIVars
 | |
| 	start:Tag		= '"'
 | |
| 	skip:Tag		= '\\"', '\\\r\n', '\\\n\r', '\\\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
 | |
| 
 |