diff --git a/src/solidlsp/language_servers/csharp_language_server/csharp_language_server.py b/src/solidlsp/language_servers/csharp_language_server/csharp_language_server.py index 27dd9f5d..e356fe25 100644 --- a/src/solidlsp/language_servers/csharp_language_server/csharp_language_server.py +++ b/src/solidlsp/language_servers/csharp_language_server/csharp_language_server.py @@ -516,7 +516,7 @@ class CSharpLanguageServer(SolidLanguageServer): return cast( InitializeParams, { - "workspaceFolders": [{"uri": root_uri, "name": root_name}], + "worspaceFolders": [{"uri": root_uri, "name": root_name}], "processId": os.getpid(), "rootPath": self.repository_root_path, "rootUri": root_uri, diff --git a/src/solidlsp/language_servers/intelephense/intelephense.py b/src/solidlsp/language_servers/intelephense/intelephense.py index 796bb8a4..19eaa8b1 100644 --- a/src/solidlsp/language_servers/intelephense/intelephense.py +++ b/src/solidlsp/language_servers/intelephense/intelephense.py @@ -6,7 +6,6 @@ import json import logging import os import pathlib -import platform import shutil import subprocess from time import sleep @@ -71,8 +70,8 @@ class Intelephense(SolidLanguageServer): # Windows doesn't support the 'user' parameter and doesn't have pwd module if PlatformUtils.get_platform_id().value.startswith("win"): subprocess.run( - dependency["command"].split(" "), - shell=False, + dependency["command"], + shell=True, check=True, cwd=intelephense_ls_dir, stdout=subprocess.DEVNULL, diff --git a/src/solidlsp/language_servers/typescript_language_server/typescript_language_server.py b/src/solidlsp/language_servers/typescript_language_server/typescript_language_server.py index 21be15b9..f2204065 100644 --- a/src/solidlsp/language_servers/typescript_language_server/typescript_language_server.py +++ b/src/solidlsp/language_servers/typescript_language_server/typescript_language_server.py @@ -6,7 +6,6 @@ import json import logging import os import pathlib -import platform import shutil import subprocess import threading @@ -104,8 +103,8 @@ class TypeScriptLanguageServer(SolidLanguageServer): # Windows doesn't support the 'user' parameter and doesn't have pwd module if PlatformUtils.get_platform_id().value.startswith("win"): subprocess.run( - dependency["command"].split(" "), - shell=False, + dependency["command"], + shell=True, check=True, cwd=tsserver_ls_dir, stdout=subprocess.DEVNULL, diff --git a/src/solidlsp/ls_handler.py b/src/solidlsp/ls_handler.py index e6f9d6ee..65a59311 100644 --- a/src/solidlsp/ls_handler.py +++ b/src/solidlsp/ls_handler.py @@ -2,7 +2,6 @@ import asyncio import json import logging import os -import platform import subprocess import threading import time @@ -149,7 +148,6 @@ class SolidLanguageServerHandler: child_proc_env.update(self.process_launch_info.env) log.info("Starting language server process via command: %s", self.process_launch_info.cmd) - is_windows = platform.system() == "Windows" self.process = subprocess.Popen( self.process_launch_info.cmd, stdout=subprocess.PIPE, @@ -158,7 +156,7 @@ class SolidLanguageServerHandler: env=child_proc_env, cwd=self.process_launch_info.cwd, start_new_session=self.start_independent_lsp_process, - shell=not is_windows, + shell=True, ) # Check if process terminated immediately diff --git a/test/serena/test_serena_agent.py b/test/serena/test_serena_agent.py index bae716dc..5741cabb 100644 --- a/test/serena/test_serena_agent.py +++ b/test/serena/test_serena_agent.py @@ -32,16 +32,7 @@ def serena_config(): """Create an in-memory configuration for tests with test repositories pre-registered.""" # Create test projects for all supported languages test_projects = [] - for language in [ - Language.PYTHON, - Language.GO, - Language.JAVA, - Language.RUST, - Language.TYPESCRIPT, - Language.PHP, - Language.CSHARP, - Language.CLOJURE, - ]: + for language in [Language.PYTHON, Language.GO, Language.JAVA, Language.RUST, Language.TYPESCRIPT, Language.PHP, Language.CSHARP, Language.CLOJURE]: repo_path = get_repo_path(language) if repo_path.exists(): project_name = f"test_repo_{language}"