diff --git a/src/custom-snippets.ts b/src/custom-snippets.ts index a55c214de..cc3fead6d 100644 --- a/src/custom-snippets.ts +++ b/src/custom-snippets.ts @@ -16,6 +16,8 @@ export type CustomREPLCommandSnippet = { snippet: string; repl?: string; ns?: string; + evaluationSendCodeToOutputWindow?: boolean; + pingPong?: boolean; }; type SnippetDefinition = { @@ -23,6 +25,7 @@ type SnippetDefinition = { ns: string; repl: string; evaluationSendCodeToOutputWindow?: boolean; + pingPong?: boolean; }; export function evaluateCustomCodeSnippetCommand(codeOrKeyOrSnippet?: string | SnippetDefinition) { @@ -74,7 +77,12 @@ async function evaluateCodeOrKeyOrSnippet(codeOrKeyOrSnippet?: string | SnippetD nsForm, snippetDefinition.repl ); - await evaluateCodeInContext(editor, snippetDefinition.snippet, context, options); + const result = await evaluateCodeInContext(editor, snippetDefinition.snippet, context, options); + + if (snippetDefinition.pingPong) { + console.log('pingPong', result); + await evaluateCodeInContext(editor, result, context, options); + } } async function evaluateCodeInContext( @@ -119,6 +127,8 @@ async function getSnippetDefinition(codeOrKey: string, editorNS: string, editorR description: `${entry.repl}`, repl: `${entry.repl}`, snippet: entry.snippet, + pingPong: entry.pingPong, + evaluationSendCodeToOutputWindow: entry.evaluationSendCodeToOutputWindow, }; snippetsMenuItems.push(item); if (!snippetsDict[entry.key]) { diff --git a/src/evaluate.ts b/src/evaluate.ts index c4b4722d7..46fd50b30 100644 --- a/src/evaluate.ts +++ b/src/evaluate.ts @@ -116,6 +116,8 @@ async function evaluateCodeUpdatingUI( await session.evaluateInNs(options.nsForm, outputWindow.getNs()); } + console.log('evaluateCodeUpdatingUI CODE', code); + const context: NReplEvaluation = session.eval(code, ns, { file: filePath, line: line + 1, @@ -139,6 +141,7 @@ async function evaluateCodeUpdatingUI( value = util.stripAnsi(context.pprintOut || value); result = value; + console.log('evaluateCodeUpdatingUI RESULT', result); flareHandler.inspect(value, (code) => evaluateCodeUpdatingUI(code, options, selection));