mirror of
https://github.com/tiennm99/serena.git
synced 2026-10-12 22:14:54 +00:00
Introduce abstraction DocumentSymbols, which is now returned by request_document_symbols
This commit is contained in:
1 parent
24ea449abf
commit
d8cac3aedb
43 files changed
+198
-165
No files matched your search
@@ -25,7 +25,7 @@ class TestBashLanguageServerBasics:
|
||||
def test_bash_request_document_symbols(self, language_server: SolidLanguageServer) -> None:
|
||||
"""Test request_document_symbols for bash files."""
|
||||
# Test getting symbols from main.sh
|
||||
all_symbols, _root_symbols = language_server.request_document_symbols("main.sh", include_body=False)
|
||||
all_symbols, _root_symbols = language_server.request_document_symbols("main.sh", include_body=False).get_all_symbols_and_roots()
|
||||
|
||||
# Extract function symbols (LSP Symbol Kind 12)
|
||||
function_symbols = [symbol for symbol in all_symbols if symbol.get("kind") == 12]
|
||||
@@ -41,7 +41,7 @@ class TestBashLanguageServerBasics:
|
||||
def test_bash_request_document_symbols_with_body(self, language_server: SolidLanguageServer) -> None:
|
||||
"""Test request_document_symbols with body extraction."""
|
||||
# Test with include_body=True
|
||||
all_symbols, _root_symbols = language_server.request_document_symbols("main.sh", include_body=True)
|
||||
all_symbols, _root_symbols = language_server.request_document_symbols("main.sh", include_body=True).get_all_symbols_and_roots()
|
||||
|
||||
function_symbols = [symbol for symbol in all_symbols if symbol.get("kind") == 12]
|
||||
|
||||
@@ -58,7 +58,9 @@ class TestBashLanguageServerBasics:
|
||||
def test_bash_utils_functions(self, language_server: SolidLanguageServer) -> None:
|
||||
"""Test function detection in utils.sh file."""
|
||||
# Test with utils.sh as well
|
||||
utils_all_symbols, _utils_root_symbols = language_server.request_document_symbols("utils.sh", include_body=False)
|
||||
utils_all_symbols, _utils_root_symbols = language_server.request_document_symbols(
|
||||
"utils.sh", include_body=False
|
||||
).get_all_symbols_and_roots()
|
||||
|
||||
utils_function_symbols = [symbol for symbol in utils_all_symbols if symbol.get("kind") == 12]
|
||||
utils_function_names = [symbol["name"] for symbol in utils_function_symbols]
|
||||
@@ -84,12 +86,16 @@ class TestBashLanguageServerBasics:
|
||||
def test_bash_function_syntax_patterns(self, language_server: SolidLanguageServer) -> None:
|
||||
"""Test that LSP detects different bash function syntax patterns correctly."""
|
||||
# Test main.sh (has both 'function' keyword and traditional syntax)
|
||||
main_all_symbols, _main_root_symbols = language_server.request_document_symbols("main.sh", include_body=False)
|
||||
main_all_symbols, _main_root_symbols = language_server.request_document_symbols(
|
||||
"main.sh", include_body=False
|
||||
).get_all_symbols_and_roots()
|
||||
main_functions = [symbol for symbol in main_all_symbols if symbol.get("kind") == 12]
|
||||
main_function_names = [func["name"] for func in main_functions]
|
||||
|
||||
# Test utils.sh (all use 'function' keyword)
|
||||
utils_all_symbols, _utils_root_symbols = language_server.request_document_symbols("utils.sh", include_body=False)
|
||||
utils_all_symbols, _utils_root_symbols = language_server.request_document_symbols(
|
||||
"utils.sh", include_body=False
|
||||
).get_all_symbols_and_roots()
|
||||
utils_functions = [symbol for symbol in utils_all_symbols if symbol.get("kind") == 12]
|
||||
utils_function_names = [func["name"] for func in utils_functions]
|
||||
|
||||
|
||||
Reference in new issue
Block a user