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
		
	
| 
											2 years ago
										 | //======================================================================= | ||
|  | //================ 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 | ||
|  | 
 |