mirror of
				https://github.com/notepad-plus-plus/notepad-plus-plus.git
				synced 2025-10-31 19:44:06 +01:00 
			
		
		
		
	Use new interfaces SCI_FORMATRANGEFULL, SCI_GETTEXTRANGEFULL, SCI_FINDTEXTFULL from scintilla 5.2.3 Close #11734
		
			
				
	
	
		
			75 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Matlab
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Matlab
		
	
	
	
	
	
| classdef Foo < handle
 | |
| 
 | |
|     % A couple of properties blocks
 | |
|     properties (SetAccess = private)
 | |
|         Var1
 | |
|         Var2
 | |
|     end
 | |
| 
 | |
|     properties
 | |
|         Var3
 | |
|         Var4
 | |
|     end
 | |
| 
 | |
|     methods (Static)
 | |
|         function y = f1(x)
 | |
|             % events, properties and methods are the valid idenifiers
 | |
|             % in the function scope
 | |
|             events = 1;
 | |
|             properties = 2;
 | |
|             y = x + events * properties;
 | |
|         end
 | |
| 
 | |
|         % Any of these words are also valid functions' names inside
 | |
|         % methods block
 | |
|         function y = events(x)
 | |
|             
 | |
|             arguments
 | |
|                 x {mustBeNegative}
 | |
|             end
 | |
| 
 | |
|             y = f2(x)*100;
 | |
|             function b = f2(a)
 | |
|                 b = a + 5;
 | |
|             end
 | |
|         end
 | |
|     end
 | |
| 
 | |
|     % Example events block
 | |
|     events
 | |
|         Event1
 | |
|         Event2
 | |
|     end
 | |
| end
 | |
| 
 | |
| 
 | |
| % Now, let's break some stuff
 | |
| classdef Bar
 | |
| 
 | |
|     properties
 | |
|         % Though MATLAB won't execute such a code, events, properties
 | |
|         % and methods are keywords here, because we're still in the class scope
 | |
|         events
 | |
|         end
 | |
| 
 | |
|         methods
 | |
|         end        
 | |
|     end
 | |
|     
 | |
|     % Not allowed in MATLAB, but, technically, we're still in the class scope
 | |
|     if condition1
 | |
|         if condition2
 | |
|             % Though we're in the class scope, lexel will recognize no
 | |
|             % keywords here: to avoid the neccessaty to track nested scopes,
 | |
|             % it just considers everything beyond level 2 of folding to be
 | |
|             % a function scope
 | |
|             methods
 | |
|             events
 | |
|             properties
 | |
|         end
 | |
|     end
 | |
| 
 | |
| 
 | |
| end
 | |
| 
 |