From add17381b89e79ff4190fbfe36a7d4bf3c138596 Mon Sep 17 00:00:00 2001 From: Michael Panchenko Date: Mon, 28 Apr 2025 15:44:16 +0200 Subject: [PATCH] Multislpy: added minor util (SymbolUtils) --- src/multilspy/multilspy_utils.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/multilspy/multilspy_utils.py b/src/multilspy/multilspy_utils.py index c87f6e6..75f023a 100644 --- a/src/multilspy/multilspy_utils.py +++ b/src/multilspy/multilspy_utils.py @@ -17,6 +17,7 @@ from enum import Enum from multilspy.multilspy_exceptions import MultilspyException from pathlib import PurePath, Path from multilspy.multilspy_logger import MultilspyLogger +from multilspy.multilspy_types import UnifiedSymbolInformation class TextUtils: @@ -322,3 +323,13 @@ class PlatformUtils: except (FileNotFoundError, subprocess.CalledProcessError): raise MultilspyException("dotnet or mono not found on the system") + +class SymbolUtils: + @staticmethod + def symbol_tree_contains_name(roots: list[UnifiedSymbolInformation], name: str) -> bool: + for symbol in roots: + if symbol["name"] == name: + return True + if SymbolUtils.symbol_tree_contains_name(symbol["children"], name): + return True + return False