From 100eaed12710ad2a000d86fc0f4e1ac622703dae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20Str=C3=B6mberg?= Date: Sun, 14 Feb 2021 23:00:56 +0100 Subject: [PATCH] Standalone jack-in to temp folder --- hello-repl.clj | 4 +++- src/connector.ts | 2 +- src/nrepl/jack-in.ts | 6 +----- src/state.ts | 7 +++++-- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/hello-repl.clj b/hello-repl.clj index b3cb4d695..92a2e4dbb 100644 --- a/hello-repl.clj +++ b/hello-repl.clj @@ -2,7 +2,9 @@ ;; Alt+Enter evaluates ”top level” forms ;; Try it with the cursor anywhere inside this function -(defn greet [name] +(defn greet + "Doc strings matter" + [name] (str "Hello " name "!")) ;; To clear inline results display, press ESC diff --git a/src/connector.ts b/src/connector.ts index c1dca12e1..88ebe7c81 100644 --- a/src/connector.ts +++ b/src/connector.ts @@ -485,7 +485,7 @@ async function standaloneConnect(context: vscode.ExtensionContext, connectSequen await state.initProjectDir(); let projectDirUri = state.getProjectRootUri(); if (!projectDirUri) { - projectDirUri = await state.getOrCreateNonProjectRoot(context); + projectDirUri = await state.getOrCreateNonProjectRoot(context, true); } await state.initProjectDir(projectDirUri); await outputWindow.initResultsDoc(); diff --git a/src/nrepl/jack-in.ts b/src/nrepl/jack-in.ts index 1e8fa026a..6e711df4b 100644 --- a/src/nrepl/jack-in.ts +++ b/src/nrepl/jack-in.ts @@ -258,11 +258,7 @@ export const TEMPLATE_FILE_NAME = 'user.clj'; export const HELLO_TEMPLATE_FILE_NAME = 'hello-repl.clj'; export async function startStandaloneRepl(context: vscode.ExtensionContext, template: string) { - await state.initProjectDir(); - let projectDirUri = state.getProjectRootUri(); - if (!projectDirUri) { - projectDirUri = await state.getOrCreateNonProjectRoot(context); - } + let projectDirUri = await state.getOrCreateNonProjectRoot(context); await state.initProjectDir(projectDirUri); await vscode.workspace.fs.createDirectory(projectDirUri); diff --git a/src/state.ts b/src/state.ts index 172810bd5..9012a4eb8 100644 --- a/src/state.ts +++ b/src/state.ts @@ -141,9 +141,12 @@ export function getProjectRootUri(useCache = true): vscode.Uri { } } -export async function getOrCreateNonProjectRoot(context: vscode.ExtensionContext): Promise { +export async function getOrCreateNonProjectRoot(context: vscode.ExtensionContext, preferProjectDir = false): Promise { const NON_PROJECT_DIR_KEY = "calva.connect.nonProjectDir"; - let root = getProjectRootUri(); + let root: vscode.Uri; + if (preferProjectDir) { + root = getProjectRootUri(); + } if (!root) { try { root = await context.workspaceState.get(NON_PROJECT_DIR_KEY) as vscode.Uri;