mirror of
				https://github.com/luc-github/ESP3D.git
				synced 2025-10-24 11:50:52 -07:00 
			
		
		
		
	
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| #!/usr/bin/python
 | |
| 
 | |
| import os
 | |
| import subprocess
 | |
| 
 | |
| def format_sources():
 | |
|     """
 | |
|     Formats the source code files in the ESP3D project using clang-format with Google style.
 | |
| 
 | |
|     This script recursively searches for C, C++, H, and INO files in the ESP3D project directory
 | |
|     and its subdirectories. It then applies the clang-format tool to each file, using the Google
 | |
|     style for formatting.
 | |
| 
 | |
|     Note: Make sure you have clang-format installed and available in your system's PATH.
 | |
| 
 | |
|     Returns:
 | |
|         None
 | |
|     """
 | |
|     # Base directory of the script
 | |
|     script_path = os.path.abspath(__file__)
 | |
| 
 | |
|     # Extract dir path
 | |
|     script_dir = os.path.dirname(script_path)
 | |
| 
 | |
|     # Build path of sources dir: ../esp3d
 | |
|     base_dir = os.path.abspath(os.path.normpath(os.path.join(script_dir, '..', 'esp3d')))
 | |
| 
 | |
|     # Parse all c, h, cpp, and ino files in all directories and subdirectories
 | |
|     file_paths = []
 | |
|     for root, dirs, files in os.walk(base_dir):
 | |
|         for file in files:
 | |
|             if file.endswith(('.c', '.cpp', '.h', '.ino')):
 | |
|                 file_path = os.path.join(root, file)
 | |
|                 file_paths.append(os.path.abspath(os.path.normpath(file_path)))
 | |
| 
 | |
|     # Now format all files one by one with clang-format
 | |
|     for file_path in file_paths:
 | |
|         tmpPath = '"' + file_path + '"'
 | |
|         print("Formatting " + tmpPath, end="")
 | |
|         try:
 | |
|             command = ['clang-format', '-i', '--style=Google', file_path]
 | |
|             subprocess.run(command, check=False)
 | |
|             print(" => Ok")
 | |
|         except subprocess.CalledProcessError as e:
 | |
|             print(f'=> Error: {e}')
 | |
| 
 | |
| # Call the format_sources function to format the source code
 | |
| format_sources()
 |