[input strategy] input queueing

This commit is contained in:
2024-01-02 15:45:31 +05:30
parent 36ed3328d1
commit a15429d964
5 changed files with 955 additions and 694 deletions

View File

@@ -4,7 +4,7 @@
* ------------------------------------------------------------------------------------------ */
import * as path from 'path';
import { workspace, ExtensionContext,commands, window } from 'vscode';
import { ExtensionContext,commands, window } from 'vscode';
import {
LanguageClient,
LanguageClientOptions,
@@ -12,6 +12,7 @@ import {
TransportKind
} from 'vscode-languageclient';
import BranFlakesExecutorVisitor from './BranFlakesExecutorVisitor';
import { VSCodePromptInputStrategy } from './input/VSCodePromptInputStrategy';
let client: LanguageClient;
@@ -46,10 +47,8 @@ export function activate(context: ExtensionContext) {
const commandHandler = async()=>{
const text= window.activeTextEditor.document.getText();
const fn = window.activeTextEditor.document.fileName;
const input = await window.showInputBox({prompt:'Enter input (If not enough, program will assume 0)'});
const output = BranFlakesExecutorVisitor.run(text,fn,input);
const inputStrategy = new VSCodePromptInputStrategy(window.showInputBox);
const output = await BranFlakesExecutorVisitor.run(text,fn,inputStrategy,window.showInformationMessage);
await window.showInformationMessage(`Output: ${output}`);
};