# Python
__pycache__/
*.py[cod]
*$py.class
*.so
*.pyd
*.dylib
*.egg
*.egg-info/
.eggs/
build/
dist/
wheels/
*.whl

# Environments
.venv/
venv/
env/
.env

# uv
.uv-cache/

# Tooling caches
.pytest_cache/
.mypy_cache/
.ruff_cache/
.coverage
.coverage.*
coverage.xml
htmlcov/

# Docs build
site/
.cache/

# Node / tree-sitter (the generated parser under tree-sitter-gmat/src/ IS committed)
node_modules/
tree-sitter-gmat/build/
*.wasm

# VS Code extension build artifacts (editors/vscode/); source stays committed. dist/ is already
# covered by the global rule above — out/, the test runner's download cache, and packaged .vsix
# files are not.
editors/vscode/out/
editors/vscode/.vscode-test/
*.vsix

# The grammar's queries are vendored into the package by the build hook (hatch_build.py) so the
# wheel and editable installs can load them at runtime; the canonical copies live under
# tree-sitter-gmat/queries/.
src/gmat_script/_grammar/queries/

# IDE / editor
.vscode/
.idea/
*.swp
.DS_Store
