Add global flag USE_SOLID_LSP to switch from multilspy to solidlsp

This commit is contained in:
Dominik Jain committed 2025-06-21 20:10:11 +02:00
1 parent 241d3c2346
commit ac172dcab6
3 files changed
+21 -5

No files matched your search

+11 -4
View File
@@ -39,7 +39,14 @@ from multilspy.multilspy_logger import MultilspyLogger
from multilspy.multilspy_types import SymbolKind
from serena import serena_version
from serena.config import SerenaAgentContext, SerenaAgentMode
from serena.constants import DEFAULT_ENCODING, PROJECT_TEMPLATE_FILE, REPO_ROOT, SELENA_CONFIG_TEMPLATE_FILE, SERENA_MANAGED_DIR_NAME
from serena.constants import (
DEFAULT_ENCODING,
PROJECT_TEMPLATE_FILE,
REPO_ROOT,
SELENA_CONFIG_TEMPLATE_FILE,
SERENA_MANAGED_DIR_NAME,
USE_SOLID_LSP,
)
from serena.dashboard import MemoryLogHandler, SerenaDashboardAPI
from serena.prompt_factory import PromptFactory, SerenaPromptFactory
from serena.symbol import SymbolManager
@@ -671,14 +678,14 @@ def create_ls_for_project(
)
ls_logger = MultilspyLogger(log_level=log_level)
log.info(f"Creating language server instance for {project_instance.project_root}.")
use_solid_ls = True
if use_solid_ls:
return SolidLanguageServer.create(
if USE_SOLID_LSP:
ls = SolidLanguageServer.create(
multilspy_config,
ls_logger,
project_instance.project_root,
timeout=ls_timeout,
)
return cast(SyncLanguageServer, ls) # TODO: Fix type
else:
return SyncLanguageServer.create(
multilspy_config,
+2
View File
@@ -18,3 +18,5 @@ DEFAULT_MODES = ("interactive", "editing")
PROJECT_TEMPLATE_FILE = str(_serena_pkg_path / "resources" / "project.template.yml")
SELENA_CONFIG_TEMPLATE_FILE = str(_serena_pkg_path / "resources" / "serena_config.template.yml")
USE_SOLID_LSP = True
+8 -1
View File
@@ -1,5 +1,6 @@
import logging
from pathlib import Path
from typing import cast
import pytest
from sensai.util.logging import configure
@@ -7,7 +8,9 @@ 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 serena.constants import USE_SOLID_LSP
from serena.util.file_system import GitignoreParser
from solidlsp.ls import SolidLanguageServer
configure(level=logging.DEBUG)
@@ -43,7 +46,11 @@ def create_ls(
config = MultilspyConfig(code_language=language, ignored_paths=ignored_paths, trace_lsp_communication=trace_lsp_communication)
logger = MultilspyLogger(log_level=log_level)
return SyncLanguageServer.create(config, logger, repo_path)
if USE_SOLID_LSP:
ls = SolidLanguageServer.create(config, logger, repo_path)
return cast(SyncLanguageServer, ls) # TODO: Fix type
else:
return SyncLanguageServer.create(config, logger, repo_path)
def create_default_ls(language: Language) -> SyncLanguageServer: