File tree Expand file tree Collapse file tree 2 files changed +21
-13
lines changed Expand file tree Collapse file tree 2 files changed +21
-13
lines changed Original file line number Diff line number Diff line change 11from  pathlib  import  Path 
22import  os 
3- import  re 
43import  sys 
4+ from  run_markdown  import  _parse_md 
55
6- PAT  =  re .compile (r"^```python\n(.+?)\n```" , re .MULTILINE  |  re .DOTALL )
76TMP_FILE  =  "tmp.py" 
87
98for  filename  in  sys .argv [1 :]:
109    content  =  Path (filename ).read_text ()
11-     blocks  =  PAT . findall (content )
12-     for  i , b  in  enumerate (blocks ):
13-         Path (TMP_FILE ).write_text (b .strip ())
10+     blocks  =  _parse_md (content )
11+     for  i , block  in  enumerate (blocks ):
12+         Path (TMP_FILE ).write_text (block [ "code" ] .strip ())
1413        sys .stdout .write (f"\n { '='  *  40 } \n { filename } { i } \n " )
1514        sys .stdout .flush ()
1615        sys .stdout .write (f"{ '-'  *  40 } \n " )
Original file line number Diff line number Diff line change @@ -162,17 +162,26 @@ def _parse_md(content):
162162    blocks  =  []
163163    current_block  =  None 
164164    in_code_block  =  False 
165+     in_region_block  =  False 
165166
166167    for  i , line  in  enumerate (lines ):
168+         # Check for region start/end markers 
169+         if  "<!-- #region"  in  line :
170+             in_region_block  =  True 
171+         elif  "<!-- #endregion"  in  line :
172+             in_region_block  =  False 
173+             
167174        # Start of Python code block 
168-         if  line .strip ().startswith ("```python" ):
169-             in_code_block  =  True 
170-             current_block  =  {
171-                 "start_line" : i ,
172-                 "end_line" : None ,
173-                 "code" : [],
174-                 "type" : "python" ,
175-             }
175+         elif  line .strip ().startswith ("```python" ):
176+             # Only process code blocks that are NOT inside region blocks 
177+             if  not  in_region_block :
178+                 in_code_block  =  True 
179+                 current_block  =  {
180+                     "start_line" : i ,
181+                     "end_line" : None ,
182+                     "code" : [],
183+                     "type" : "python" ,
184+                 }
176185
177186        # End of code block 
178187        elif  line .strip () ==  "```"  and  in_code_block :
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments