mirror of
				https://github.com/notepad-plus-plus/notepad-plus-plus.git
				synced 2025-11-03 21:14:08 +01:00 
			
		
		
		
	Fix #713, fix #1870, fix #2216, fix #2360, fix #9004, fix #4855, close #8926, close #9008
		
			
				
	
	
		
			41 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
<?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>
 | 
						|
		<!-- ====================================================== [ Python ] -->
 | 
						|
 | 
						|
		<parser
 | 
						|
			displayName="Python"
 | 
						|
			id         ="python_syntax"
 | 
						|
			commentExpr="(?s:'''.*?''')|(?m-s:#.*?$)"
 | 
						|
		>
 | 
						|
			<classRange
 | 
						|
				mainExpr    ="^class\x20\K.*?(?=\n\S|\Z)"
 | 
						|
			>
 | 
						|
				<className>
 | 
						|
					<nameExpr expr="\w+(?=\s*[\(|:])" />
 | 
						|
				</className>
 | 
						|
				<function
 | 
						|
					mainExpr="\sdef\x20\K.+?(?=:)"
 | 
						|
				>
 | 
						|
					<functionName>
 | 
						|
						<funcNameExpr expr=".*" />
 | 
						|
					</functionName>
 | 
						|
				</function>
 | 
						|
			</classRange>
 | 
						|
			<function
 | 
						|
				mainExpr="\sdef\x20\K.+?(?=:)"
 | 
						|
			>
 | 
						|
				<functionName>
 | 
						|
					<nameExpr expr=".*" />
 | 
						|
				</functionName>
 | 
						|
			</function>
 | 
						|
		</parser>
 | 
						|
	</functionList>
 | 
						|
</NotepadPlus> |