tools/black_check.py (33 lines of code) (raw):

#!/usr/bin/env python3 """Check Python code formatting with black.""" import os import sys from black import main as black_main def main(): print("Checking Python code formatting with black...") # Change to workspace root if we're in a Bazel execroot if "execroot" in os.getcwd(): workspace_root = os.environ.get( "BUILD_WORKSPACE_DIRECTORY", "/home/user/sources/scip-lsp" ) os.chdir(workspace_root) print(f"Changed to workspace directory: {workspace_root}") # Set up black arguments for check mode black_args = ["--check", "--diff", "bsp_server", "tools"] # Temporarily replace sys.argv to pass arguments to black original_argv = sys.argv sys.argv = ["black"] + black_args try: black_main() print("All Python files are properly formatted ✓") return 0 except SystemExit as e: if e.code == 0: print("All Python files are properly formatted ✓") return 0 else: print("Python files need formatting") print("\nRun 'bazel run //tools:black_fix' to fix formatting") return 1 except Exception as e: print(f"Error running black: {e}") return 1 finally: # Restore original sys.argv sys.argv = original_argv if __name__ == "__main__": sys.exit(main())