Dominik Jain and Dominik Jain
17c0b2a949
Fix method reference
2025-07-10 00:41:06 +02:00
Dominik Jain and Dominik Jain
403e8905cf
Remove unused method _get_code_file_content [skip ci]
2025-07-10 00:41:06 +02:00
Dominik Jain and Dominik Jain
ee88204cba
Remove obsolete base class ToolInterface
2025-07-10 00:12:13 +02:00
Dominik Jain and Dominik Jain
84e066e647
Remove unnecessary abstraction: MemoriesManagerMDFilesInProject -> MemoriesManager
2025-07-10 00:07:35 +02:00
Dominik Jain and Dominik Jain
aae5dc59b5
Refactoring
...
* Project.is_path_ignored -> Project.is_ignored_relative_path
* SerenaAgent.path_is_gitignored -> Project.is_ignored_path
* SerenaAgent.path_is_inside_project -> Project.is_path_in_project
* SerenaAgent.validate_relative_path -> Project.validate_relative_path
2025-07-10 00:02:05 +02:00
Dominik Jain and Dominik Jain
51d45cfa54
Move create_ls_for_project to Project.create_language_server
2025-07-09 23:45:01 +02:00
Dominik Jain and 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 and Dominik Jain
0057cbef4e
Merge branch 'main' into jetbrains
2025-07-09 23:11:05 +02:00
Dominik Jain and Dominik Jain
cbaf1484f3
Merge branch 'main' of github.com:oraios/serena
2025-07-09 23:10:53 +02:00
Dominik Jain and Dominik Jain
813ab630b4
Fix mypy issues
2025-07-09 23:10:25 +02:00
Dominik Jain and Dominik Jain
3d4d71206f
Update Elixir tests
2025-07-09 23:05:36 +02:00
Dominik Jain and Dominik Jain
528d805aa4
Merge remote-tracking branch 'origin/main' into jetbrains
2025-07-09 23:00:51 +02:00
Dominik Jain and Dominik Jain
d497a07779
Move 'symbol overview' function to SymbolManager to avoid using the LS directly in GetSymbolsOverviewTool
2025-07-09 22:59:41 +02:00
Dominik Jain and 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 and 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 and GitHub
30d51b7a03
Merge pull request #294 from v4rgas/fix/dart
...
Fix runtime dependency check in DartLanguageServer setup
2025-07-09 21:46:41 +02:00
v4rgas
94e76db1d4
Fix runtime dependency check in DartLanguageServer setup
2025-07-09 15:12:14 -04:00
Dominik Jain and Dominik Jain
34db0f1446
Make ReadFileTool independent of language server, adding a read function in Project
2025-07-09 20:10:03 +02:00
Dominik Jain and Dominik Jain
edb07bc823
Move class Project to new module serena.project
2025-07-09 20:05:59 +02:00
Dominik Jain and Dominik Jain
8511888760
Rename module ls_tools -> symbol_tools
...
(They are no longer limited to LS-based tools, as the editing tools can use a different underlying CodeEditor)
2025-07-09 20:05:59 +02:00
Dominik Jain and Dominik Jain
021a6b0831
JetBrainsSymbol: Use line/column as directly returned by client
2025-07-09 20:05:59 +02:00
Dominik Jain and Dominik Jain
3873ca3506
Add CodeEditor creation to Component/Tool (switching between JetBrains- and LS-based variants)
2025-07-09 20:05:59 +02:00
Dominik Jain and Dominik Jain
e989d1f87a
Implement JetBrainsCodeEditor
2025-07-09 20:05:59 +02:00
Dominik Jain and Dominik Jain
19b9bc4e3f
Introduce CodeEditor abstraction, removing all editing functions from SymbolManager
...
and adding LanguageServerCodeEditor as a specialization
2025-07-09 17:20:20 +02:00
Dominik Jain and Dominik Jain
7ffca9b3cb
Add "type: ignore" to untyped inner function
2025-07-09 12:59:16 +02:00
Dominik Jain and Dominik Jain
bd68883d27
Split history src/serena/symbol.py to src/serena/code_editor.py - restore name of source-file
2025-07-09 11:32:08 +02:00
Dominik Jain and Dominik Jain
f70f9ff202
Split history src/serena/symbol.py to src/serena/code_editor.py - resolve conflict and keep both files
2025-07-09 11:32:07 +02:00
Dominik Jain and Dominik Jain
40743d19ad
Split history src/serena/symbol.py to src/serena/code_editor.py - rename source-file to git-split-temp
2025-07-09 11:32:07 +02:00
Dominik Jain and Dominik Jain
4d7f97bb0c
Split history src/serena/symbol.py to src/serena/code_editor.py - rename file to target-name
2025-07-09 11:32:06 +02:00
Dominik Jain and Dominik Jain
955c717c3f
Add JetBrainsGetSymbolsOverviewTool
2025-07-09 11:14:43 +02:00
Michael Panchenko and GitHub
c61ea16870
Merge pull request #292 from almontasser/patch-1
...
Add rust_analyzer RuntimeDependency for Linux Arm64
2025-07-08 16:43:25 +02:00
Mahmoud Almontasser and GitHub
51392f4800
Add rust_analyzer RuntimeDependency for Linux Arm64
2025-07-08 15:38:24 +02:00
Michael Panchenko and GitHub
a78fe030e8
Merge pull request #289 from jjshanks/patch-1
...
Update claude code mcp slash command for loading
2025-07-07 10:39:43 +02:00
Joshua Shanks and GitHub
2dd557d9ee
Update claude code mcp slash command for loading
...
```
> /mcp__serena__initial_instructions
⎿ You are a professional coding agent concerned with one particular codebase. You have
access to semantic coding tools on which you rely heavily for all your work, as well as collection of memory
files containing general information about the codebase. You operate in a frugal and intelligent manner, always
… +186 lines (ctrl+r to expand)
● I'm ready to help you with any coding tasks in the Serena codebase, jjshanks. I have access to semantic code analysis tools and can work
on modifications, analysis, or any other development tasks you need. What would you like me to work on?
```
2025-07-06 17:43:23 -07:00
Michael Panchenko and GitHub
ab9fc74b64
Trigger CI
2025-07-07 00:37:18 +02:00
Michael Panchenko and Michael Panchenko
532a04591e
GH: Use static cache keys
2025-07-07 00:17:56 +02:00
Michael Panchenko and Michael Panchenko
f014682830
GH: removed unnecessary condition on ci skip
...
github checks for that anyway
2025-07-06 23:52:32 +02:00
Michael Panchenko and Michael Panchenko
c8d79786e4
GH: cache gopls and language server deps. Remove terraform-ls intallation
...
terraform-ls is installed on the fly
2025-07-06 23:48:43 +02:00
Michael Panchenko and GitHub
3e1b7e1f56
Merge pull request #265 from oraios/refactoring/simplify_ls_setup
...
Refactoring/simplify ls setup
2025-07-06 23:33:01 +02:00
Joshua Shanks and GitHub
f76ed700fa
Fix X11/XCB crash when running MCP server in empty directories ( #278 )
...
Summary
Fixes X11/XCB crash when running serena-mcp-server in directories without source files
Adds headless environment detection to prevent GUI operations in SSH/WSL/Docker environments
Improves error messages to provide clear guidance when no source files are found
Problem
When running serena-mcp-server --context ide-assistant --project /empty/dir in a headless environment (SSH, WSL, Docker), the application would crash with X11/XCB errors:
[xcb] Unknown sequence number while appending request
[xcb] You called XInitThreads, this is not your fault
[xcb] Aborting, sorry about that.
python: ../../src/xcb_io.c:157: append_pending_request: Assertion `\!xcb_xlib_unknown_seq_number' failed.
Root Cause
Empty directories cause ProjectConfig.autogenerate() to raise a ValueError
The exception handler attempts to show a GUI error dialog using tkinter
In headless environments, tkinter crashes with X11/XCB errors
Solution
Headless Detection: Added is_headless_environment() to detect when running without a display
Skip GUI in Headless: Modified show_fatal_exception_safe() to skip GUI attempts in headless environments
Better Error Messages: Improved the error message for empty projects with clear instructions
2025-07-06 23:21:41 +02:00
Michael Panchenko and Michael Panchenko
6c48a4da20
Merge branch 'main' into refactoring/simplify_ls_setup
...
# Conflicts:
# src/solidlsp/ls.py
2025-07-06 23:16:42 +02:00
Michael Panchenko and Michael Panchenko
1f38ec5f7b
Format, removed unused vars
2025-07-06 23:15:33 +02:00
Michael Panchenko and Michael Panchenko
1c2492c63c
Typo
2025-07-06 22:23:31 +02:00
Michael Panchenko and Michael Panchenko
49679c9318
TF LS: fixed method order execution
...
Previously a method relying on self.logger being set was called before it was set
2025-07-06 22:23:25 +02:00
Michael Panchenko and Michael Panchenko
3981f021c6
Minor simplification of tf LS, formatting
...
Also fixed call to terraform.exe on non-windows platforms
2025-07-06 22:23:21 +02:00
Yen and Michael Panchenko
1df9732390
feature/terraform language server support ( #277 )
...
Adds terraform support
2025-07-06 22:23:18 +02:00
Michael Panchenko and Michael Panchenko
a24dcea427
Formatting, removed unused vars and imports
2025-07-06 22:23:17 +02:00
Michael Panchenko and Michael Panchenko
5102a38fbe
Don't include relative_path in symbol's children dict representation
2025-07-06 22:23:07 +02:00
Dominik Jain and GitHub
bb595eb7e7
Refine runtime dependency helpers ( #286 )
2025-07-06 22:10:11 +02:00
Dominik Jain and Dominik Jain
e306be796f
Pythonify responses from JetBrains plugin server (camelCase -> snake_case)
2025-07-06 20:15:53 +02:00