diff options
author | Nate Sesti <33237525+sestinj@users.noreply.github.com> | 2023-09-04 10:38:22 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-04 10:38:22 -0700 |
commit | b632a5ab537069e22b976b097b34b9879be18168 (patch) | |
tree | 5a5d21007312ff42c0a320d52c528ee09a9f9b28 /continuedev/src/continuedev/server | |
parent | ec6523d35ac0e5c38a224418cb224d8421886449 (diff) | |
download | sncontinue-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.py | 18 | ||||
-rw-r--r-- | continuedev/src/continuedev/server/session_manager.py | 8 |
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) |