{"id":19479674,"url":"https://github.com/deevus/gd-pretty","last_synced_at":"2026-05-17T05:36:36.474Z","repository":{"id":260848902,"uuid":"882237225","full_name":"deevus/gd-pretty","owner":"deevus","description":null,"archived":false,"fork":false,"pushed_at":"2026-02-24T08:17:27.000Z","size":479,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-24T08:21:04.812Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"GDScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/deevus.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-11-02T09:09:25.000Z","updated_at":"2026-02-24T07:30:20.000Z","dependencies_parsed_at":"2024-11-03T03:16:06.592Z","dependency_job_id":"39251a8b-1f16-4faf-9c01-13910b23252f","html_url":"https://github.com/deevus/gd-pretty","commit_stats":null,"previous_names":["deevus/gd-pretty"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/deevus/gd-pretty","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deevus%2Fgd-pretty","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deevus%2Fgd-pretty/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deevus%2Fgd-pretty/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deevus%2Fgd-pretty/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/deevus","download_url":"https://codeload.github.com/deevus/gd-pretty/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deevus%2Fgd-pretty/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33128671,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T18:38:32.183Z","status":"online","status_checked_at":"2026-05-17T02:00:05.366Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-10T19:56:24.135Z","updated_at":"2026-05-17T05:36:36.469Z","avatar_url":"https://github.com/deevus.png","language":"GDScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gd-pretty\n\nAn experimental GDScript code formatter built in Zig using tree-sitter for parsing.\n\n⚠️ **Alpha Software**: This formatter is in early development and may produce incorrect output or crash. Use with caution and always backup your code.\n\n## Current Status\n\nThis is alpha software with limited functionality:\n\n- **Basic formatting** works for simple GDScript files\n- **Many language features** are not yet supported\n- **Output may be incorrect** - always review changes\n- **Breaking changes** expected between versions\n- **Not recommended** for production use\n\n## Installation\n\n### From Release\n\nDownload the latest binary from the [releases page](https://github.com/deevus/gd-pretty/releases).\n\n### Build from Source\n\nRequirements:\n- [Zig 0.14.1+](https://ziglang.org/download/)\n\n```bash\ngit clone https://github.com/deevus/gd-pretty.git\ncd gd-pretty\nzig build\n./zig-out/bin/gd-pretty --help\n```\n\n## Usage\n\n⚠️ **Always backup your files before running the formatter**\n\n### Command Line\n\n```bash\n# Format a single file (BACKUP FIRST!)\ngd-pretty script.gd\n\n# Format multiple files (BACKUP FIRST!)\ngd-pretty player.gd enemy.gd ui/*.gd\n\n# Show help\ngd-pretty --help\n\n# Show version\ngd-pretty --version\n```\n\n\n\n## Language Support Status\n\nMany GDScript features are not yet implemented:\n\n- 🚧 **Classes \u0026 Inheritance**: Partial support\n- 🚧 **Functions**: Basic support, missing advanced features\n- 🚧 **Variables**: Basic support\n- 🚧 **Control Flow**: While loops fully supported, if/for/match statements partial\n- 🚧 **Data Types**: Partial support\n- 🚧 **Operators**: Basic support\n- ❌ **Advanced Features**: Signals, properties, annotations, lambdas mostly unsupported\n- 🚧 **Comments**: Basic preservation\n\nSee [TODO.md](TODO.md) for a detailed list of missing features and known issues.\n\n## Known Issues\n\n- May produce invalid GDScript output\n- Many language constructs not yet supported\n- Limited error handling\n- Performance not optimized\n- Test coverage incomplete\n\n## Development\n\n\n\n### Quick Start\n\n```bash\n# Build and test\nzig build\nzig build test\n\n# Format Zig code\nzig fmt src/**/*.zig\n```\n\n### Architecture\n\n- **Parser**: tree-sitter with GDScript grammar\n- **Formatter**: Depth-first AST traversal with dedicated node handlers\n- **Output**: Buffered writing with indentation management\n- **Testing**: Snapshot testing with input/output file pairs\n\n## Contributing\n\nThis project needs help! Areas where contributions are especially welcome:\n\n1. Implementing missing GDScript language features\n2. Adding test cases\n3. Fixing formatting bugs\n4. Improving error handling\n\nPlease:\n1. Fork the repository\n2. Create a feature branch\n3. Add tests for your changes\n4. Run `zig build test` to ensure all tests pass\n5. Submit a pull request\n\n## License\n\nMIT License. See [LICENSE](LICENSE) for details.\n\n## Changelog\n\nSee [CHANGELOG.md](CHANGELOG.md) for release history and detailed changes.\n\n## Related Projects\n\n- [tree-sitter-gdscript](https://github.com/PrestonKnopp/tree-sitter-gdscript) - GDScript grammar for tree-sitter\n- [Godot](https://godotengine.org/) - Game engine that uses GDScript\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeevus%2Fgd-pretty","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeevus%2Fgd-pretty","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeevus%2Fgd-pretty/lists"}