mirror of
https://github.com/tiennm99/serena.git
synced 2026-10-14 06:17:58 +00:00
Move components from multilspy to solidlsp
This commit is contained in:
1 parent
f04bd7d65b
commit
27826d89c6
54 files changed
+192
-192
No files matched your search
@@ -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"]
|
||||
@@ -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):
|
||||
|
||||
+5
-5
@@ -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
@@ -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 (
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
+5
-5
@@ -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
@@ -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)
|
||||
|
||||
@@ -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__)
|
||||
|
||||
File renamed without changes.
+2
-1
@@ -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):
|
||||
File renamed without changes.
File renamed without changes.
@@ -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
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in new issue
Block a user