ace.define("ace/mode/jsonata",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules","ace/worker/worker_client","ace/mode/text"],function(e,t,n){"use strict";var r=e("../lib/oop"),o=e("./text_highlight_rules").TextHighlightRules,a=e("../worker/worker_client").WorkerClient,i=Object.keys(jsonata.functions);i.sort(function(e,t){return t.length-e.length}),i=i.join("|").replace(/\$/g,"\\$");var s=function(){var e=this.createKeywordMapper({"keyword.operator":"and|or|in","constant.language":"null|Infinity|NaN|undefined","constant.language.boolean":"true|false","storage.type":"function"},"identifier");this.$rules={start:[{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:"keyword",regex:/λ/},{token:"keyword",regex:i},{token:e,regex:"[a-zA-Z\\$_¡-][a-zA-Z\\d\\$_¡-]*"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"keyword.operator",regex:/\|\||<=|>=|\.\.|\*\*|!=|:=|[=<>`!$%&*+\-~\/^]/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/}],qqstring:[{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],qstring:[{token:"string",regex:"'|$",next:"start"},{defaultToken:"string"}]}};r.inherits(s,o);var g=e("./text").Mode,c=function(){this.HighlightRules=s};r.inherits(c,g),function(){this.createWorker=function(e){var t=new a(["ace"],"ace/mode/jsonata_worker","JSONataWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/jsonata"}.call(c.prototype),t.Mode=c});