diff --git a/src/nimMain.ts b/src/nimMain.ts index d77821a..947cefd 100644 --- a/src/nimMain.ts +++ b/src/nimMain.ts @@ -190,13 +190,23 @@ function startBuildOnSaveWatcher(subscriptions: vscode.Disposable[]) { function runFile() { let editor = vscode.window.activeTextEditor; if (editor) { + var additionalArguments = ''; + for (var i = 0; i < editor.document.lineCount; i++) { + var line = editor.document.lineAt(i); + var match = /#\s*vscode-nim\s+arguments:\s+(.*)/i.exec(line.text); + if (match) { + additionalArguments = match[1]; + break; + } + } + if (!terminal) { terminal = vscode.window.createTerminal('Nim'); } terminal.show(true); if (editor.document.isUntitled) { terminal.sendText('nim ' + vscode.workspace.getConfiguration('nim')['buildCommand'] + - ' -r "' + getDirtyFile(editor.document) + '"', true); + ' -r "' + getDirtyFile(editor.document) + '" ' + additionalArguments, true); } else { let outputDirConfig = vscode.workspace.getConfiguration('nim')['runOutputDirectory']; var outputParams = ''; @@ -226,7 +236,7 @@ function runFile() { }); } else { terminal.sendText('nim ' + vscode.workspace.getConfiguration('nim')['buildCommand'] + - outputParams + ' -r "' + editor.document.fileName + '"', true); + outputParams + ' -r "' + editor.document.fileName + '" ' + additionalArguments, true); } } }