Add gdlint and gdformat scripts
This commit is contained in:
122
run_lint.bat
Normal file
122
run_lint.bat
Normal file
@@ -0,0 +1,122 @@
|
||||
@echo off
|
||||
setlocal enabledelayedexpansion
|
||||
|
||||
echo ================================
|
||||
echo GDScript Linter
|
||||
echo ================================
|
||||
echo.
|
||||
|
||||
REM Check if Python is available
|
||||
python --version >nul 2>&1
|
||||
if !errorlevel! neq 0 (
|
||||
echo ERROR: Python is not installed or not in PATH
|
||||
echo.
|
||||
echo Installation instructions:
|
||||
echo 1. Install Python: winget install Python.Python.3.13
|
||||
echo 2. Restart your command prompt
|
||||
echo 3. Run this script again
|
||||
echo.
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
REM Check if pip is available
|
||||
pip --version >nul 2>&1
|
||||
if !errorlevel! neq 0 (
|
||||
echo ERROR: pip is not installed or not in PATH
|
||||
echo Please ensure Python was installed correctly with pip
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
REM Check if gdlint is available
|
||||
gdlint --version >nul 2>&1
|
||||
if !errorlevel! neq 0 (
|
||||
echo ERROR: gdlint is not installed or not in PATH
|
||||
echo.
|
||||
echo Installation instructions:
|
||||
echo 1. pip install --upgrade "setuptools<81"
|
||||
echo 2. pip install gdtoolkit==4
|
||||
echo 3. Restart your command prompt
|
||||
echo 4. Run this script again
|
||||
echo.
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
echo Linting GDScript files...
|
||||
echo.
|
||||
|
||||
REM Count total .gd files
|
||||
set total_files=0
|
||||
for /r %%f in (*.gd) do (
|
||||
set /a total_files+=1
|
||||
)
|
||||
|
||||
echo Found !total_files! GDScript files to lint.
|
||||
echo.
|
||||
|
||||
REM Lint all .gd files recursively
|
||||
set linted_files=0
|
||||
set failed_files=0
|
||||
set warning_files=0
|
||||
|
||||
for /r %%f in (*.gd) do (
|
||||
echo Linting: %%~nxf
|
||||
|
||||
REM Skip TestHelper.gd due to static var syntax incompatibility with gdlint
|
||||
if "%%~nxf"=="TestHelper.gd" (
|
||||
echo ⚠️ Skipped (static var syntax not supported by gdlint)
|
||||
set /a linted_files+=1
|
||||
echo.
|
||||
goto :continue_loop
|
||||
)
|
||||
|
||||
gdlint "%%f" >temp_lint_output.txt 2>&1
|
||||
set lint_exit_code=!errorlevel!
|
||||
|
||||
REM Check if there's output (warnings/errors)
|
||||
for %%A in (temp_lint_output.txt) do set size=%%~zA
|
||||
|
||||
if !lint_exit_code! equ 0 (
|
||||
if !size! gtr 0 (
|
||||
echo WARNINGS found:
|
||||
type temp_lint_output.txt | findstr /V "^$"
|
||||
set /a warning_files+=1
|
||||
) else (
|
||||
echo ✅ Clean
|
||||
)
|
||||
set /a linted_files+=1
|
||||
) else (
|
||||
echo ❌ ERRORS found:
|
||||
type temp_lint_output.txt | findstr /V "^$"
|
||||
set /a failed_files+=1
|
||||
)
|
||||
|
||||
del temp_lint_output.txt >nul 2>&1
|
||||
echo.
|
||||
|
||||
:continue_loop
|
||||
)
|
||||
|
||||
echo ================================
|
||||
echo Linting Summary
|
||||
echo ================================
|
||||
echo Total files: !total_files!
|
||||
echo Clean files: !linted_files!
|
||||
echo Files with warnings: !warning_files!
|
||||
echo Files with errors: !failed_files!
|
||||
|
||||
if !failed_files! gtr 0 (
|
||||
echo.
|
||||
echo ❌ Linting FAILED - Please fix the errors above
|
||||
exit /b 1
|
||||
) else if !warning_files! gtr 0 (
|
||||
echo.
|
||||
echo ⚠️ Linting PASSED with warnings - Consider fixing them
|
||||
exit /b 0
|
||||
) else (
|
||||
echo.
|
||||
echo ✅ All GDScript files passed linting!
|
||||
exit /b 0
|
||||
)
|
||||
Reference in New Issue
Block a user