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)  | 
