diff --git a/src/serena/ls_manager.py b/src/serena/ls_manager.py index 99569095..5c33fa52 100644 --- a/src/serena/ls_manager.py +++ b/src/serena/ls_manager.py @@ -77,8 +77,12 @@ class LanguageServerManager: """ self._language_servers = language_servers self._language_server_factory = language_server_factory - self._default_language_server = next(iter(language_servers.values())) - self._root_path = self._default_language_server.repository_root_path + + @property + def _default_language_server(self) -> SolidLanguageServer: + if len(self._language_servers) == 0: + raise ValueError("No language servers available in the manager") + return next(iter(self._language_servers.values())) @staticmethod def from_languages(languages: list[Language], factory: LanguageServerFactory) -> "LanguageServerManager": @@ -139,9 +143,6 @@ class LanguageServerManager: return LanguageServerManager(language_servers, factory) - def get_root_path(self) -> str: - return self._root_path - def _ensure_functional_ls(self, ls: SolidLanguageServer) -> SolidLanguageServer: if not ls.is_running(): log.warning(f"Language server for language {ls.language} is not running; restarting ...") diff --git a/src/serena/symbol.py b/src/serena/symbol.py index 25111c99..d29876f6 100644 --- a/src/serena/symbol.py +++ b/src/serena/symbol.py @@ -681,9 +681,6 @@ class LanguageServerSymbolRetriever: return info_by_symbol - def get_root_path(self) -> str: - return self._ls_manager.get_root_path() - def can_analyze_file(self, relative_file_path: str) -> bool: return self._ls_manager.has_suitable_ls_for_file(relative_file_path)