Commit Graph
1448 Commits
Author SHA1 Message Date
MischaPanch f45c22045a Minor additions to readme, changelog [ci skip] 2025-10-19 12:55:34 +02:00
youM 6a28fff9d0 Feature: Support Scala Language (#528)
Unlike other language servers, metals LS only works properly when the project has been compiled in a particular way. Compiling like this on the fly or in CI is unfeasible, so instead, we expect the user to setup and compile the project correctly when using Serena for scala. Extensive documentation has been added.

Scala tests exist, but we don't run them in CI. They have been executed manually on macOS and Windows, thereby verifying that after following the instructions, Scala support works in Serena.
2025-10-19 12:47:52 +02:00
Dominik Jain 19b56d94bb Support rename_symbol for JetBrains 2025-10-17 18:10:05 +02:00
Dominik Jain 4d7072d9ed Fix mypy issues 2025-10-17 14:32:08 +02:00
Dominik Jain 89340ef197 Fix project-specific information (prompt, encoding, etc.) not being provided
when the project is activated at startup (ActivateProjectTool not applied)

Peripheral change: Move MemoriesManager into module 'project',
moving the instance into the Project instance, because memories are strictly
associated with the project

Fixes #681
2025-10-17 13:40:57 +02:00
Dominik Jain ef4c19c586 Merge pull request #674 from oraios/use-project-encoding 2025-10-17 00:50:03 +02:00
Dominik Jain 5d7aeb680f Intelephense: Account for spaces in launch command (use robust list syntax instead of string) 2025-10-16 22:35:50 +02:00
Dominik Jain 3cde03a8fb Introduce constant for Serena file encoding
* SERENA_FILE_ENCODING for Serena-specific files (config files, memories)
 * DEFAULT_SOURCE_FILE_ENCODING for source files (renamed from DEFAULT_ENCODING)
2025-10-16 22:10:35 +02:00
Nickolay Kondratyev b1d9ac5765 [README-only-change]: Add quotes around /home/nickolaykondratyev/git_repos/nickolay-kondratyev_serena per shell best practices (#679)
If someone uses spaces in file names /home/nickolaykondratyev/git_repos/nickolay-kondratyev_serena is likely to not work as expected due to argument splitting (hopefully people arent using spaces, but its best practice to quote everything in shell)
2025-10-16 20:10:38 +02:00
Nickolay Kondratyev fd8b0174f4 [README-only-change]: Add section for git worktree usage (#680) 2025-10-16 20:09:40 +02:00
Michael Panchenko 5dfb8ad912 Merge pull request #676 from oraios/minor_fix_in_ignored_path
Minor fix in ignored path
2025-10-16 18:34:44 +02:00
MischaPanch e1ba1befa9 Bugfix - special handling of edge case in ignore patterns
Was falsely matching project root against something like ".*" in gitignore
2025-10-16 18:05:51 +02:00
Dominik Jain 4e3db0bd09 Consistently use the project's encoding setting, also passing it on the LS 2025-10-16 15:04:06 +02:00
Dominik Jain 563e42efbd Add encoding entry to project.yml template (supported since 20th June) 2025-10-16 13:56:51 +02:00
Michael PanchenkoandDon Syme 25da7a505f Add rename_symbol method (#660)
Tested through a snapshot test on python. Calling the tool with language servers not supporting renaming will raise an error

Co-authored-by: Don Syme <dsyme@users.noreply.github.com>
2025-10-16 12:12:20 +02:00
Yen f2919f11c5 Add rego language support (#670)
Also added an ignore rule for ruff (about unused unpacked variables), we might reintroduce this rule later
2025-10-15 22:46:25 +02:00
Dominik Jain 39a11657a9 Project.validate_relative_path: Make handling of ignored files explicit #672 2025-10-15 18:16:55 +02:00
Michael Panchenko 5f114d9e05 Merge pull request #669 from Anivie/fix_rust_analyzer
Fix 'Failed to deserialize config field at /cargo/cfgs' error from rust analyzer
2025-10-15 11:16:05 +02:00
dc31e4e27e fix(nix): resolve build issues and add CI verification (#668)
* ci: add Nix build verification to pytest workflow

Add a verification step to the CI pipeline that validates the Nix package builds successfully on each run. The step uses 'nix build --no-link' to verify the flake builds without creating artifacts.

This provides early detection of Nix packaging issues with minimal overhead, reusing the existing Nix installation on Linux and macOS runners.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>

* fix(nix): add setuptools to ruamel-yaml-clib build dependencies

Add pyproject override to ensure ruamel-yaml-clib has setuptools available during build. This fixes Nix build failures where the package requires setuptools but doesn't declare it as a native build input.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Happy <yesreply@happy.engineering>
2025-10-15 11:14:32 +02:00
Anivie Michaelis a82d9a9fb9 Update rust_analyzer.py
Fix 'Failed to deserialize config field at /cargo/cfgs' error by rust analyzer
2025-10-15 11:21:02 +08:00
Drew Volz 8abfe58c67 feat(text_utils): add brace expansion for glob patterns (#652)
* adds expand_braces function to handle glob patterns
* updates search_files to use it for include/exclude patterns
* allows for flexible file filtering `**/*.{js,ts}` to match ts/js
2025-10-14 13:15:39 +02:00
Jordan Munch O'HareandJordan Munch O'Hare 675a421287 feat: Elm language support (#667)
Also added Node.js setup to GitHub Actions workflow

---------

Co-authored-by: Jordan Munch O'Hare <git@jordan.munchohare.com>
2025-10-14 10:15:53 +02:00
Michael Panchenko 21af8bf451 Removed LinesRead and mark_file_modified (#666) 2025-10-13 11:37:17 +02:00
Ryuhei Nakano 9b622bcfd5 added support for Perl via Perl::LanguageServer (#656) 2025-10-12 16:07:34 +02:00
intoffset dd239b9f98 Add Markdown language server support with marksman (#655) 2025-10-11 22:36:37 +02:00
Akira TSURUDA e523c42259 feat: add rbenv integration for Ruby LSP server (#628)
* feat: add rbenv integration for Ruby LSP server

Add support for rbenv Ruby version management in the Ruby LSP language server.
This allows Serena to respect project-specific .ruby-version files and use
the appropriate Ruby and bundler versions as specified by rbenv.
2025-10-11 10:36:35 +02:00
Dominik Jain 77213e18d0 Fix outdated heartbeat call and a potential access issue in exception handler 2025-10-07 13:40:02 +02:00
Dominik Jain a317017fe7 SolidLanguageServer.request_full_symbol_tree: Fix ValueError when obtaining relative path
Fixes #627
2025-10-01 22:24:54 +02:00
Dominik Jain 19b9e1cf31 ReplaceRegexTool: Improve tool description #326 2025-10-01 22:14:23 +02:00
Dominik Jain 7d4b8a58b8 Improve response in case of no active project #650 2025-09-30 16:23:09 +02:00
Dominik Jain b5f8bcedac Improve descriptions of ReplaceSymbolBodyTool and ExecuteShellCommandTool 2025-09-30 14:11:43 +02:00
Dominik Jain 69f16bd25b Improve description of ReplaceSymbolBodyTool #576 2025-09-23 16:27:00 +02:00
Dominik Jain 48d23470b1 Fix duplicate exclusion causing an exception; Fixes #636 2025-09-23 10:47:02 +02:00
Dominik Jain 2ad1b7b31f Merge branch 'main' of github.com:oraios/serena 2025-09-22 22:33:39 +02:00
Dominik Jain d606ef573b ListDirTool: Do not skip ignored paths by default 2025-09-22 22:33:35 +02:00
Dominik Jain 9a6ed14d13 Updated interprompt sync commit identifiers (pull) 2025-09-22 22:30:40 +02:00
Michael Panchenko 271e7ad31f Merge pull request #622 from stgmt/fix/linux-arm64-dotnet-runtime
feat: Add configurable runtime dependencies for C# Language Server (ARM64 support)
2025-09-22 11:23:17 +02:00
MischaPanch 55b5772505 Bugfix (dataclass.replace is not inplace) 2025-09-19 18:48:57 +02:00
MischaPanch 91bcc254b1 Removed C# specific explanation in config template 2025-09-19 18:01:15 +02:00
MischaPanch 96aec3f885 Moved logic of handling updates to csharp dependencies to RuntimeDependencyCollection
Removed the RuntimeDependencyLoader
2025-09-19 17:59:10 +02:00
MischaPanch a80fa38d3a Removed built artifacts in kotlin test resources, added .gradle to gitignore 2025-09-19 13:56:32 +02:00
MischaPanch efb99bea25 Merge branch 'main' into fix/linux-arm64-dotnet-runtime 2025-09-19 13:54:28 +02:00
Jakob Steiner a088618240 chore: add support for streamable-http transport for mcp (#632) 2025-09-19 10:47:15 +02:00
maksim.randClaude 8693b89f34 fix: apply Black formatting to sourcekit_lsp.py
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-18 16:51:05 +03:00
maksim.randClaude c8827191c1 fix(swift-lsp): improve CI stability with enhanced delays and retry logic
- Increased CI delay from 10s to 15s for project indexing
- Added retry mechanism when no references found in CI
- Enhanced logging for better CI debugging
- All 3 Swift reference tests now pass locally

The CI environment needs extra time for sourcekit-lsp to fully
index Swift projects and establish cross-file symbol references.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-18 16:36:18 +03:00
maksim.randClaude 3df6ae9f77 feat(csharp-ls): allow runtime dependency overrides via ls_specific_settings
Add configurable runtime dependency system for language servers:
- New RuntimeDependencyLoader for loading platform-specific dependencies
- Extended SerenaConfig with language_server_dependencies field
- Updated configuration template with ARM64 examples
- Modified CSharpLanguageServer to use dependency loader

This enables adding platform support (like ARM64) via YAML configuration
without requiring code changes and PRs.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-18 15:54:43 +03:00
Michael Panchenko 892ef9cf19 Fix typo in readme [ci skip] 2025-09-14 13:22:15 +02:00
MischaPanch 9af410a13e Readme, changelog, minor docstring fix. Added section on sponsoring and VSC/GitHub log [ci skip] 2025-09-13 16:21:03 +02:00
MischaPanch 53ee7f47c0 Missing ruby enty in Language.get_ls_class 2025-09-13 01:11:30 +02:00
Michael Panchenko 5d33a301f3 Allow passing LS implementation specific options. (#524)
* Allow passing LS implementation specific options. Made use of it in csharp and intelephense LS
* Bidirectional mapping from Language to the corresponding LS implementation Use this as key for ls_specifics.

Fix to swift installation in CI authored-by: maksim.r <avalab>
2025-09-13 00:36:21 +02:00