15 Commits
Author SHA1 Message Date
Dominik Jain d2cf18ddcb Refactoring: Rename Language to LanguageServerId
This resolves a long-standing naming issue in Serena & SolidLSP.
2026-07-22 20:55:36 +02:00
Vasil Boychev f631a4bceb PHP: expose file_filter via ls_specific_settings (#1710) (#1711)
- PHP/Intelephense: expose `file_filter` via `ls_specific_settings["php"]`, so that additional
  extensions containing PHP sources (e.g. Drupal's `.module` / `.install` / `.inc` / `.theme`)
  become visible to the symbol tools and are indexed by the language server
- PHP: treat `.phtml` files as PHP sources by default (all PHP language servers)
2026-07-20 11:47:29 +02:00
Fabio Capucci 91a18eb465 add phpantom lsp for php (#1554) 2026-06-28 14:46:27 +02:00
Michael Panchenko bd7e64e85a Fixed diagnostics files uri handling, added low-level tests 2026-04-29 23:52:26 +02:00
Michael Panchenko d30cdf8474 Fix symbol name resolution in selected LS (#1247)
Adds tests for name resolution for each language and fixes the name resolution where tests have failed.

Also:

Extends python tests to cover ty
Extends skipping conditions for several LS (but only when not in CI)
Better test output in CI
Removed a wrong python test (started failing for ty and should have failed for pyright too)
2026-04-01 16:29:00 +02:00
Michael Panchenko 0bbd9e375e Reformat (minor, after replacing black with ruff)
Black dependency created a dependabot warning and couldn't be bumped since it collided with pathspec dependencies. Since ruff can also format, black is not needed. But we now have these small format changes, mostly in test files
2026-03-23 21:10:41 +01:00
Terrance Orletsky 18cee10fa9 Fix PHP symbol retrieval: declare missing Intelephense client capabilities (#1099)
Fix PHP symbol retrieval via Intelephense LSP

* intelephense.py: Add missing client capability declarations for
  documentSymbol (with hierarchical support), references, hover, and
  workspace symbol. Without these, Intelephense does not advertise
  documentSymbolProvider and returns empty results for get_symbols_overview.

Add PHP tests validating hierarchical symbols and LS routing fix

- test_document_symbols_hierarchical_structure: verifies Intelephense
  returns DocumentSymbol[] with class/method hierarchy (not flat
  SymbolInformation[]) when hierarchicalDocumentSymbolSupport is declared

- test_full_symbol_tree_within_file: verifies request_full_symbol_tree
  scoped to sample.php returns Dog/Animal/greet/fetch with Dog containing
  greet as a child (not at root level)

- test_find_symbol_within_php_file: verifies find_symbol with a PHP
  file path (relative_path=) routes to the PHP language server via
  get_language_server() rather than iterating all servers

Peripheral changes:

- symbol.py (LanguageServerSymbolRetriever.find_symbols): When searching
  within a specific file, route to the file-type-appropriate language server
  via get_language_server() instead of querying all servers. This ensures
  PHP files are served by Intelephense and not silently skipped.
2026-03-12 15:19:11 +01:00
Dominik Jain 9cd33aa503 Fully skip Phpactor tests on Windows (can cause hangs) 2026-03-02 00:23:46 +01:00
Dominik Jain 7ce1d0e564 Mark flaky tests with xfail instead of skip 2026-02-24 20:20:27 +01:00
Dominik Jain 558caa0ad5 Disable Phpactor tests in Windows CI #1039 2026-02-14 14:20:25 +01:00
takeokunn 614b035621 fix(tests): auto-skip Phpactor tests if PHP is unavailable
- Add check in conftest.py to disable PHP_PHPACTOR tests when php binary
  is not found
- Refactor test_php_basic.py to use dynamic PHP server list based on
  availability
- Ensure tests for PHP_PHPACTOR are only parametrized if PHP is present
2026-02-14 17:30:59 +09:00
Dominik Jain d65a99034b Disable Phpactor tests that find references on Windows (takes forever/fails) 2026-02-11 21:02:30 +01:00
takeokunn 46fabd69f4 fix(test): merge PHP test classes into TestPhpLanguageServers
Consolidate TestPhpLanguageServer and TestPhpPhpactorLanguageServer
into a single TestPhpLanguageServers class. Both Language.PHP and
Language.PHP_PHPACTOR are now parametrized together, with conditional
branching where the two language servers differ in behavior.

Addresses review comment on PR #1002.
2026-02-08 01:03:17 +09:00
takeokunn 65c24a0df8 feat(php): add Phpactor as alternative PHP language server
- Introduce PHP_PHPACTOR enum and integration in ls_config
- Implement PhpactorServer for PHP with dependency management
- Update docs and changelog for Phpactor support and usage
- Add project template entry for php_phpactor
- Provide tests for Phpactor LSP definition and reference features
2026-02-07 22:40:56 +09:00
Dominik Jain 719a2c55a8 Update references to multilspy and update READMEs 2025-06-23 20:47:27 +02:00