19 Commits
Author SHA1 Message Date
Dominik Jain 3ad4044c69 Enable ty rule 'unresolved-attribute' for test/ 2026-09-18 13:08:36 +02:00
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
Tyce Herrman 96ee9b65e2 Add BasedPyright as alternative LSP for Python (#1705) 2026-07-21 20:11:32 +02:00
Dominik Jain d0aea5fd06 Update test snapshots following updates to symbol delete logic, improving base Python file
(which contained atypical comments)
2026-07-17 16:58:21 +02:00
Dominik Jain 6e518b5f7c Refactor search in files/iterative file processing
* Introduce abstractions: FileCollection, FileProxy
* Unify handling of pattern search in project files
  (source code vs. all files)

This prepares for processing of external files,
which can implement FileProxy differently.
2026-07-01 14:32:37 +02:00
Michael Panchenko bd7e64e85a Fixed diagnostics files uri handling, added low-level tests 2026-04-29 23:52:26 +02:00
Michael Panchenko c55e0c900e Diagnostics, implementation and definition tools (WIP) 2026-04-29 23:52:26 +02:00
Michael Panchenko ece96a1649 Tests: improve tests for python (inspired by #1199) 2026-04-06 13:06:02 +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
Dominik Jain 15ab4e7747 Move test_utils to util package 2026-02-24 11:29:06 +01:00
Dominik Jain 37965666be LSPFileBuffer: Ensure that file contents are never stale by monitoring file modification date
For every read access on .contents, check for external file modification
and re-read if necessary, invalidating the content hash as well.

Fixes #1013
2026-02-13 12:48:12 +01:00
Dominik Jain c2e795fce4 Ensure memory-efficient high-level document symbol cache #944
* Introduce SymbolBody representation (compact), from which the
    body can be reconstructed, rendering body computation lazy
  * Introduce SymbolBodyFactory for the creation of such instances,
    ensuring that instances created from the same factory share
    the same file content, allowing the in-memory and on-disk caches
    to have a significantly smaller memory footprint
  * Change type of "body" key in UnifiedSymbolRepresentation to use
    SymbolBody instead of str
  * Adjust all usages of the "body" key
2026-01-22 01:39:59 +01:00
Dominik Jain 43001eca68 Attempt to fix Ubuntu CI failure by improving LS lifecycle management in tests #788 2025-12-05 14:34:51 +01:00
Dominik Jain d8cac3aedb Introduce abstraction DocumentSymbols, which is now returned by request_document_symbols 2025-11-12 03:46:18 +01:00
Dominik Jain a7cc0f16b5 Make overview calls return the full symbol information
instead of creating new low-level data structures.

This enables uniform handling of required conversions in our
higher-level Serena data structures

Fixes #432
2025-08-08 14:09:43 +02:00
Dominik Jain ce9a4ef195 Add retrieve_content_around_line to Project (keeping LS version, too, for the time being),
such that FindReferencingSymbolsTool is now also implemented without a direct reference
to the language server

All references to Component.language_server have been removed
2025-07-09 23:38:20 +02:00
Dominik Jain 75436727d0 Refactoring: Remove names of methods moved to Project:
* search_files_for_pattern -> search_source_files_for_patterh
  * request_parsed_files -> gather_source_files
2025-07-09 22:42:20 +02:00
Dominik Jain c4d89f21e7 Move "search for pattern" functionality from LS to Project,
adding all necessary related functionality:
  * Handling of ignored files
  * Enumeration of source files

Functions removed from SolidLanguageServer:
  * index_repository
  * request_parsed_files
  * search_files_for_pattern

Implement SearchForPatternTool without language server
2025-07-09 22:37:57 +02:00
Dominik Jain 719a2c55a8 Update references to multilspy and update READMEs 2025-06-23 20:47:27 +02:00