mirror of
https://github.com/tiennm99/serena.git
synced 2026-10-05 14:14:57 +00:00
Introduces Language.ADA backed by AdaCore's Ada Language Server (ALS), the standard LSP-compliant server for Ada — and SPARK, since both share the .ads/.adb file extensions and ALS distinguishes SPARK by source-level pragmas/aspects rather than by file type. ALS is auto-downloaded from AdaCore's GitHub releases (linux-x64/arm64, darwin-x64/arm64, win32-x64) using the LanguageServerDependencyProviderSinglePath pattern, with SHA256 verification per-platform. Users can override the downloaded binary by setting ls_specific_settings.ada.ls_path to a pre-installed ada_language_server (e.g. from Alire, GNAT Studio, or the VS Code Ada extension). Test repo is a minimal multi-file GNAT project (default.gpr, helper.ads, helper.adb, main.adb). Tests modelled on test_php_basic.py: ls_running, find_definition (within/across), find_references (within/across), find_symbol, document_symbols, hierarchical document symbols, bare-symbol-name sanity check.