mirror of
				https://github.com/notepad-plus-plus/notepad-plus-plus.git
				synced 2025-10-31 11:34:05 +01:00 
			
		
		
		
	Use new interfaces SCI_FORMATRANGEFULL, SCI_GETTEXTRANGEFULL, SCI_FINDTEXTFULL from scintilla 5.2.3 Close #11734
		
			
				
	
	
		
			89 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			89 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| {1}%% Correctly defined arguments block{0}
 | |
| {4}function{0} {7}y{0} {6}={0} {7}foo{0} {6}({7}x{6}){0}
 | |
| {1}% Some comment here{0}
 | |
| {1}% And, maybe, here{0}
 | |
| 
 | |
| {4}arguments{0}
 | |
|     {7}x{0} {6}({3}1{6},{3}2{6}){0} {6}{{7}mustBeReal{6}({7}x{6})}{0}
 | |
| {4}end{0}
 | |
| 
 | |
| {7}y{0} {6}={0} {7}x{6}*{3}2{6};{0}
 | |
| {7}arguments{0} {6}={0} {3}1{6};{0}
 | |
| {7}y{0} {6}={0} {7}y{0} {6}+{0} {7}arguments{6};{0}
 | |
| {4}end{0}
 | |
| 
 | |
| {1}%% No arguments block, "arguments" is used {0}
 | |
| {1}%  as a variable name (identifier){0}
 | |
| {1}% Prevent arguments from folding with an identifier{0}
 | |
| {4}function{0} {7}y{0} {6}={0} {7}foo{0} {6}({7}x{6}){0}
 | |
| {1}% Some comment here{0}
 | |
| {7}x{0} {6}={0} {7}x{0} {6}+{0} {3}1{6};{0}
 | |
| {7}arguments{0} {6}={0} {3}10{6};{0}
 | |
| {7}y{0} {6}={0} {7}x{0} {6}+{0} {7}arguments{6};{0}
 | |
| {4}end{0}
 | |
| 
 | |
| {1}% Prevent arguments from folding with a number{0}
 | |
| {4}function{0} {7}y{0} {6}={0} {7}foo{0} {6}({7}x{6}){0}
 | |
| {3}4{0}
 | |
| {7}arguments{0} {6}={0} {3}10{6};{0}
 | |
| {7}y{0} {6}={0} {7}x{0} {6}+{0} {7}arguments{6};{0}
 | |
| {4}end{0}
 | |
| 
 | |
| {1}% With a double quote string{0}
 | |
| {4}function{0} {7}y{0} {6}={0} {7}foo{0} {6}({7}x{6}){0}
 | |
| {8}"test"{0}
 | |
| {7}arguments{0} {6}={0} {3}10{6};{0}
 | |
| {7}y{0} {6}={0} {7}x{0} {6}+{0} {7}arguments{6};{0}
 | |
| {4}end{0}
 | |
| 
 | |
| {1}% With a string{0}
 | |
| {4}function{0} {7}y{0} {6}={0} {7}foo{0} {6}({7}x{6}){0}
 | |
| {5}'test'{0}
 | |
| {7}arguments{0} {6}={0} {3}10{6};{0}
 | |
| {7}y{0} {6}={0} {7}x{0} {6}+{0} {7}arguments{6};{0}
 | |
| {4}end{0}
 | |
| 
 | |
| {1}% With a keyword{0}
 | |
| {4}function{0} {7}y{0} {6}={0} {7}foo{0} {6}({7}x{6}){0}
 | |
| {4}if{0} {7}x{0} {6}=={0} {3}0{6};{0}
 | |
|     {4}return{0} {3}0{6};{0}
 | |
| {4}end{0}
 | |
| {7}arguments{0} {6}={0} {3}10{6};{0}
 | |
| {7}y{0} {6}={0} {7}x{0} {6}+{0} {7}arguments{6};{0}
 | |
| {4}end{0}
 | |
| 
 | |
| {1}% With an operator (illegal syntax){0}
 | |
| {4}function{0} {7}y{0} {6}={0} {7}foo{0} {6}({7}x{6}){0}
 | |
| {6}*{0}
 | |
| {7}arguments{0} {6}={0} {3}10{6};{0}
 | |
| {7}y{0} {6}={0} {7}x{0} {6}+{0} {7}arguments{6};{0}
 | |
| {4}end{0}
 | |
| 
 | |
| {1}% Arguments block is illegal in nested functions,{0}
 | |
| {1}% but lexer should process it anyway{0}
 | |
| {4}function{0} {7}y{0} {6}={0} {7}foo{0} {6}({7}x{6}){0}
 | |
| {4}arguments{0}
 | |
|     {7}x{0} {6}({3}1{6},{3}2{6}){0} {6}{{7}mustBeReal{6}({7}x{6})}{0}
 | |
| {4}end{0}
 | |
| 
 | |
|     {4}function{0} {7}y{0} {6}={0} {7}foo{0} {6}({7}x{6}){0}
 | |
|     {4}arguments{0}
 | |
|         {7}x{0} {6}({3}1{6},{3}2{6}){0} {6}{{7}mustBeReal{6}({7}x{6})}{0}
 | |
|     {4}end{0}
 | |
|     {7}arguments{0} {6}={0} {3}5{6};{0}
 | |
|     {7}y{0} {6}={0} {7}arguments{0} {6}+{0} {7}x{6};{0}
 | |
|     {4}end{0}
 | |
| 
 | |
| {1}% Use as a variable, just in case{0}
 | |
| {7}arguments{0} {6}={0} {3}10{6};{0}
 | |
| {4}end{0}
 | |
| 
 | |
| {1}% Erroneous use of arguments block{0}
 | |
| {4}function{0} {7}y{0} {6}={0} {7}foo{6}({7}x{6}){0}
 | |
| {1}% Some comment{0}
 | |
| {7}x{0} {6}={0} {7}x{0} {6}+{0} {3}1{6};{0}
 | |
| {7}arguments{0}
 | |
|     {7}x{0}
 | |
| {4}end{0}
 | |
| {7}y{0} {6}={0} {7}x{6};{0}
 | |
| {4}end |