@@ -43301,7 +43301,39 @@ var serverProto = grpc.loadPackageDefinition(packageDefinition).server;
4330143301var apiConsole = vscode.window.createOutputChannel("API Testing");
4330243302function activate(context) {
4330343303 console.log('Congratulations, your extension "api-testing" is now active!');
43304- let atest = vscode.commands.registerCommand("atest", function() {
43304+ const toggleLink = {
43305+ provideCodeLenses: function(document2, token) {
43306+ if (document2.lineAt(0).text !== "#!api-testing") {
43307+ return [];
43308+ }
43309+ const range = new vscode.Range(0, 1, 10, 10);
43310+ const lens = new vscode.CodeLens(range, {
43311+ command: "atest",
43312+ title: "Run Suite"
43313+ });
43314+ let result = [lens];
43315+ for (let i = 0; i < document2.lineCount; i++) {
43316+ let nameAnchor = document2.lineAt(i).text;
43317+ if (nameAnchor.startsWith("- name: ")) {
43318+ let name = nameAnchor.replace("- name: ", "");
43319+ const range2 = new vscode.Range(i, 1, 10, 10);
43320+ const testcaseLens = new vscode.CodeLens(range2, {
43321+ command: "atest",
43322+ title: "Run Case",
43323+ arguments: [name]
43324+ });
43325+ result.push(testcaseLens);
43326+ }
43327+ }
43328+ return result;
43329+ },
43330+ resolveCodeLens: function(code, token) {
43331+ return code;
43332+ }
43333+ };
43334+ const codeLens = vscode.languages.registerCodeLensProvider({ language: "yaml", scheme: "file" }, toggleLink);
43335+ context.subscriptions.push(codeLens);
43336+ let atest = vscode.commands.registerCommand("atest", function(args) {
4330543337 if (vscode.workspace.workspaceFolders !== void 0) {
4330643338 let filename = vscode.window.activeTextEditor.document.fileName;
4330743339 const addr = vscode.workspace.getConfiguration().get("api-testing.server");
@@ -43319,10 +43351,17 @@ function activate(context) {
4331943351 const data = fs.readFileSync(filename);
4332043352 task = data.toString();
4332143353 }
43354+ let kind = "suite";
43355+ let caseName = "";
43356+ if (args && args.length > 0) {
43357+ kind = "testcaseInSuite";
43358+ caseName = args;
43359+ }
4332243360 const client = new serverProto.Runner(addr, grpc.credentials.createInsecure());
4332343361 client.run({
43324- kind: "suite",
43325- data: task
43362+ kind,
43363+ data: task,
43364+ caseName
4332643365 }, function(err, response) {
4332743366 if (err !== void 0 && err !== null) {
4332843367 apiConsole.appendLine(err + " with " + addr);
0 commit comments