13 Commits
Author SHA1 Message Date
GuddXzyandGuddXzy 2d2e87763a fix: disable automatic type acquisition in TypeScript backends (#1990)
* fix: disable automatic type acquisition in TypeScript backends

* fix: use shared initialization builder for VTS

Follow review guidance to apply shallow per-key overrides without restoring the ATA default after a user replaces the typescript block. Preserve the legacy settings alias, document the behavior, and cover canonical-key precedence.

---------

Co-authored-by: GuddXzy <267062192+GuddXzy@users.noreply.github.com>
2026-09-08 11:17:35 +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
Therese Stirling c3fe7cf00d TypeScript: stop ignoring source directories named coverage
Both TypeScript language servers hard-ignored any directory named
`coverage` in `is_ignored_dirname`, intending to skip coverage-report
output but matching by bare dirname — which also hid legitimate source
directories named `coverage` (e.g. `src/routes/coverage/`) from symbol
tools. Generated report dirs are already covered by gitignore, so the
hardcoded entry is removed.

Adds a regression test asserting `coverage`/`src`/`lib`/`routes` are not
ignored while `node_modules`/`dist`/`build`/`.git` still are.

Fixes #1523.
2026-05-29 09:31:44 -03:00
Michael Panchenko 64e604630e Merge branch 'main' into feature/cross-package-typescript-references
# Conflicts:
#	CHANGELOG.md
#	src/solidlsp/ls.py
2026-05-04 14:26:20 +02:00
meir lixenbrgandClaude Opus 4.6 34575f9898 Add support for additional_workspace_folders, currently only for TS
The TypeScript language server was initialized with a single workspace folder,
so tsserver could not discover references across sibling packages in a monorepo.

This adds an `additional_workspace_folders` setting in
`ls_specific_settings` that accepts a list of directory paths.
Each folder is registered as an LSP workspace folder during initialization,
and a representative .ts file is opened from each to trigger tsserver project
loading. This enables `find_referencing_symbols` and `request_references` to
return results from across package boundaries.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-04 14:22:20 +02:00
Dominik Jain 90d6f2cde8 Merge remote-tracking branch 'origin/main' into features/diagnostics_and_ls_extensions
Conflicts:
	CHANGELOG.md
2026-04-30 18:25:22 +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
Robin Jehn 37c837ffd3 Send languageId 'typescriptreact' / 'javascriptreact' for .tsx / .jsx files (#1436)
* Fix: send languageId 'typescriptreact' / 'javascriptreact' for .tsx / .jsx

Without this, .tsx files are opened with languageId 'typescript', so
tsserver parses JSX as syntax errors and recovers by truncating the
enclosing symbol's range at the first multi-line JSX expression. The
resulting symptoms:

- find_symbol(name, include_body=True) on a React component returns a
  body that ends mid-component, hiding everything below.
- The same component shows up as multiple Method-kind symbols (one per
  call site) plus a separately-tracked Constant for the definition,
  because tsserver mistakes JSX-tag tokens for member access.

Reproducer (before fix, real-world TSX file):
  SidebarPDF range = [11:1-25:207]   (truncated at first JSX, line 25)
After fix:
  SidebarPDF range = [11:1-281:2]    (full body)

The base SolidLanguageServer._get_language_id_for_file is explicitly
designed for this — its docstring says "Override in subclasses to
return file-specific language IDs." This change just exercises that
hook for the React file extensions.

Adds a regression test + jsx_component.tsx fixture covering the same
arrow-function-with-multi-line-JSX-ternary pattern that triggers the
truncation in real codebases (see oraios/serena#1029 for an earlier
report whose root cause was not identified).
2026-04-29 18:03:41 +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
Dominik Jain d8cac3aedb Introduce abstraction DocumentSymbols, which is now returned by request_document_symbols 2025-11-12 03:46:18 +01:00
Dominik Jain 719a2c55a8 Update references to multilspy and update READMEs 2025-06-23 20:47:27 +02:00