diff options
| -rw-r--r-- | .devcontainer/devcontainer.json | 1 | ||||
| -rw-r--r-- | continuedev/src/continuedev/server/main.py | 12 | ||||
| -rw-r--r-- | extension/package-lock.json | 4 | ||||
| -rw-r--r-- | extension/package.json | 2 | ||||
| -rw-r--r-- | extension/src/util/vscode.ts | 43 | ||||
| -rw-r--r-- | logging.ini | 27 | 
6 files changed, 68 insertions, 21 deletions
| diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index be682b50..ad93c14a 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,6 +1,5 @@  {    "image": "mcr.microsoft.com/devcontainers/universal:2",    "features": { -    "postCreateCommand": "curl -sSL https://install.python-poetry.org | python3 -"    }  } diff --git a/continuedev/src/continuedev/server/main.py b/continuedev/src/continuedev/server/main.py index 7b7124de..a8597c8a 100644 --- a/continuedev/src/continuedev/server/main.py +++ b/continuedev/src/continuedev/server/main.py @@ -1,8 +1,10 @@  import os +import sys  from fastapi import FastAPI  from fastapi.middleware.cors import CORSMiddleware  from .ide import router as ide_router  from .gui import router as gui_router +import logging  import uvicorn  import argparse @@ -23,6 +25,7 @@ app.add_middleware(  @app.get("/health")  def health(): +    print("Testing")      return {"status": "ok"} @@ -32,12 +35,15 @@ parser.add_argument("-p", "--port", help="server port", type=int, default=8000)  args = parser.parse_args() +log_file = open('output.log', 'a') +sys.stdout = log_file + +  def run_server():      if os.path.exists("logging.yaml"): -        uvicorn.run(app, host="0.0.0.0", port=args.port, -                    log_config="logging.yaml") +        uvicorn.run(app, host="0.0.0.0", port=args.port, log_level="info")      else: -        uvicorn.run(app, host="0.0.0.0", port=args.port) +        uvicorn.run(app, host="0.0.0.0", port=args.port, log_level="info")  if __name__ == "__main__": diff --git a/extension/package-lock.json b/extension/package-lock.json index 647e3aa2..15ea6428 100644 --- a/extension/package-lock.json +++ b/extension/package-lock.json @@ -1,12 +1,12 @@  {    "name": "continue", -  "version": "0.0.13", +  "version": "0.0.14",    "lockfileVersion": 2,    "requires": true,    "packages": {      "": {        "name": "continue", -      "version": "0.0.13", +      "version": "0.0.14",        "license": "Apache-2.0",        "dependencies": {          "@electron/rebuild": "^3.2.10", diff --git a/extension/package.json b/extension/package.json index 1219ca8e..2d83a58c 100644 --- a/extension/package.json +++ b/extension/package.json @@ -14,7 +14,7 @@    "displayName": "Continue",    "pricing": "Free",    "description": "Refine code 10x faster", -  "version": "0.0.13", +  "version": "0.0.14",    "publisher": "Continue",    "engines": {      "vscode": "^1.74.0" diff --git a/extension/src/util/vscode.ts b/extension/src/util/vscode.ts index 4eab98a7..a76b53c7 100644 --- a/extension/src/util/vscode.ts +++ b/extension/src/util/vscode.ts @@ -128,25 +128,40 @@ export async function readFileAtRange(    });  } +let showTextDocumentInProcess = false; +  export function openEditorAndRevealRange(    editorFilename: string,    range?: vscode.Range,    viewColumn?: vscode.ViewColumn  ): Promise<vscode.TextEditor> {    return new Promise((resolve, _) => { -    // Check if the editor is already open -    vscode.workspace.openTextDocument(editorFilename).then((doc) => { -      vscode.window -        .showTextDocument( -          doc, -          getViewColumnOfFile(editorFilename) || viewColumn -        ) -        .then((editor) => { -          if (range) { -            editor.revealRange(range); -          } -          resolve(editor); -        }); -    }); +    vscode.workspace.openTextDocument(editorFilename).then(async (doc) => { +      try { +        // An error is thrown mysteriously if you open two documents in parallel, hence this +        while (showTextDocumentInProcess) { +          await new Promise((resolve) => { +            setInterval(() => { +              resolve(null); +            }, 200); +          }) +        } +        showTextDocumentInProcess = true; +        vscode.window +          .showTextDocument( +            doc, +            getViewColumnOfFile(editorFilename) || viewColumn +          ) +          .then((editor) => { +            if (range) { +              editor.revealRange(range); +            } +            resolve(editor); +            showTextDocumentInProcess = false; +          }) +        } catch (err) { +          console.log(err); +        } +      });    });  } diff --git a/logging.ini b/logging.ini new file mode 100644 index 00000000..5b478619 --- /dev/null +++ b/logging.ini @@ -0,0 +1,27 @@ +[loggers] +keys=root + +[handlers] +keys=logfile,logconsole + +[formatters] +keys=logformatter + +[logger_root] +level=INFO +handlers=logfile, logconsole + +[formatter_logformatter] +format=[%(asctime)s.%(msecs)03d] %(levelname)s [%(thread)d] - %(message)s + +[handler_logfile] +class=handlers.RotatingFileHandler +level=INFO +args=('logfile.log','a') +formatter=logformatter + +[handler_logconsole] +class=handlers.logging.StreamHandler +level=INFO +args=() +formatter=logformatter
\ No newline at end of file | 
