Move components from multilspy to solidlsp

This commit is contained in:
Dominik Jain committed 2025-06-23 16:25:19 +02:00
1 parent f04bd7d65b
commit 27826d89c6
54 files changed
+192 -192

No files matched your search

+1 -1
View File
@@ -2,7 +2,7 @@
This module contains the multilspy API
"""
from . import multilspy_types as Types
from solidlsp import multilspy_types as Types
from .language_server import LanguageServer, SyncLanguageServer
__all__ = ["LanguageServer", "Types", "SyncLanguageServer"]
+26 -21
View File
@@ -19,28 +19,26 @@ from collections import defaultdict
from contextlib import asynccontextmanager, contextmanager
from copy import copy
from pathlib import Path, PurePath
import time
from typing import AsyncIterator, Dict, Iterator, List, Optional, Tuple, Union, cast
import pathspec
import tqdm
from . import multilspy_types
from .lsp_protocol_handler import lsp_types as LSPTypes
from .lsp_protocol_handler.lsp_constants import LSPConstants
from .lsp_protocol_handler.lsp_types import Definition, DefinitionParams, LocationLink, SymbolKind
from .lsp_protocol_handler.server import (
from solidlsp import multilspy_types
from solidlsp.lsp_protocol_handler import lsp_types as LSPTypes, lsp_types
from solidlsp.lsp_protocol_handler.lsp_constants import LSPConstants
from solidlsp.lsp_protocol_handler.lsp_types import Definition, DefinitionParams, LocationLink, SymbolKind
from solidlsp.lsp_protocol_handler.server import (
Error,
LanguageServerHandler,
ProcessLaunchInfo,
StringDict,
)
from .multilspy_config import Language, MultilspyConfig
from .multilspy_exceptions import MultilspyException
from .multilspy_logger import MultilspyLogger
from .multilspy_utils import FileUtils, PathUtils, TextUtils
from .type_helpers import ensure_all_methods_implemented
from .lsp_protocol_handler import lsp_types
from solidlsp.multilspy_config import Language, MultilspyConfig
from solidlsp.multilspy_exceptions import MultilspyException
from solidlsp.multilspy_logger import MultilspyLogger
from solidlsp.multilspy_utils import FileUtils, PathUtils, TextUtils
from solidlsp.type_helpers import ensure_all_methods_implemented
# Serena dependencies
# We will need to watch out for circular imports, but it's probably better to not
@@ -49,7 +47,7 @@ from .lsp_protocol_handler import lsp_types
# since it caches (in-memory) file contents, so we can avoid reading from disk.
# Moreover, the way we want to use the language server (for retrieving actual content),
# it makes sense to have more content-related utils directly in it.
from serena.text_utils import LineType, MatchedConsecutiveLines, TextLine, search_files
from serena.text_utils import MatchedConsecutiveLines, search_files
@@ -217,7 +215,8 @@ class LanguageServer:
self.language = Language(language_id)
# load cache first to prevent any racing conditions due to asyncio stuff
self._document_symbols_cache: dict[str, Tuple[str, Tuple[List[multilspy_types.UnifiedSymbolInformation], List[multilspy_types.UnifiedSymbolInformation]]]] = {}
self._document_symbols_cache: dict[str, Tuple[str, Tuple[List[multilspy_types.UnifiedSymbolInformation], List[
multilspy_types.UnifiedSymbolInformation]]]] = {}
"""Maps file paths to a tuple of (file_content_hash, result_of_request_document_symbols)"""
self._cache_lock = threading.Lock()
self._cache_has_changed: bool = False
@@ -629,7 +628,8 @@ class LanguageServer:
return ret
# Some LS cause problems with this, so the call is isolated from the rest to allow overriding in subclasses
async def _send_references_request(self, relative_file_path: str, line: int, column: int) -> List[lsp_types.Location] | None:
async def _send_references_request(self, relative_file_path: str, line: int, column: int) -> List[
lsp_types.Location] | None:
return await self.server.send.references(
{
"textDocument": {"uri": PathUtils.path_to_uri(os.path.join(self.repository_root_path, relative_file_path))},
@@ -830,7 +830,8 @@ class LanguageServer:
for json_repr in set([json.dumps(item, sort_keys=True) for item in completions_list])
]
async def request_document_symbols(self, relative_file_path: str, include_body: bool = False) -> Tuple[List[multilspy_types.UnifiedSymbolInformation], List[multilspy_types.UnifiedSymbolInformation]]:
async def request_document_symbols(self, relative_file_path: str, include_body: bool = False) -> Tuple[List[
multilspy_types.UnifiedSymbolInformation], List[multilspy_types.UnifiedSymbolInformation]]:
"""
Raise a [textDocument/documentSymbol](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_documentSymbol) request to the Language Server
to find symbols in the given file. Wait for the response and return the result.
@@ -926,7 +927,8 @@ class LanguageServer:
if LSPConstants.CHILDREN in root_symbol:
# TODO: l_tree should be a list of TreeRepr. Define the following function to return TreeRepr as well
def visit_tree_nodes_and_build_tree_repr(node: GenericDocumentSymbol) -> List[multilspy_types.UnifiedSymbolInformation]:
def visit_tree_nodes_and_build_tree_repr(node: GenericDocumentSymbol) -> List[
multilspy_types.UnifiedSymbolInformation]:
node = cast(multilspy_types.UnifiedSymbolInformation, node)
l: List[multilspy_types.UnifiedSymbolInformation] = []
turn_item_into_symbol_with_children(node)
@@ -948,7 +950,8 @@ class LanguageServer:
self._cache_has_changed = True
return result
async def request_full_symbol_tree(self, within_relative_path: str | None = None, include_body: bool = False) -> List[multilspy_types.UnifiedSymbolInformation]:
async def request_full_symbol_tree(self, within_relative_path: str | None = None, include_body: bool = False) -> List[
multilspy_types.UnifiedSymbolInformation]:
"""
Will go through all files in the project or within a relative path and build a tree of symbols.
Note: this may be slow the first time it is called, especially if `within_relative_path` is not used to restrict the search.
@@ -1817,7 +1820,7 @@ class SyncLanguageServer:
self.language_server.request_references(file_path, line, column), self.loop
).result(timeout=self.timeout)
except Exception as e:
from multilspy.lsp_protocol_handler.server import Error
from solidlsp.lsp_protocol_handler.server import Error
if isinstance(e, Error) and getattr(e, 'code', None) == -32603:
raise RuntimeError(
f"LSP internal error (-32603) when requesting references for {file_path}:{line}:{column}. "
@@ -1865,7 +1868,8 @@ class SyncLanguageServer:
).result(timeout=self.timeout)
return result
def request_document_symbols(self, relative_file_path: str, include_body: bool = False) -> Tuple[List[multilspy_types.UnifiedSymbolInformation], List[multilspy_types.UnifiedSymbolInformation]]:
def request_document_symbols(self, relative_file_path: str, include_body: bool = False) -> Tuple[List[
multilspy_types.UnifiedSymbolInformation], List[multilspy_types.UnifiedSymbolInformation]]:
"""
Raise a [textDocument/documentSymbol](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_documentSymbol) request to the Language Server
to find symbols in the given file. Wait for the response and return the result.
@@ -1879,7 +1883,8 @@ class SyncLanguageServer:
).result()
return result
def request_full_symbol_tree(self, within_relative_path: str | None = None, include_body: bool = False) -> List[multilspy_types.UnifiedSymbolInformation]:
def request_full_symbol_tree(self, within_relative_path: str | None = None, include_body: bool = False) -> List[
multilspy_types.UnifiedSymbolInformation]:
"""
Will go through all files in the project and build a tree of symbols. Note: this may be slow the first time it is called.
@@ -11,13 +11,13 @@ import pathlib
from contextlib import asynccontextmanager
from typing import AsyncIterator
from multilspy.multilspy_logger import MultilspyLogger
from solidlsp.multilspy_logger import MultilspyLogger
from multilspy.language_server import LanguageServer
from multilspy.lsp_protocol_handler.server import ProcessLaunchInfo
from multilspy.lsp_protocol_handler.lsp_types import InitializeParams
from multilspy.multilspy_config import MultilspyConfig
from multilspy.multilspy_utils import FileUtils
from multilspy.multilspy_utils import PlatformUtils
from solidlsp.lsp_protocol_handler.server import ProcessLaunchInfo
from solidlsp.lsp_protocol_handler.lsp_types import InitializeParams
from solidlsp.multilspy_config import MultilspyConfig
from solidlsp.multilspy_utils import FileUtils
from solidlsp.multilspy_utils import PlatformUtils
class ClangdLanguageServer(LanguageServer):
@@ -2,13 +2,12 @@ from contextlib import asynccontextmanager
import logging
import os
import pathlib
import shutil
import stat
from typing import AsyncIterator
from multilspy.language_server import LanguageServer
from multilspy.lsp_protocol_handler.server import ProcessLaunchInfo
from solidlsp.lsp_protocol_handler.server import ProcessLaunchInfo
import json
from multilspy.multilspy_utils import FileUtils, PlatformUtils
from solidlsp.multilspy_utils import FileUtils, PlatformUtils
class DartLanguageServer(LanguageServer):
@@ -16,14 +16,14 @@ from typing import AsyncIterator
from overrides import override
from multilspy.multilspy_logger import MultilspyLogger
from solidlsp.multilspy_logger import MultilspyLogger
from multilspy.language_server import LanguageServer
from multilspy.lsp_protocol_handler.server import ProcessLaunchInfo
from multilspy.lsp_protocol_handler.lsp_types import InitializeParams
from multilspy.multilspy_config import MultilspyConfig
from multilspy.multilspy_settings import MultilspySettings
from multilspy.multilspy_utils import FileUtils
from multilspy.multilspy_utils import PlatformUtils
from solidlsp.lsp_protocol_handler.server import ProcessLaunchInfo
from solidlsp.lsp_protocol_handler.lsp_types import InitializeParams
from solidlsp.multilspy_config import MultilspyConfig
from solidlsp.multilspy_settings import MultilspySettings
from solidlsp.multilspy_utils import FileUtils
from solidlsp.multilspy_utils import PlatformUtils
from pathlib import PurePath
@@ -5,18 +5,15 @@ import os
import pathlib
import subprocess
from contextlib import asynccontextmanager
from typing import AsyncIterator, List
from typing import AsyncIterator
from overrides import override
from multilspy import multilspy_types
from multilspy.lsp_protocol_handler import lsp_types
from multilspy.multilspy_exceptions import MultilspyException
from multilspy.multilspy_logger import MultilspyLogger
from solidlsp.multilspy_logger import MultilspyLogger
from multilspy.language_server import LanguageServer
from multilspy.lsp_protocol_handler.server import Error, ProcessLaunchInfo
from multilspy.lsp_protocol_handler.lsp_types import InitializeParams
from multilspy.multilspy_config import MultilspyConfig
from solidlsp.lsp_protocol_handler.server import ProcessLaunchInfo
from solidlsp.lsp_protocol_handler.lsp_types import InitializeParams
from solidlsp.multilspy_config import MultilspyConfig
class Gopls(LanguageServer):
@@ -15,12 +15,12 @@ from typing import AsyncIterator
from overrides import override
from multilspy.multilspy_logger import MultilspyLogger
from solidlsp.multilspy_logger import MultilspyLogger
from multilspy.language_server import LanguageServer
from multilspy.lsp_protocol_handler.server import ProcessLaunchInfo
from multilspy.lsp_protocol_handler.lsp_types import DefinitionParams, InitializeParams
from multilspy.multilspy_config import MultilspyConfig
from multilspy.multilspy_utils import PlatformUtils, PlatformId
from solidlsp.lsp_protocol_handler.server import ProcessLaunchInfo
from solidlsp.lsp_protocol_handler.lsp_types import DefinitionParams, InitializeParams
from solidlsp.multilspy_config import MultilspyConfig
from solidlsp.multilspy_utils import PlatformUtils, PlatformId
class Intelephense(LanguageServer):
"""
@@ -7,15 +7,15 @@ import logging
import os
import pathlib
from contextlib import asynccontextmanager
from typing import AsyncIterator, Tuple
from typing import AsyncIterator
from overrides import override
from multilspy.multilspy_logger import MultilspyLogger
from solidlsp.multilspy_logger import MultilspyLogger
from multilspy.language_server import LanguageServer
from multilspy.lsp_protocol_handler.server import ProcessLaunchInfo
from multilspy.lsp_protocol_handler.lsp_types import InitializeParams
from multilspy.multilspy_config import MultilspyConfig
from solidlsp.lsp_protocol_handler.server import ProcessLaunchInfo
from solidlsp.lsp_protocol_handler.lsp_types import InitializeParams
from solidlsp.multilspy_config import MultilspyConfig
class JediServer(LanguageServer):
@@ -2,7 +2,6 @@
Provides Kotlin specific instantiation of the LanguageServer class. Contains various configurations and settings specific to Kotlin.
"""
import asyncio
import dataclasses
import json
import logging
@@ -12,13 +11,13 @@ import pathlib
from contextlib import asynccontextmanager
from typing import AsyncIterator
from multilspy.multilspy_logger import MultilspyLogger
from solidlsp.multilspy_logger import MultilspyLogger
from multilspy.language_server import LanguageServer
from multilspy.lsp_protocol_handler.server import ProcessLaunchInfo
from multilspy.lsp_protocol_handler.lsp_types import InitializeParams
from multilspy.multilspy_config import MultilspyConfig
from multilspy.multilspy_utils import FileUtils
from multilspy.multilspy_utils import PlatformUtils
from solidlsp.lsp_protocol_handler.server import ProcessLaunchInfo
from solidlsp.lsp_protocol_handler.lsp_types import InitializeParams
from solidlsp.multilspy_config import MultilspyConfig
from solidlsp.multilspy_utils import FileUtils
from solidlsp.multilspy_utils import PlatformUtils
@dataclasses.dataclass
@@ -13,13 +13,13 @@ from typing import AsyncIterator, Iterable
from overrides import override
from multilspy.multilspy_logger import MultilspyLogger
from solidlsp.multilspy_logger import MultilspyLogger
from multilspy.language_server import LanguageServer
from multilspy.lsp_protocol_handler.server import ProcessLaunchInfo
from multilspy.lsp_protocol_handler.lsp_types import InitializeParams
from multilspy.multilspy_config import MultilspyConfig
from multilspy.multilspy_exceptions import MultilspyException
from multilspy.multilspy_utils import FileUtils, PlatformUtils, PlatformId, DotnetVersion
from solidlsp.lsp_protocol_handler.server import ProcessLaunchInfo
from solidlsp.lsp_protocol_handler.lsp_types import InitializeParams
from solidlsp.multilspy_config import MultilspyConfig
from solidlsp.multilspy_exceptions import MultilspyException
from solidlsp.multilspy_utils import FileUtils, PlatformUtils, PlatformId, DotnetVersion
def breadth_first_file_scan(root) -> Iterable[str]:
@@ -3,21 +3,20 @@ Provides Python specific instantiation of the LanguageServer class. Contains var
"""
import asyncio
import json
import logging
import os
import pathlib
import re
from contextlib import asynccontextmanager
from typing import AsyncIterator, Tuple
from typing import AsyncIterator
from overrides import override
from multilspy.multilspy_logger import MultilspyLogger
from solidlsp.multilspy_logger import MultilspyLogger
from multilspy.language_server import LanguageServer
from multilspy.lsp_protocol_handler.server import ProcessLaunchInfo
from multilspy.lsp_protocol_handler.lsp_types import InitializeParams
from multilspy.multilspy_config import MultilspyConfig
from solidlsp.lsp_protocol_handler.server import ProcessLaunchInfo
from solidlsp.lsp_protocol_handler.lsp_types import InitializeParams
from solidlsp.multilspy_config import MultilspyConfig
class PyrightServer(LanguageServer):
@@ -13,13 +13,13 @@ from typing import AsyncIterator
from overrides import override
from multilspy.multilspy_logger import MultilspyLogger
from solidlsp.multilspy_logger import MultilspyLogger
from multilspy.language_server import LanguageServer
from multilspy.lsp_protocol_handler.server import ProcessLaunchInfo
from multilspy.lsp_protocol_handler.lsp_types import InitializeParams
from multilspy.multilspy_config import MultilspyConfig
from multilspy.multilspy_utils import FileUtils
from multilspy.multilspy_utils import PlatformUtils
from solidlsp.lsp_protocol_handler.server import ProcessLaunchInfo
from solidlsp.lsp_protocol_handler.lsp_types import InitializeParams
from solidlsp.multilspy_config import MultilspyConfig
from solidlsp.multilspy_utils import FileUtils
from solidlsp.multilspy_utils import PlatformUtils
class RustAnalyzer(LanguageServer):
@@ -13,13 +13,11 @@ import pathlib
from contextlib import asynccontextmanager
from typing import AsyncIterator, override
from multilspy.multilspy_logger import MultilspyLogger
from solidlsp.multilspy_logger import MultilspyLogger
from multilspy.language_server import LanguageServer
from multilspy.lsp_protocol_handler.server import ProcessLaunchInfo
from multilspy.lsp_protocol_handler.lsp_types import InitializeParams
from multilspy.multilspy_config import MultilspyConfig
from multilspy.multilspy_utils import FileUtils
from multilspy.multilspy_utils import PlatformUtils, PlatformId
from solidlsp.lsp_protocol_handler.server import ProcessLaunchInfo
from solidlsp.lsp_protocol_handler.lsp_types import InitializeParams
from solidlsp.multilspy_config import MultilspyConfig
class Solargraph(LanguageServer):
@@ -16,11 +16,11 @@ from time import sleep
from overrides import override
from multilspy.language_server import LanguageServer
from multilspy.lsp_protocol_handler.lsp_types import InitializeParams
from multilspy.lsp_protocol_handler.server import ProcessLaunchInfo
from multilspy.multilspy_config import MultilspyConfig
from multilspy.multilspy_logger import MultilspyLogger
from multilspy.multilspy_utils import PlatformId, PlatformUtils
from solidlsp.lsp_protocol_handler.lsp_types import InitializeParams
from solidlsp.lsp_protocol_handler.server import ProcessLaunchInfo
from solidlsp.multilspy_config import MultilspyConfig
from solidlsp.multilspy_logger import MultilspyLogger
from solidlsp.multilspy_utils import PlatformId, PlatformUtils
# Platform-specific imports
if os.name != 'nt': # Unix-like systems
+3 -3
View File
@@ -34,9 +34,9 @@ from sensai.util.logging import LOG_DEFAULT_FORMAT, FallbackHandler
from sensai.util.string import ToStringMixin, dict_string
from multilspy import SyncLanguageServer
from multilspy.multilspy_config import Language, MultilspyConfig
from multilspy.multilspy_logger import MultilspyLogger
from multilspy.multilspy_types import SymbolKind
from solidlsp.multilspy_config import Language, MultilspyConfig
from solidlsp.multilspy_logger import MultilspyLogger
from solidlsp.multilspy_types import SymbolKind
from serena import serena_version
from serena.config import SerenaAgentContext, SerenaAgentMode
from serena.constants import (
+1 -1
View File
@@ -11,7 +11,7 @@ from sensai.util.string import ToStringMixin
from multilspy import SyncLanguageServer
from multilspy.language_server import ReferenceInSymbol as LSPReferenceInSymbol
from multilspy.multilspy_types import Position, SymbolKind, UnifiedSymbolInformation
from solidlsp.multilspy_types import Position, SymbolKind, UnifiedSymbolInformation
if TYPE_CHECKING:
from .agent import SerenaAgent
+1 -1
View File
@@ -3,7 +3,7 @@ import os
from collections.abc import Generator
from typing import TypeVar
from multilspy.multilspy_config import Language
from solidlsp.multilspy_config import Language
from serena.util.file_system import find_all_non_ignored_files
T = TypeVar("T")
@@ -9,11 +9,11 @@ import pathlib
import stat
import threading
from multilspy.lsp_protocol_handler.lsp_types import InitializeParams
from multilspy.lsp_protocol_handler.server import ProcessLaunchInfo
from multilspy.multilspy_config import MultilspyConfig
from multilspy.multilspy_logger import MultilspyLogger
from multilspy.multilspy_utils import FileUtils, PlatformUtils
from solidlsp.lsp_protocol_handler.lsp_types import InitializeParams
from solidlsp.lsp_protocol_handler.server import ProcessLaunchInfo
from solidlsp.multilspy_config import MultilspyConfig
from solidlsp.multilspy_logger import MultilspyLogger
from solidlsp.multilspy_utils import FileUtils, PlatformUtils
from solidlsp.ls import SolidLanguageServer
@@ -4,9 +4,9 @@ import os
import pathlib
import stat
from multilspy.lsp_protocol_handler.server import ProcessLaunchInfo
from multilspy.multilspy_logger import MultilspyLogger
from multilspy.multilspy_utils import FileUtils, PlatformUtils
from solidlsp.lsp_protocol_handler.server import ProcessLaunchInfo
from solidlsp.multilspy_logger import MultilspyLogger
from solidlsp.multilspy_utils import FileUtils, PlatformUtils
from solidlsp.ls import SolidLanguageServer
@@ -15,12 +15,12 @@ from pathlib import PurePath
from overrides import override
from multilspy.lsp_protocol_handler.lsp_types import InitializeParams
from multilspy.lsp_protocol_handler.server import ProcessLaunchInfo
from multilspy.multilspy_config import MultilspyConfig
from multilspy.multilspy_logger import MultilspyLogger
from multilspy.multilspy_settings import MultilspySettings
from multilspy.multilspy_utils import FileUtils, PlatformUtils
from solidlsp.lsp_protocol_handler.lsp_types import InitializeParams
from solidlsp.lsp_protocol_handler.server import ProcessLaunchInfo
from solidlsp.multilspy_config import MultilspyConfig
from solidlsp.multilspy_logger import MultilspyLogger
from solidlsp.multilspy_settings import MultilspySettings
from solidlsp.multilspy_utils import FileUtils, PlatformUtils
from solidlsp.ls import SolidLanguageServer
+4 -4
View File
@@ -7,10 +7,10 @@ import threading
from overrides import override
from multilspy.lsp_protocol_handler.lsp_types import InitializeParams
from multilspy.lsp_protocol_handler.server import ProcessLaunchInfo
from multilspy.multilspy_config import MultilspyConfig
from multilspy.multilspy_logger import MultilspyLogger
from solidlsp.lsp_protocol_handler.lsp_types import InitializeParams
from solidlsp.lsp_protocol_handler.server import ProcessLaunchInfo
from solidlsp.multilspy_config import MultilspyConfig
from solidlsp.multilspy_logger import MultilspyLogger
from solidlsp.ls import SolidLanguageServer
@@ -12,11 +12,11 @@ from time import sleep
from overrides import override
from multilspy.lsp_protocol_handler.lsp_types import DefinitionParams, InitializeParams
from multilspy.lsp_protocol_handler.server import ProcessLaunchInfo
from multilspy.multilspy_config import MultilspyConfig
from multilspy.multilspy_logger import MultilspyLogger
from multilspy.multilspy_utils import PlatformId, PlatformUtils
from solidlsp.lsp_protocol_handler.lsp_types import DefinitionParams, InitializeParams
from solidlsp.lsp_protocol_handler.server import ProcessLaunchInfo
from solidlsp.multilspy_config import MultilspyConfig
from solidlsp.multilspy_logger import MultilspyLogger
from solidlsp.multilspy_utils import PlatformId, PlatformUtils
from solidlsp.ls import SolidLanguageServer
@@ -9,10 +9,10 @@ import pathlib
from overrides import override
from multilspy.lsp_protocol_handler.lsp_types import InitializeParams
from multilspy.lsp_protocol_handler.server import ProcessLaunchInfo
from multilspy.multilspy_config import MultilspyConfig
from multilspy.multilspy_logger import MultilspyLogger
from solidlsp.lsp_protocol_handler.lsp_types import InitializeParams
from solidlsp.lsp_protocol_handler.server import ProcessLaunchInfo
from solidlsp.multilspy_config import MultilspyConfig
from solidlsp.multilspy_logger import MultilspyLogger
from solidlsp.ls import SolidLanguageServer
@@ -9,11 +9,11 @@ import os
import pathlib
import stat
from multilspy.lsp_protocol_handler.lsp_types import InitializeParams
from multilspy.lsp_protocol_handler.server import ProcessLaunchInfo
from multilspy.multilspy_config import MultilspyConfig
from multilspy.multilspy_logger import MultilspyLogger
from multilspy.multilspy_utils import FileUtils, PlatformUtils
from solidlsp.lsp_protocol_handler.lsp_types import InitializeParams
from solidlsp.lsp_protocol_handler.server import ProcessLaunchInfo
from solidlsp.multilspy_config import MultilspyConfig
from solidlsp.multilspy_logger import MultilspyLogger
from solidlsp.multilspy_utils import FileUtils, PlatformUtils
from solidlsp.ls import SolidLanguageServer
@@ -12,12 +12,12 @@ from collections.abc import Iterable
from overrides import override
from multilspy.lsp_protocol_handler.lsp_types import InitializeParams
from multilspy.lsp_protocol_handler.server import ProcessLaunchInfo
from multilspy.multilspy_config import MultilspyConfig
from multilspy.multilspy_exceptions import MultilspyException
from multilspy.multilspy_logger import MultilspyLogger
from multilspy.multilspy_utils import DotnetVersion, FileUtils, PlatformId, PlatformUtils
from solidlsp.lsp_protocol_handler.lsp_types import InitializeParams
from solidlsp.lsp_protocol_handler.server import ProcessLaunchInfo
from solidlsp.multilspy_config import MultilspyConfig
from solidlsp.multilspy_exceptions import MultilspyException
from solidlsp.multilspy_logger import MultilspyLogger
from solidlsp.multilspy_utils import DotnetVersion, FileUtils, PlatformId, PlatformUtils
from solidlsp.ls import SolidLanguageServer
@@ -10,10 +10,10 @@ import threading
from overrides import override
from multilspy.lsp_protocol_handler.lsp_types import InitializeParams
from multilspy.lsp_protocol_handler.server import ProcessLaunchInfo
from multilspy.multilspy_config import MultilspyConfig
from multilspy.multilspy_logger import MultilspyLogger
from solidlsp.lsp_protocol_handler.lsp_types import InitializeParams
from solidlsp.lsp_protocol_handler.server import ProcessLaunchInfo
from solidlsp.multilspy_config import MultilspyConfig
from solidlsp.multilspy_logger import MultilspyLogger
from solidlsp.ls import SolidLanguageServer
@@ -11,11 +11,11 @@ import threading
from overrides import override
from multilspy.lsp_protocol_handler.lsp_types import InitializeParams
from multilspy.lsp_protocol_handler.server import ProcessLaunchInfo
from multilspy.multilspy_config import MultilspyConfig
from multilspy.multilspy_logger import MultilspyLogger
from multilspy.multilspy_utils import FileUtils, PlatformUtils
from solidlsp.lsp_protocol_handler.lsp_types import InitializeParams
from solidlsp.lsp_protocol_handler.server import ProcessLaunchInfo
from solidlsp.multilspy_config import MultilspyConfig
from solidlsp.multilspy_logger import MultilspyLogger
from solidlsp.multilspy_utils import FileUtils, PlatformUtils
from solidlsp.ls import SolidLanguageServer
@@ -12,10 +12,10 @@ import subprocess
import threading
from typing import override
from multilspy.lsp_protocol_handler.lsp_types import InitializeParams
from multilspy.lsp_protocol_handler.server import ProcessLaunchInfo
from multilspy.multilspy_config import MultilspyConfig
from multilspy.multilspy_logger import MultilspyLogger
from solidlsp.lsp_protocol_handler.lsp_types import InitializeParams
from solidlsp.lsp_protocol_handler.server import ProcessLaunchInfo
from solidlsp.multilspy_config import MultilspyConfig
from solidlsp.multilspy_logger import MultilspyLogger
from solidlsp.ls import SolidLanguageServer
@@ -13,11 +13,11 @@ from time import sleep
from overrides import override
from multilspy.lsp_protocol_handler.lsp_types import InitializeParams
from multilspy.lsp_protocol_handler.server import ProcessLaunchInfo
from multilspy.multilspy_config import MultilspyConfig
from multilspy.multilspy_logger import MultilspyLogger
from multilspy.multilspy_utils import PlatformId, PlatformUtils
from solidlsp.lsp_protocol_handler.lsp_types import InitializeParams
from solidlsp.lsp_protocol_handler.server import ProcessLaunchInfo
from solidlsp.multilspy_config import MultilspyConfig
from solidlsp.multilspy_logger import MultilspyLogger
from solidlsp.multilspy_utils import PlatformId, PlatformUtils
from solidlsp.ls import SolidLanguageServer
# Platform-specific imports
+15 -13
View File
@@ -16,21 +16,20 @@ from typing import Self, cast
import pathspec
import tqdm
from multilspy import multilspy_types
from solidlsp import multilspy_types
from multilspy.language_server import GenericDocumentSymbol, LSPFileBuffer, ReferenceInSymbol
from multilspy.lsp_protocol_handler import lsp_types
from multilspy.lsp_protocol_handler import lsp_types as LSPTypes
from multilspy.lsp_protocol_handler.lsp_constants import LSPConstants
from multilspy.lsp_protocol_handler.lsp_types import Definition, DefinitionParams, LocationLink, SymbolKind
from multilspy.lsp_protocol_handler.server import (
from solidlsp.lsp_protocol_handler import lsp_types, lsp_types as LSPTypes
from solidlsp.lsp_protocol_handler.lsp_constants import LSPConstants
from solidlsp.lsp_protocol_handler.lsp_types import Definition, DefinitionParams, LocationLink, SymbolKind
from solidlsp.lsp_protocol_handler.server import (
Error,
ProcessLaunchInfo,
StringDict,
)
from multilspy.multilspy_config import Language, MultilspyConfig
from multilspy.multilspy_exceptions import MultilspyException
from multilspy.multilspy_logger import MultilspyLogger
from multilspy.multilspy_utils import FileUtils, PathUtils, TextUtils
from solidlsp.multilspy_config import Language, MultilspyConfig
from solidlsp.multilspy_exceptions import MultilspyException
from solidlsp.multilspy_logger import MultilspyLogger
from solidlsp.multilspy_utils import FileUtils, PathUtils, TextUtils
from serena.text_utils import MatchedConsecutiveLines, search_files
from solidlsp.ls_handler import SolidLanguageServerHandler
@@ -175,7 +174,8 @@ class SolidLanguageServer(ABC):
# load cache first to prevent any racing conditions due to asyncio stuff
self._document_symbols_cache: dict[
str, tuple[str, tuple[list[multilspy_types.UnifiedSymbolInformation], list[multilspy_types.UnifiedSymbolInformation]]]
str, tuple[str, tuple[list[multilspy_types.UnifiedSymbolInformation], list[
multilspy_types.UnifiedSymbolInformation]]]
] = {}
"""Maps file paths to a tuple of (file_content_hash, result_of_request_document_symbols)"""
self._cache_lock = threading.Lock()
@@ -543,7 +543,8 @@ class SolidLanguageServer(ABC):
return ret
# Some LS cause problems with this, so the call is isolated from the rest to allow overriding in subclasses
def _send_references_request(self, relative_file_path: str, line: int, column: int) -> list[lsp_types.Location] | None:
def _send_references_request(self, relative_file_path: str, line: int, column: int) -> list[
lsp_types.Location] | None:
return self.server.send.references(
{
"textDocument": {"uri": PathUtils.path_to_uri(os.path.join(self.repository_root_path, relative_file_path))},
@@ -839,7 +840,8 @@ class SolidLanguageServer(ABC):
if LSPConstants.CHILDREN in root_symbol:
# TODO: l_tree should be a list of TreeRepr. Define the following function to return TreeRepr as well
def visit_tree_nodes_and_build_tree_repr(node: GenericDocumentSymbol) -> list[multilspy_types.UnifiedSymbolInformation]:
def visit_tree_nodes_and_build_tree_repr(node: GenericDocumentSymbol) -> list[
multilspy_types.UnifiedSymbolInformation]:
node = cast(multilspy_types.UnifiedSymbolInformation, node)
l: list[multilspy_types.UnifiedSymbolInformation] = []
turn_item_into_symbol_with_children(node)
+4 -4
View File
@@ -12,9 +12,9 @@ from typing import Any
import psutil
from multilspy.lsp_protocol_handler.lsp_requests import LspNotification
from multilspy.lsp_protocol_handler.lsp_types import ErrorCodes
from multilspy.lsp_protocol_handler.server import (
from solidlsp.lsp_protocol_handler.lsp_requests import LspNotification
from solidlsp.lsp_protocol_handler.lsp_types import ErrorCodes
from solidlsp.lsp_protocol_handler.server import (
ENCODING,
Error,
MessageType,
@@ -28,7 +28,7 @@ from multilspy.lsp_protocol_handler.server import (
make_request,
make_response,
)
from multilspy.multilspy_exceptions import MultilspyException
from solidlsp.multilspy_exceptions import MultilspyException
from solidlsp.lsp_request import SolidLspRequest
log = logging.getLogger(__name__)
@@ -30,7 +30,8 @@ SOFTWARE.
"""
from typing import List, Union
from multilspy.lsp_protocol_handler import lsp_types
from solidlsp.lsp_protocol_handler import lsp_types
class LspRequest:
def __init__(self, send_request):
+1 -1
View File
@@ -1,6 +1,6 @@
from typing import Union
from multilspy.lsp_protocol_handler import lsp_types
from solidlsp.lsp_protocol_handler import lsp_types
class SolidLspRequest:
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -14,10 +14,10 @@ import platform
import subprocess
from enum import Enum
from multilspy.multilspy_exceptions import MultilspyException
from solidlsp.multilspy_exceptions import MultilspyException
from pathlib import PurePath, Path
from multilspy.multilspy_logger import MultilspyLogger
from multilspy.multilspy_types import UnifiedSymbolInformation
from solidlsp.multilspy_logger import MultilspyLogger
from solidlsp.multilspy_types import UnifiedSymbolInformation
class TextUtils:
File renamed without changes.
+2 -2
View File
@@ -6,8 +6,8 @@ import pytest
from sensai.util.logging import configure
from multilspy.language_server import SyncLanguageServer
from multilspy.multilspy_config import Language, MultilspyConfig
from multilspy.multilspy_logger import MultilspyLogger
from solidlsp.multilspy_config import Language, MultilspyConfig
from solidlsp.multilspy_logger import MultilspyLogger
from serena.constants import USE_SOLID_LSP
from serena.util.file_system import GitignoreParser
from solidlsp.ls import SolidLanguageServer
+2 -2
View File
@@ -3,8 +3,8 @@ import os
import pytest
from multilspy import SyncLanguageServer
from multilspy.multilspy_config import Language
from multilspy.multilspy_utils import SymbolUtils
from solidlsp.multilspy_config import Language
from solidlsp.multilspy_utils import SymbolUtils
@pytest.mark.go
+2 -2
View File
@@ -3,8 +3,8 @@ import os
import pytest
from multilspy import SyncLanguageServer
from multilspy.multilspy_config import Language
from multilspy.multilspy_utils import SymbolUtils
from solidlsp.multilspy_config import Language
from solidlsp.multilspy_utils import SymbolUtils
@pytest.mark.java
+1 -1
View File
@@ -3,7 +3,7 @@ from pathlib import Path
import pytest
from multilspy.language_server import SyncLanguageServer
from multilspy.multilspy_config import Language
from solidlsp.multilspy_config import Language
@pytest.mark.php
+1 -1
View File
@@ -10,7 +10,7 @@ import os
import pytest
from multilspy.language_server import SyncLanguageServer
from multilspy.multilspy_config import Language
from solidlsp.multilspy_config import Language
from serena.text_utils import LineType
@@ -4,7 +4,7 @@ from pathlib import Path
import pytest
from multilspy.language_server import SyncLanguageServer
from multilspy.multilspy_config import Language
from solidlsp.multilspy_config import Language
from test.conftest import create_ls
# This mark will be applied to all tests in this module
@@ -11,8 +11,8 @@ import os
import pytest
from multilspy.language_server import SyncLanguageServer
from multilspy.multilspy_config import Language
from multilspy.multilspy_types import SymbolKind
from solidlsp.multilspy_config import Language
from solidlsp.multilspy_types import SymbolKind
pytestmark = pytest.mark.python
+2 -2
View File
@@ -3,8 +3,8 @@ import os
import pytest
from multilspy import SyncLanguageServer
from multilspy.multilspy_config import Language
from multilspy.multilspy_utils import SymbolUtils
from solidlsp.multilspy_config import Language
from solidlsp.multilspy_utils import SymbolUtils
@pytest.mark.rust
@@ -3,8 +3,8 @@ import os
import pytest
from multilspy import SyncLanguageServer
from multilspy.multilspy_config import Language
from multilspy.multilspy_utils import SymbolUtils
from solidlsp.multilspy_config import Language
from solidlsp.multilspy_utils import SymbolUtils
@pytest.mark.typescript
+1 -1
View File
@@ -5,7 +5,7 @@ from dataclasses import dataclass
import pytest
from multilspy.multilspy_config import Language
from solidlsp.multilspy_config import Language
from serena.agent import FindReferencingSymbolsTool, FindSymbolTool, Project, ProjectConfig, SerenaAgent, SerenaConfigBase
from serena.process_isolated_agent import ProcessIsolatedSerenaAgent
from test.conftest import get_repo_path
+1 -1
View File
@@ -11,7 +11,7 @@ from typing import Literal
import pytest
from multilspy.multilspy_config import Language
from solidlsp.multilspy_config import Language
from serena.symbol import CodeDiff
from src.serena.symbol import SymbolManager
from test.conftest import create_ls, get_repo_path