ace.define("ace/mode/gherkin_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(t,a,c){var g=t("../lib/oop"),s=t("./text_highlight_rules").TextHighlightRules,o="\\\\(x[0-9A-Fa-f]{2}|[0-7]{3}|[\\\\abfnrtv'\"]|U[0-9A-Fa-f]{8}|u[0-9A-Fa-f]{4})",r=function(){var i=[{name:"en",labels:"Feature|Background|Scenario(?: Outline)?|Examples",keywords:"Given|When|Then|And|But"}],n=i.map(function(e){return e.labels}).join("|"),l=i.map(function(e){return e.keywords}).join("|");this.$rules={start:[{token:"constant.numeric",regex:"(?:(?:[1-9]\\d*)|(?:0))"},{token:"comment",regex:"#.*$"},{token:"keyword",regex:"(?:"+n+"):|(?:"+l+")\\b"},{token:"keyword",regex:"\\*"},{token:"string",regex:'"{3}',next:"qqstring3"},{token:"string",regex:'"',next:"qqstring"},{token:"text",regex:"^\\s*(?=@[\\w])",next:[{token:"text",regex:"\\s+"},{token:"variable.parameter",regex:"@[\\w]+"},{token:"empty",regex:"",next:"start"}]},{token:"comment",regex:"<[^>]+>"},{token:"comment",regex:"\\|(?=.)",next:"table-item"},{token:"comment",regex:"\\|$",next:"start"}],qqstring3:[{token:"constant.language.escape",regex:o},{token:"string",regex:'"{3}',next:"start"},{defaultToken:"string"}],qqstring:[{token:"constant.language.escape",regex:o},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],"table-item":[{token:"comment",regex:/$/,next:"start"},{token:"comment",regex:/\|/},{token:"string",regex:/\\./},{defaultToken:"string"}]},this.normalizeRules()};g.inherits(r,s),a.GherkinHighlightRules=r}),ace.define("ace/mode/gherkin",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/gherkin_highlight_rules"],function(t,a,c){var g=t("../lib/oop"),s=t("./text").Mode,o=t("./gherkin_highlight_rules").GherkinHighlightRules,r=function(){this.HighlightRules=o,this.$behaviour=this.$defaultBehaviour};g.inherits(r,s),function(){this.lineCommentStart="#",this.$id="ace/mode/gherkin",this.getNextLineIndent=function(i,n,l){var e=this.$getIndent(n),h=this.getTokenizer().getLineTokens(n,i).tokens;return n.match("[ ]*\\|")&&(e+="| "),h.length&&"comment"==h[h.length-1].type||"start"==i&&(n.match("Scenario:|Feature:|Scenario Outline:|Background:")||n.match("(Given|Then).+(:)$|Examples:")?e+="  ":n.match("\\*.+")&&(e+="* ")),e}}.call(r.prototype),a.Mode=r}),ace.require(["ace/mode/gherkin"],function(t){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=t)});