| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 | 
							- <?xml version="1.0" encoding="UTF-8" ?>
 
- <!-- ==========================================================================\
 
- |
 
- |   To learn how to make your own language parser, please check the following
 
- |   link:
 
- |       https://npp-user-manual.org/docs/function-list/
 
- |
 
- \=========================================================================== -->
 
- <NotepadPlus>
 
- 	<functionList>
 
- 		<!-- ===================================================== [ NppExec ] -->
 
- 		<parser
 
- 			displayName="NppExec"
 
- 			id         ="nppexec_syntax"
 
- 		>
 
- 			<!-- Define NppExec script as the range started by a pair of colons 
 
- 				 and ending right before the next pair of colons or the file's
 
- 				 end, respectively
 
- 			-->
 
- 			<classRange
 
- 				mainExpr="(?x)                     # free-spacing (see `RegEx - Pattern Modifiers`)
 
- 						  (?ims)                   # ignore case, ^ and $ match start/end of line, dot matches newline
 
- 						  ^\h*
 
- 						  ::
 
- 						  .*?
 
- 						  (?=::|\Z)
 
- 						 "
 
- 			>
 
- 				<className>
 
- 					<!-- The script's name is shown without its preceding pair
 
- 						 of colons
 
- 					-->
 
- 					<nameExpr expr="(?im-s)^\h*::\K(?:(.+?)(?=\h*\/{2}|$))" />
 
- 				</className>
 
- 				
 
- 				<!-- Define jump labels as functions. Names are starting with one
 
- 					 or two colons (thus the script's name itself is shown as a
 
- 					 function) and terminated by a line comment, the line's end
 
- 					 or the file's end
 
- 				-->
 
- 				<function
 
- 					mainExpr="(?x)                 # free-spacing (see `RegEx - Pattern Modifiers`)
 
- 							  (?im-s)              # ignore case, ^ and $ match start/end of line, dot doesn't match newline
 
- 							  ^\h*
 
- 							  :{1,2}.+?
 
- 							  \h*(?=\/{2}|$|\Z)
 
- 							 "
 
- 				>
 
- 					 <functionName>
 
- 						<!-- The script name is shown including its preceding pair
 
- 							 of colons, jump labels are shown without the preceding
 
- 							 single colon
 
- 						-->
 
- 						<funcNameExpr expr="(?im-s)\h*(?(?=::)(.+)|(?::\K(.+)))" />
 
- 					</functionName>
 
- 				</function>
 
- 			</classRange>
 
- 		</parser>
 
- 	</functionList>
 
- </NotepadPlus>
 
 
  |