About this project

gdls is a standalone language server (LSP) for GDScript that provides diagnostics and navigation without requiring the Godot engine or editor to be running. It is a Rust port of the GDScript tokenizer, parser, and analyzer, designed to be more lightweight than the built-in Godot LSP, particularly for projects with thousands of files. Key capabilities include: - LSP Support: Provides diagnostics, hover, definition, references, completion, signature help, rename, semantic tokens, inlay hints, and call/type hierarchies via JSON-RPC over stdio. - Version Compatibility: A single binary supports both Godot 4.6 and 4.7, determining the target release from the project.godot file. - API Integration: Automatically captures GDExtension classes by running the Godot binary's dump command in the background or using a manual dump file. - High Fidelity: Aims for byte-for-byte diagnostic matching with the original Godot frontend. - Configuration: Supports initialization options for project roots, diagnostic profiles (godot, strict, or off), and integration with external formatters like gdformat.