24 Commits
Author SHA1 Message Date
Dominik Jain 3ad4044c69 Enable ty rule 'unresolved-attribute' for test/ 2026-09-18 13:08:36 +02:00
aayushbaluni d4dbcecaae fix(clojure): declare didChangeWatchedFiles client capability
Serena notifies language servers about files changed outside its own edit tools (a git checkout, another editor, a build step) by sending workspace/didChangeWatchedFiles from LanguageServerManager.poll_and_notify, whose docstring names this exact case: such edits are 'otherwise invisible to a warm language server, causing symbolic queries to answer from a stale index'.

ClojureLSP never declared the corresponding client capability, so clojure-lsp was not told those notifications are sent and need not treat them as a reason to invalidate its analysis. DefaultInitializeParamsBuilder does not supply a default capabilities block, so nothing filled this in on the server's behalf.

Relates to #1593, where find_symbol returned a body from a comment mentioning the symbol rather than its definition, at a position the symbol had previously occupied.
2026-08-17 11:39:28 +05:30
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
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 077dba4d21 Clojure LSP: improve module resolution by parsing source path providers 2026-05-08 01:40:17 +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 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 01ec8465fb Try to re-enable further language tests #788 2025-12-06 13:26:23 +01:00
Dominik Jain 7de68c09c3 Improve handling of languages for which tests are disabled
adding Clojure to list of disabled languages (tests appear to fail randomly)
2025-12-05 20:46:03 +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 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 528d805aa4 Merge remote-tracking branch 'origin/main' into jetbrains 2025-07-09 23:00:51 +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
Michael Panchenko e8e417a18e Refactoring, stage 1: move ls implementations one step up
Paths to jsons were adjusted in the modules, minimal change, tests run through
2025-07-05 12:46:37 +02:00
Michael Panchenko 463ea2e4a7 ruff, minor 2025-07-01 14:46:52 +02:00
Michael Panchenko 6c670f54bd Fix in clojure tests: skipif needs a boolean, not a string 2025-07-01 14:23:22 +02:00
Miguel de Benito Delgado 3bd8c4a944 Factor a couple of constants for clojure tests out 2025-06-29 10:41:17 +02:00
Miguel de Benito Delgado d097171a1a Use pathlib in tests 2025-06-28 21:16:21 +02:00
Miguel de Benito Delgado b95cc78cbd Cosmetic 2025-06-28 20:48:50 +02:00
Miguel de Benito Delgado 151df419ae Skip clojure tests on incompatible or missing cli 2025-06-28 20:37:29 +02:00
Miguel de Benito Delgado f24ee42592 De-fluff 2025-06-28 14:00:21 +02:00
Miguel de Benito Delgado 5cedba39e3 Finish renaming and moving files after move to solidlsp 2025-06-28 11:45:47 +00:00