summaryrefslogtreecommitdiff
path: root/continuedev/src/continuedev/server
diff options
context:
space:
mode:
authorNate Sesti <33237525+sestinj@users.noreply.github.com>2023-09-04 10:38:22 -0700
committerGitHub <noreply@github.com>2023-09-04 10:38:22 -0700
commitb632a5ab537069e22b976b097b34b9879be18168 (patch)
tree5a5d21007312ff42c0a320d52c528ee09a9f9b28 /continuedev/src/continuedev/server
parentec6523d35ac0e5c38a224418cb224d8421886449 (diff)
downloadsncontinue-b632a5ab537069e22b976b097b34b9879be18168.tar.gz
sncontinue-b632a5ab537069e22b976b097b34b9879be18168.tar.bz2
sncontinue-b632a5ab537069e22b976b097b34b9879be18168.zip
Integrate LSP for debugging (#450)
* headless IDE subclass * finish headless_ide methods * feat: :sparkles: headless mode running with config flag * work on debugging * python lsp support * more lsp+debugging work * refactor: :safety_vest: safely load LSP * test: :white_check_mark: testing steps in headless mode * refactor: :clown_face: cleanup subprocesses * fix: :bug: handle data: [DONE] from Together
Diffstat (limited to 'continuedev/src/continuedev/server')
-rw-r--r--continuedev/src/continuedev/server/meilisearch_server.py18
-rw-r--r--continuedev/src/continuedev/server/session_manager.py8
2 files changed, 23 insertions, 3 deletions
diff --git a/continuedev/src/continuedev/server/meilisearch_server.py b/continuedev/src/continuedev/server/meilisearch_server.py
index 11099494..6aae8cc5 100644
--- a/continuedev/src/continuedev/server/meilisearch_server.py
+++ b/continuedev/src/continuedev/server/meilisearch_server.py
@@ -117,10 +117,15 @@ async def poll_meilisearch_running(frequency: int = 0.1) -> bool:
await asyncio.sleep(frequency)
+meilisearch_process = None
+
+
async def start_meilisearch():
"""
Starts the MeiliSearch server, wait for it.
"""
+ global meilisearch_process
+
serverPath = getServerFolderPath()
# Check if MeiliSearch is installed, if not download
@@ -130,7 +135,7 @@ async def start_meilisearch():
if not await check_meilisearch_running() or not was_already_installed:
logger.debug("Starting MeiliSearch...")
binary_name = "meilisearch" if os.name == "nt" else "./meilisearch"
- subprocess.Popen(
+ meilisearch_process = subprocess.Popen(
[binary_name, "--no-analytics"],
cwd=serverPath,
stdout=subprocess.DEVNULL,
@@ -139,3 +144,14 @@ async def start_meilisearch():
start_new_session=True,
shell=True,
)
+
+
+def stop_meilisearch():
+ """
+ Stops the MeiliSearch server.
+ """
+ global meilisearch_process
+ if meilisearch_process is not None:
+ meilisearch_process.terminate()
+ meilisearch_process.wait()
+ meilisearch_process = None
diff --git a/continuedev/src/continuedev/server/session_manager.py b/continuedev/src/continuedev/server/session_manager.py
index f0c33929..f0080104 100644
--- a/continuedev/src/continuedev/server/session_manager.py
+++ b/continuedev/src/continuedev/server/session_manager.py
@@ -8,6 +8,7 @@ from fastapi import APIRouter, WebSocket
from fastapi.websockets import WebSocketState
from ..core.autopilot import Autopilot
+from ..core.config import ContinueConfig
from ..core.main import FullState
from ..libs.util.create_async_task import create_async_task
from ..libs.util.logging import logger
@@ -57,7 +58,10 @@ class SessionManager:
return self.sessions[session_id]
async def new_session(
- self, ide: AbstractIdeProtocolServer, session_id: Optional[str] = None
+ self,
+ ide: AbstractIdeProtocolServer,
+ session_id: Optional[str] = None,
+ config: Optional[ContinueConfig] = None,
) -> Session:
logger.debug(f"New session: {session_id}")
@@ -85,7 +89,7 @@ class SessionManager:
# Start the autopilot (must be after session is added to sessions) and the policy
try:
- await autopilot.start(full_state=full_state)
+ await autopilot.start(full_state=full_state, config=config)
except Exception as e:
await ide.on_error(e)