Skip to content

Commit 25b78b9

Browse files
committed
tag parser
1 parent 27d8633 commit 25b78b9

2 files changed

Lines changed: 12 additions & 13 deletions

File tree

engine/parser.def

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
start
22
= headline
33
subtitle?
4+
tags?
45
description
56
steps
67
conclusion?
7-
tags?
8-
98
headline "headline starting with ="
109
= "=" _ string ___
1110

engine/parser.ts

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ export class Parser {
2020
let result = new Playbook();
2121
result.title = parseResult[0][2];
2222
result.subtitle = parseResult[1]? parseResult[1][3]: "";
23-
result.description = this.insertNewlineIntoDescription(parseResult[2][2].descriptionlines);
24-
result.conclusion = this.insertNewlineIntoDescription(parseResult[4]? parseResult[4][2].conclusionlines: "");
2523
result.tags = this.getTags(parseResult);
26-
for(let index in parseResult[3]){
24+
result.description = this.insertNewlineIntoDescription(parseResult[3][2].descriptionlines);
25+
result.conclusion = this.insertNewlineIntoDescription(parseResult[5]? parseResult[5][2].conclusionlines: "");
26+
for(let index in parseResult[4]){
2727
let step = new Step();
2828
step.text = this.getText(parseResult, index);
2929
step.lines = this.getLines(parseResult, index);
@@ -36,26 +36,26 @@ export class Parser {
3636

3737
getText(parseResult, index){
3838
try {
39-
return parseResult[3][index][1].steptextlines || parseResult[3][index][2][1].steptextlines;
39+
return parseResult[4][index][1].steptextlines || parseResult[4][index][2][1].steptextlines;
4040
} catch (error) {
41-
return parseResult[3][index][2][1].steptextlines;
41+
return parseResult[4][index][2][1].steptextlines;
4242
}
4343
}
4444

4545
getLines(parseResult, index):Command[]{
4646
let linebreak = process.platform=="win32" ? "\r\n" : "\n";
4747
try {
48-
return (parseResult[3][index][7].steplines || parseResult[3][index][2][7].steplines).split(linebreak).filter(e => e.trim() != '').map(e => this.createCommand(e));
48+
return (parseResult[4][index][7].steplines || parseResult[4][index][2][7].steplines).split(linebreak).filter(e => e.trim() != '').map(e => this.createCommand(e));
4949
} catch (error) {
50-
return parseResult[3][index][2][7].steplines.split(linebreak).filter(e => e.trim() != '').map(e => this.createCommand(e));
50+
return parseResult[4][index][2][7].steplines.split(linebreak).filter(e => e.trim() != '').map(e => this.createCommand(e));
5151
}
5252
}
5353

5454
getTitle(parseResult, index) {
5555
try {
5656
// parseResult[3][index][4][2] step without block
5757
// parseResult[3][index][2][4][2] step inside a block
58-
return (parseResult[3][index][4][2].steptitle || parseResult[3][index][2][4][2].steptitle);
58+
return (parseResult[4][index][4][2].steptitle || parseResult[4][index][2][4][2].steptitle);
5959
} catch(error) {
6060
return null;
6161
}
@@ -77,7 +77,7 @@ export class Parser {
7777

7878
getTextAfter(parseResult, index){
7979
try {
80-
return parseResult[3][index][3].steptextafterlines || "";
80+
return parseResult[4][index][3].steptextafterlines || "";
8181
} catch (error) {
8282
return "";
8383
}
@@ -86,7 +86,7 @@ export class Parser {
8686
getTags(parseResult){
8787
let tagDict = {};
8888
try{
89-
let results = parseResult[5] ? parseResult[5][4].taglines.split(/\r?\n/) : Array();
89+
let results = parseResult[2] ? parseResult[2][4].taglines.split(/\r?\n/) : Array();
9090
for (let result of results){
9191
if(result){
9292
result = result.split("=")
@@ -97,7 +97,7 @@ export class Parser {
9797
}
9898
}catch (error) {
9999
throw error;
100-
}
100+
}
101101
return tagDict;
102102
}
103103

0 commit comments

Comments
 (0)