Commit Graph
1374 Commits
Author SHA1 Message Date
youta ogino 4f49f435e5 fix: preserve file permissions in download_and_extract_archive (#549)
* fix: preserve file permissions in download_and_extract_archive
2025-08-27 15:55:46 +02:00
MischaPanch 51f708025b Merge branch 'main' of github.com:oraios/serena 2025-08-27 15:34:38 +02:00
MischaPanch 7a31755283 CLI: catch broader exception in indexing [ci skip] 2025-08-27 15:34:24 +02:00
Michael Panchenko 4cb1683c5a Merge pull request #548 from quangtruongnb/main
Upgrade gradle to 8.14.2 and disable gradle wrapper for java 21 compatibility
2025-08-27 10:00:15 +02:00
Michael Panchenko 959d211cf8 Merge pull request #547 from aparod/elixir_nextls
Elixir / NextLS: Add support for the OSX_arm64 platform and update to release v0.23.4
2025-08-27 09:58:52 +02:00
Nguyễn Quang Trường f1fc0dc888 build: upgrade gradle to 8.14.2 and disable wrapper for fava 21 compatibility 2025-08-27 13:58:24 +07:00
Adam Parod 928e257200 Elixir / NextLS: Add support for the OSX_arm64 platform and update to release v0.23.4 2025-08-26 20:38:27 -05:00
MischaPanch 0b47ac8a73 Bump wait_time_for_cross_file_referencing in swift LS 2025-08-26 17:02:26 +02:00
MischaPanch 0699c378c1 Bump wait_time_for_cross_file_referencing in csharp LS 2025-08-26 14:23:57 +02:00
MischaPanch c815a421c0 Minor - removed unused pytest marker, explanation on using solargraph in readme
Also removed solargraph installation from CI
2025-08-26 12:28:30 +02:00
Akira TSURUDAandClaude fd4c3e3ac4 Add Ruby dual language server support with ruby-lsp as primary and Solargraph as experimental (#540)
* Implement Ruby dual language server support with ruby-lsp and Solargraph

- Add ruby-lsp as primary Ruby language server with modern LSP features
- Mark Solargraph as experimental legacy option (ruby_solargraph enum)
- Implement Bundler-first installation strategy for ruby-lsp
- Add Rails project detection and performance optimizations
- Fix LSP protocol compliance for Solargraph (languageId: "ruby")
- Support both .rb and .erb files for ruby-lsp, .rb only for Solargraph
- Address reviewer feedback on dependency management and error handling
- Update test compatibility for dual language server behavior

Co-authored-by: Claude <noreply@anthropic.com>
2025-08-26 12:22:17 +02:00
Michael Panchenko cc818908e8 Merge pull request #533 from splack/main
Fix: Extend Nix symbol ranges to include trailing semicolons
2025-08-26 11:47:31 +02:00
Joe Blow b0ae69e468 fix: Extend Nix symbol ranges to avoid additional semicolon
Add _extend_nix_symbol_range_to_include_semicolon method to prevent
double semicolons
Add test_nix_symbol_replacement_no_double_semicolon to validate the fix
2025-08-26 21:07:54 +12:00
Michael Panchenko fd09f2f7fc Update issue templates 2025-08-25 20:35:21 +02:00
Michael Panchenko f79bbe96f6 Update issue templates [ci skip] 2025-08-25 20:34:40 +02:00
MischaPanch f6ae93ae35 Disable blank issues [ci skip] 2025-08-25 20:07:57 +02:00
Michael Panchenko c8a7b14259 Merge pull request #534 from cdmikechen/fix-conflict-subprocess-key
Fix: Remove conflict key "creationflags" for windows
2025-08-25 12:32:51 +02:00
PC 276f691133 remove confilct key for windows 2025-08-25 14:57:32 +08:00
MischaPanch 51b2b0cea8 Bugfix - max_answer_chars in write_memory was not using _limit_length
So it couldn't just be -1
2025-08-24 00:14:08 +02:00
Michael Panchenko e316cae5c8 Add nix flake (#526)
Adds a nix flake to the project so that nix users can easily execute it.
2025-08-23 23:21:04 +02:00
Jonathan Dickinson 9885570bf8 Add nix flake
Adds a nix flake to the project so that nix users can easily execute it.
2025-08-23 13:45:47 -07:00
Alex Whitney 602f552f7e feat: add Erlang language server support via Erlang LS (#436) 2025-08-23 18:01:28 +02:00
Michael Panchenko d6d1e78fee Merge pull request #523 from oraios/feature/make_max_tokens_configurable
Config enhancement: allow configuring default_max_tool_answer_chars
2025-08-23 17:17:05 +02:00
MischaPanch cd001f3c45 GH: don't setup java twice 2025-08-23 16:47:10 +02:00
MischaPanch 06efd426d8 Extended memory for adding language support 2025-08-23 16:46:57 +02:00
MischaPanch f00205d110 Config enhancement: allow configuring default_max_tool_answer_chars
Replaces the fixed global var that was used before
2025-08-23 16:11:11 +02:00
MischaPanch 09b4caa260 Changelog [ci skip] 2025-08-23 15:52:37 +02:00
cylee 144e1357bd Change kotlin lsp to official https://github.com/Kotlin/kotlin-lsp (#507)
Also added tests for kotlin
2025-08-23 14:27:16 +02:00
MischaPanch 80589726ec Changelog [ci skip] 2025-08-23 00:06:30 +02:00
MischaPanch 5f8ce2b92d Lowered TOOL_DEFAULT_MAX_ANSWER_LENGTH 2025-08-22 23:56:44 +02:00
Dominic Rubas 7e6dbdc9ba Feat: Add Support for Zig, Nix, Lua (#498)
Extensive tests for each of the three languages were added
2025-08-22 23:34:46 +02:00
bzark 47ccc916a4 Added tests for Dart (#521)
* Adding testing support for Dart language; steps 3, 4 & 5 from adding_new_language_support_guide.md
2025-08-22 22:07:12 +02:00
Dominik Jain f83d72cf32 Log time taken for gitignore file discovery/parsing 2025-08-22 18:43:04 +02:00
Dominik Jain 2c23e1151c Remove unused var 2025-08-22 14:57:54 +02:00
Dominik Jain 48a1952cae Set ignore_non_source_files=True in gather_source_files #519 2025-08-22 14:49:48 +02:00
Dominik Jain ac149afac9 Add further exception handle for relative path conversion,
accounting for paths which are not deemed 'absolute' (apparently NUL file on Windows satisfies this) #517
2025-08-22 14:14:08 +02:00
Dominik Jain 7b65979393 Map Windows ARM64 correctly (system='Windows', machine='ARM64', bitness='64bit')
Relates to #479
2025-08-22 09:32:05 +02:00
Piotr Wilkin (ilintar) b299422699 Fix OpenAI tool compatibility (#509)
* Fix OpenAI tool compatibility; add agent mode for OpenAI compatible servers like Llama.cpp; add testcase to verify completeness
2025-08-22 01:30:02 +02:00
Dominik Jain 395fcc4126 Merge pull request #510 from oraios/unify-ignore-logic
Improve handling of ignored files and .gitignore discovery
2025-08-21 23:29:17 +02:00
Dominik Jain 716fbb5296 Remove queue item representation, using absolute paths instead 2025-08-21 22:09:09 +02:00
Dominik Jain b23d883f42 Make sure paths that have invalid relative paths are always ignored
Fixes #506
2025-08-21 19:02:57 +02:00
Dominik Jain a603054cb9 Fix prevention of recursion into ignored directories in gather_source_files
(Used _is_ignored_relative_path instead of is_ignored_path)
2025-08-21 19:02:57 +02:00
Dominik Jain ca8ac45c5e Remove method _is_ignored_dirname
(Randomly ignoring directories starting with '.' is not appropriate)
2025-08-21 19:02:57 +02:00
Dominik Jain 2a388dc22c Incrementally look for .gitignore files in a top-down fashion,
skipping directories that are ignored based on files already discovered

Fixes #453
Probably fixes #470
2025-08-21 19:02:38 +02:00
Dominik Jain ba7943d2ea Improve logging 2025-08-21 17:45:23 +02:00
Vladimir 807ff1f56e refactor: use rustup-managed rust-analyzer instead of bundling (#495)
rust-analyzer now requires rustup to be installed

## Motivation

The previous implementation bundled rust-analyzer binaries that quickly
became outdated and required manual updates to Serena's codebase. This
caused version mismatches between the bundled rust-analyzer and users'
actual Rust toolchain versions.

## Changes

- Remove RuntimeDependency-based binary bundling for rust-analyzer
- Use rustup-managed rust-analyzer from the user's toolchain
- Add automatic installation of rust-analyzer component if missing
- Install rustup with minimal profile in Docker images

## Rationale

Rust development universally relies on rustup for toolchain management.
Unlike some other languages where system packages or bundled binaries
make sense, Rust developers already have rustup installed and expect
tools to use their toolchain's versions.

This approach ensures:
- rust-analyzer always matches the user's Rust version
- No outdated binaries shipped with Serena
- Automatic updates via `rustup update`
- Consistency with Rust ecosystem expectations

The LSP API of rust-analyzer is stable enough that version differences
are not a concern. If users don't have rustup, they'll get a clear error
message - this is acceptable since you cannot meaningfully develop Rust
without rustup.

## Docker Support

Added rustup installation to Docker images to ensure Rust support works
in containerized environments. Uses minimal profile to reduce image size
while still providing full rust-analyzer functionality.
2025-08-20 17:03:16 +02:00
Phuong To 6ebff74f9d fix: add missing osx-x64 runtime dependency for clangd language server (#497) 2025-08-20 11:04:45 +02:00
MischaPanch d5f9071067 Bump version 2025-08-15 13:59:53 +02:00
MischaPanch 4d9cd31e36 Docstring: reminder to escape appropriately in replace_regex (\\n for inserting \n) [ci skip] 2025-08-15 13:43:57 +02:00
MischaPanch 4ce25cad6b Merge branch 'main' of github.com:oraios/serena 2025-08-15 13:39:03 +02:00