From e2eb1f14b422a05eecdb375c80055f215ff76ee0 Mon Sep 17 00:00:00 2001 From: Dominik Jain Date: Mon, 13 Apr 2026 16:52:10 +0200 Subject: [PATCH] JetBrainsFindSymbolTool: Force search_deps=True if relative path to ext. file Improve changelog entry --- CHANGELOG.md | 5 ++++- src/serena/tools/jetbrains_tools.py | 6 +++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 71defb80..4c0ab4b7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,10 @@ Status of the `main` branch. Changes prior to the next official version change w - Extended the list of always ignored directories (by language servers) with common cases. JetBrains: - - Minor fixes in handling `relative_path` for external dependencies. + - Improve handling of `relative_path` parameter + - Improve its documentation to avoid usage errors + - Replace escaped characters in `relative_path` with their unescaped counterparts (< and >) + - `FindSymbolTool`: Force `search_deps=True` if `relative_path` pertains to external dependencies. * Language Servers: - Add mSL (mIRC Scripting Language) support (custom pygls-based language server; symbols, references, definitions) diff --git a/src/serena/tools/jetbrains_tools.py b/src/serena/tools/jetbrains_tools.py index c91833aa..9e217090 100644 --- a/src/serena/tools/jetbrains_tools.py +++ b/src/serena/tools/jetbrains_tools.py @@ -74,11 +74,15 @@ class JetBrainsFindSymbolTool(Tool, ToolMarkerSymbolicRead, ToolMarkerOptional): depth = 0 # ignore user-specified depth if body is requested name_path_pattern = self._sanitize_input_param(name_path_pattern) + if relative_path: relative_path = self._sanitize_input_param(relative_path) - if relative_path == ".": relative_path = None + + if relative_path is not None and relative_path.startswith(jb.JB_EXTERNAL_FILE_PREFIX): + search_deps = True + with JetBrainsPluginClient.from_project(self.project) as client: if include_body: include_quick_info = False