Commit Graph
2136 Commits
Author SHA1 Message Date
Dominik Jain d41b9ec964 Implement dict transformation in symbol overview tools using SymbolDictGrouper,
adding support for the necessary transformations of the final dictionaries
2026-02-13 22:31:32 +01:00
Dominik Jain a1f95902ca Remove _sanitize_symbol_dict, making to_dict fully flexible instead
This fixes a bug: _sanitize_symbol_dict was not recursively applied
to children, causing children to contain superfluous entries
(full location, etc.)

Additional change: Improve factorisation of symbol overview computation
2026-02-13 21:37:08 +01:00
Dominik Jain 2760508269 Add test for symbol key types 2026-02-13 19:20:08 +01:00
Dominik Jain d80c45e7e7 Refactoring: Move jetbrains_plugin_client and jetbrains_types out of tools package
This resolves cyclic import issues
2026-02-13 19:20:08 +01:00
Dominik Jain 798a31b6a7 Implement generic SymbolDictGrouper (and specialisations for LS & JB)
It represents a reasonable compromise between pragmatism and type-safety.
Soundness is checked at runtime, but if the grouper is instantiated statically,
then we immediately detect misspecification.

One example application is implemented in GetSymbolsOverviewTool

Provides basis for #1021
2026-02-13 18:36:05 +01:00
Dominik Jain 66a12eee3c Fix type annotation 2026-02-13 16:38:40 +01:00
Dominik Jain 036a065848 Dashboard: Improve accessibility of logs view
'Overview' and 'Logs' are now tabs instead of menu items
2026-02-13 15:15:26 +01:00
Dominik Jain 88327d6192 Merge pull request #1035 from oraios/limited-log-buffer
Limit the size of the log buffer
2026-02-13 15:02:16 +01:00
Dominik Jain 1ab009ccf5 Limit the size of the log buffer
Fixes #1034
2026-02-13 14:51:10 +01:00
Dominik Jain 21bc996f10 Merge pull request #1028 from oraios/fix-ls-open-file-stale-buffers
LSPFileBuffer: Ensure that file contents are never stale
2026-02-13 12:52:08 +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 1064afceed Merge pull request #1030 from oraios/fix-symbol-body-end
Handle end_col when extracting symbol body
2026-02-13 03:58:23 +01:00
Dominik Jain 256cb61416 DependencyProviders: Allow only lists for commands to ensure robustness 2026-02-13 03:20:13 +01:00
Dominik Jain cd2f6f6717 Update list of LS supporting ls_path 2026-02-13 03:12:28 +01:00
Dominik Jain 8c54806abe Marksman: Use DependencyProvider, fixing run command not working with spaces in path 2026-02-13 03:12:28 +01:00
Dominik Jain 1ab7e0aa97 YamlLanguageServer: Use DependencyProvider, fixing run command not working with spaces in path 2026-02-13 03:02:59 +01:00
Dominik Jain 754806af3e BashLanguageServer: Use DependencyProvider 2026-02-13 02:59:35 +01:00
Dominik Jain c195b2961a Handle end_col when extracting symbol body
Fixes #1029
2026-02-13 02:56:48 +01:00
Dominik Jain 4809d5882b TaploLanguageServer: Use DependencyProvider, fixing run command not working with spaces in path 2026-02-13 02:56:48 +01:00
Dominik Jain 58f2727800 BashLanguageServer: Fix run command failing in case of spaces in path 2026-02-13 02:48:59 +01:00
Dominik Jain 05031e6afb Merge pull request #1000 from oraios/copilot/fix-news-display-logic
Filter news items by installation date
2026-02-13 00:12:13 +01:00
Dominik Jain be155a348e Improve JetBrains usage documentation
Relates to #1027
2026-02-12 21:26:22 +01:00
Dominik Jain 3e71411780 Improve language requirements/alternatives documentation 2026-02-11 21:17:27 +01:00
Dominik Jain d65a99034b Disable Phpactor tests that find references on Windows (takes forever/fails) 2026-02-11 21:02:30 +01:00
Dominik Jain af6ce686ad _postprocess_symbol_collection_response: Apply conversion recursively 2026-02-11 19:42:33 +01:00
Dominik Jain 83c4116257 Merge pull request #1002 from takeokunn/feature/support-phpactor
Add Phpactor as alternative PHP language server
2026-02-11 13:27:31 +01:00
Michael Panchenko d7125fabe1 Merge pull request #1010 from Proton23/fix/add-python-artifacts-to-dockerignore
fix: Add Python artifacts to .dockerignore
2026-02-09 22:16:46 +01:00
Antonio MelilloandCursor 23a860cdc0 fix: Add Python artifacts to .dockerignore
Docker build fails when local .venv directory exists because:
1. COPY . /workspaces/serena/ copies .venv into container
2. RUN uv venv fails with 'virtual environment already exists'

This change prevents the issue by excluding Python development artifacts:
- .venv (virtual environment)
- __pycache__ (Python bytecode cache)
- *.pyc (compiled Python files)
- .pytest_cache (test cache)

These files are not needed for Docker builds as the container creates
its own clean environment.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-09 21:44:03 +01:00
Michael Panchenko 257d0370ee Fix nix hover test - wrong position in test 2026-02-09 12:05:53 +01:00
Dominik Jain 3b707283f0 Fix log message parameters #1004 2026-02-09 02:04:57 +01:00
Dominik Jain c1c54e9936 Merge pull request #1003 from bahaaza/fix/switch-modes-bug
Fix: switch_modes tool silently failing to change modes
2026-02-09 01:56:03 +01:00
Bahaa Zahika 271e2006d2 Fix switch_modes tool silently failing to change modes
set_modes() applied requested modes directly to self._active_modes,
then called _update_active_modes_and_tools() which recreates
_active_modes from scratch (global config -> project config -> CLI
overrides), discarding the change.

Fix: store the requested modes into self._mode_overrides so they
survive the rebuild and take highest priority, matching the behavior
of CLI --mode flags.

Also adds test coverage for set_modes() which was previously untested.

Bug was introduced in commit 40a3075 on Jan 26, 2026.
2026-02-09 01:08:37 +02:00
Michael Panchenko 46d3f11427 Human > AI (for now) 2026-02-07 20:23:18 +01:00
takeokunn e0c2a4ff93 Merge branch 'feature/support-phpactor' of ssh://github.com/takeokunn/serena into feature/support-phpactor
# Conflicts:
#	test/conftest.py
2026-02-08 01:08:26 +09: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 c972380d0a fix(test): remove php_phpactor symlink and add repo alias mapping
Remove the unnecessary php_phpactor -> php symlink. Instead, add a
_LANGUAGE_REPO_ALIASES mapping in conftest.py so that variant language
servers (PHP_PHPACTOR, PYTHON_JEDI, RUBY_SOLARGRAPH) resolve to their
base language's test repository without needing filesystem symlinks.

Addresses review comment on PR #1002.
2026-02-08 01:03:12 +09:00
takeokunn d39967dd67 fix(php): add PHP version validation for Phpactor
Check that the installed PHP version is >= 8.1 before proceeding with
Phpactor setup. Raises RuntimeError with a clear message if the version
is too old, and logs a warning if the version string cannot be parsed.

Addresses review comment on PR #1002.
2026-02-08 01:03:04 +09:00
Dominik Jain ee6b819633 Merge pull request #1001 from oraios/fix-trace-logger
Fix logging of language server process communication, renaming
2026-02-07 15:41:42 +01:00
Dominik Jain 4d0a4f6180 Merge remote-tracking branch 'origin/main' into feature/support-phpactor 2026-02-07 15:03:41 +01: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
copilot-swe-agent[bot]andMischaPanch eff7cc605a Remove test file as requested
Co-authored-by: MischaPanch <35432522+MischaPanch@users.noreply.github.com>
2026-02-07 12:52:30 +00:00
Dominik Jain 8f7ef3b4bf Fix: Use regular logger instead of LSP trace logger in LanguageServerProcess
Previously, even important error cases were not logged at all, because
the trace logger is rarely enabled.

Fixes #999
2026-02-07 13:17:53 +01:00
copilot-swe-agent[bot]andMischaPanch 373baef040 Address code review feedback for consistency
Co-authored-by: MischaPanch <35432522+MischaPanch@users.noreply.github.com>
2026-02-07 12:13:37 +00:00
copilot-swe-agent[bot]andMischaPanch 8c6fdda646 Fix linting and formatting issues
Co-authored-by: MischaPanch <35432522+MischaPanch@users.noreply.github.com>
2026-02-07 12:12:17 +00:00
copilot-swe-agent[bot]andMischaPanch 61891370e4 Add installation date filtering to news display logic
Co-authored-by: MischaPanch <35432522+MischaPanch@users.noreply.github.com>
2026-02-07 12:09:52 +00:00
copilot-swe-agent[bot] 8515abec66 Initial plan 2026-02-07 12:07:29 +00:00
Dominik Jain 60226fdee7 Rename module ls_handler -> ls_process 2026-02-07 12:51:07 +01:00
Dominik Jain 5b18747ece Rename SolidLanguageServerHandler -> LanguageServerProcess 2026-02-07 12:49:44 +01:00
Michael Panchenko fafebdc205 Bump wait_time_for_cross_file_referencing for TS 2026-02-06 23:21:22 +01:00
Michael Panchenko 501f76eb13 Removed obsolete override of _shutdown method in clangd_language_server.py 2026-02-06 16:25:20 +01:00