{"version":3,"file":"asterisk-DIP73UbG.cjs","sources":["../../../node_modules/@codemirror/legacy-modes/mode/asterisk.js"],"sourcesContent":["var atoms    = [\"exten\", \"same\", \"include\",\"ignorepat\",\"switch\"],\n    dpcmd    = [\"#include\",\"#exec\"],\n    apps     = [\n      \"addqueuemember\",\"adsiprog\",\"aelsub\",\"agentlogin\",\"agentmonitoroutgoing\",\"agi\",\n      \"alarmreceiver\",\"amd\",\"answer\",\"authenticate\",\"background\",\"backgrounddetect\",\n      \"bridge\",\"busy\",\"callcompletioncancel\",\"callcompletionrequest\",\"celgenuserevent\",\n      \"changemonitor\",\"chanisavail\",\"channelredirect\",\"chanspy\",\"clearhash\",\"confbridge\",\n      \"congestion\",\"continuewhile\",\"controlplayback\",\"dahdiacceptr2call\",\"dahdibarge\",\n      \"dahdiras\",\"dahdiscan\",\"dahdisendcallreroutingfacility\",\"dahdisendkeypadfacility\",\n      \"datetime\",\"dbdel\",\"dbdeltree\",\"deadagi\",\"dial\",\"dictate\",\"directory\",\"disa\",\n      \"dumpchan\",\"eagi\",\"echo\",\"endwhile\",\"exec\",\"execif\",\"execiftime\",\"exitwhile\",\"extenspy\",\n      \"externalivr\",\"festival\",\"flash\",\"followme\",\"forkcdr\",\"getcpeid\",\"gosub\",\"gosubif\",\n      \"goto\",\"gotoif\",\"gotoiftime\",\"hangup\",\"iax2provision\",\"ices\",\"importvar\",\"incomplete\",\n      \"ivrdemo\",\"jabberjoin\",\"jabberleave\",\"jabbersend\",\"jabbersendgroup\",\"jabberstatus\",\n      \"jack\",\"log\",\"macro\",\"macroexclusive\",\"macroexit\",\"macroif\",\"mailboxexists\",\"meetme\",\n      \"meetmeadmin\",\"meetmechanneladmin\",\"meetmecount\",\"milliwatt\",\"minivmaccmess\",\"minivmdelete\",\n      \"minivmgreet\",\"minivmmwi\",\"minivmnotify\",\"minivmrecord\",\"mixmonitor\",\"monitor\",\"morsecode\",\n      \"mp3player\",\"mset\",\"musiconhold\",\"nbscat\",\"nocdr\",\"noop\",\"odbc\",\"odbc\",\"odbcfinish\",\n      \"originate\",\"ospauth\",\"ospfinish\",\"osplookup\",\"ospnext\",\"page\",\"park\",\"parkandannounce\",\n      \"parkedcall\",\"pausemonitor\",\"pausequeuemember\",\"pickup\",\"pickupchan\",\"playback\",\"playtones\",\n      \"privacymanager\",\"proceeding\",\"progress\",\"queue\",\"queuelog\",\"raiseexception\",\"read\",\"readexten\",\n      \"readfile\",\"receivefax\",\"receivefax\",\"receivefax\",\"record\",\"removequeuemember\",\n      \"resetcdr\",\"retrydial\",\"return\",\"ringing\",\"sayalpha\",\"saycountedadj\",\"saycountednoun\",\n      \"saycountpl\",\"saydigits\",\"saynumber\",\"sayphonetic\",\"sayunixtime\",\"senddtmf\",\"sendfax\",\n      \"sendfax\",\"sendfax\",\"sendimage\",\"sendtext\",\"sendurl\",\"set\",\"setamaflags\",\n      \"setcallerpres\",\"setmusiconhold\",\"sipaddheader\",\"sipdtmfmode\",\"sipremoveheader\",\"skel\",\n      \"slastation\",\"slatrunk\",\"sms\",\"softhangup\",\"speechactivategrammar\",\"speechbackground\",\n      \"speechcreate\",\"speechdeactivategrammar\",\"speechdestroy\",\"speechloadgrammar\",\"speechprocessingsound\",\n      \"speechstart\",\"speechunloadgrammar\",\"stackpop\",\"startmusiconhold\",\"stopmixmonitor\",\"stopmonitor\",\n      \"stopmusiconhold\",\"stopplaytones\",\"system\",\"testclient\",\"testserver\",\"transfer\",\"tryexec\",\n      \"trysystem\",\"unpausemonitor\",\"unpausequeuemember\",\"userevent\",\"verbose\",\"vmauthenticate\",\n      \"vmsayname\",\"voicemail\",\"voicemailmain\",\"wait\",\"waitexten\",\"waitfornoise\",\"waitforring\",\n      \"waitforsilence\",\"waitmusiconhold\",\"waituntil\",\"while\",\"zapateller\"\n    ];\n\nfunction basicToken(stream,state){\n  var cur = '';\n  var ch = stream.next();\n  // comment\n  if (state.blockComment) {\n    if (ch == \"-\" && stream.match(\"-;\", true)) {\n      state.blockComment = false;\n    } else if (stream.skipTo(\"--;\")) {\n      stream.next();\n      stream.next();\n      stream.next();\n      state.blockComment = false;\n    } else {\n      stream.skipToEnd();\n    }\n    return \"comment\";\n  }\n  if(ch == \";\") {\n    if (stream.match(\"--\", true)) {\n      if (!stream.match(\"-\", false)) {  // Except ;--- is not a block comment\n        state.blockComment = true;\n        return \"comment\";\n      }\n    }\n    stream.skipToEnd();\n    return \"comment\";\n  }\n  // context\n  if(ch == '[') {\n    stream.skipTo(']');\n    stream.eat(']');\n    return \"header\";\n  }\n  // string\n  if(ch == '\"') {\n    stream.skipTo('\"');\n    return \"string\";\n  }\n  if(ch == \"'\") {\n    stream.skipTo(\"'\");\n    return \"string.special\";\n  }\n  // dialplan commands\n  if(ch == '#') {\n    stream.eatWhile(/\\w/);\n    cur = stream.current();\n    if(dpcmd.indexOf(cur) !== -1) {\n      stream.skipToEnd();\n      return \"strong\";\n    }\n  }\n  // application args\n  if(ch == '$'){\n    var ch1 = stream.peek();\n    if(ch1 == '{'){\n      stream.skipTo('}');\n      stream.eat('}');\n      return \"variableName.special\";\n    }\n  }\n  // extension\n  stream.eatWhile(/\\w/);\n  cur = stream.current();\n  if(atoms.indexOf(cur) !== -1) {\n    state.extenStart = true;\n    switch(cur) {\n    case 'same': state.extenSame = true; break;\n    case 'include':\n    case 'switch':\n    case 'ignorepat':\n      state.extenInclude = true;break;\n    default:break;\n    }\n    return \"atom\";\n  }\n}\n\nexport const asterisk = {\n  name: \"asterisk\",\n  startState: function() {\n    return {\n      blockComment: false,\n      extenStart: false,\n      extenSame:  false,\n      extenInclude: false,\n      extenExten: false,\n      extenPriority: false,\n      extenApplication: false\n    };\n  },\n  token: function(stream, state) {\n\n    var cur = '';\n    if(stream.eatSpace()) return null;\n    // extension started\n    if(state.extenStart){\n      stream.eatWhile(/[^\\s]/);\n      cur = stream.current();\n      if(/^=>?$/.test(cur)){\n        state.extenExten = true;\n        state.extenStart = false;\n        return \"strong\";\n      } else {\n        state.extenStart = false;\n        stream.skipToEnd();\n        return \"error\";\n      }\n    } else if(state.extenExten) {\n      // set exten and priority\n      state.extenExten = false;\n      state.extenPriority = true;\n      stream.eatWhile(/[^,]/);\n      if(state.extenInclude) {\n        stream.skipToEnd();\n        state.extenPriority = false;\n        state.extenInclude = false;\n      }\n      if(state.extenSame) {\n        state.extenPriority = false;\n        state.extenSame = false;\n        state.extenApplication = true;\n      }\n      return \"tag\";\n    } else if(state.extenPriority) {\n      state.extenPriority = false;\n      state.extenApplication = true;\n      stream.next(); // get comma\n      if(state.extenSame) return null;\n      stream.eatWhile(/[^,]/);\n      return \"number\";\n    } else if(state.extenApplication) {\n      stream.eatWhile(/,/);\n      cur = stream.current();\n      if(cur === ',') return null;\n      stream.eatWhile(/\\w/);\n      cur = stream.current().toLowerCase();\n      state.extenApplication = false;\n      if(apps.indexOf(cur) !== -1){\n        return \"def\";\n      }\n    } else{\n      return basicToken(stream,state);\n    }\n\n    return null;\n  },\n\n  languageData: {\n    commentTokens: {line: \";\", block: {open: \";--\", close: \"--;\"}}\n  }\n};\n"],"names":["atoms","dpcmd","apps","asterisk","name","startState","blockComment","extenStart","extenSame","extenInclude","extenExten","extenPriority","extenApplication","token","stream","state","cur","eatSpace","eatWhile","current","test","skipToEnd","next","toLowerCase","indexOf","ch","match","skipTo","eat","peek","basicToken","languageData","commentTokens","line","block","open","close"],"mappings":"gFAAA,IAAIA,EAAW,CAAC,QAAS,OAAQ,UAAU,YAAY,UACnDC,EAAW,CAAC,WAAW,SACvBC,EAAW,CACT,iBAAiB,WAAW,SAAS,aAAa,uBAAuB,MACzE,gBAAgB,MAAM,SAAS,eAAe,aAAa,mBAC3D,SAAS,OAAO,uBAAuB,wBAAwB,kBAC/D,gBAAgB,cAAc,kBAAkB,UAAU,YAAY,aACtE,aAAa,gBAAgB,kBAAkB,oBAAoB,aACnE,WAAW,YAAY,iCAAiC,0BACxD,WAAW,QAAQ,YAAY,UAAU,OAAO,UAAU,YAAY,OACtE,WAAW,OAAO,OAAO,WAAW,OAAO,SAAS,aAAa,YAAY,WAC7E,cAAc,WAAW,QAAQ,WAAW,UAAU,WAAW,QAAQ,UACzE,OAAO,SAAS,aAAa,SAAS,gBAAgB,OAAO,YAAY,aACzE,UAAU,aAAa,cAAc,aAAa,kBAAkB,eACpE,OAAO,MAAM,QAAQ,iBAAiB,YAAY,UAAU,gBAAgB,SAC5E,cAAc,qBAAqB,cAAc,YAAY,gBAAgB,eAC7E,cAAc,YAAY,eAAe,eAAe,aAAa,UAAU,YAC/E,YAAY,OAAO,cAAc,SAAS,QAAQ,OAAO,OAAO,OAAO,aACvE,YAAY,UAAU,YAAY,YAAY,UAAU,OAAO,OAAO,kBACtE,aAAa,eAAe,mBAAmB,SAAS,aAAa,WAAW,YAChF,iBAAiB,aAAa,WAAW,QAAQ,WAAW,iBAAiB,OAAO,YACpF,WAAW,aAAa,aAAa,aAAa,SAAS,oBAC3D,WAAW,YAAY,SAAS,UAAU,WAAW,gBAAgB,iBACrE,aAAa,YAAY,YAAY,cAAc,cAAc,WAAW,UAC5E,UAAU,UAAU,YAAY,WAAW,UAAU,MAAM,cAC3D,gBAAgB,iBAAiB,eAAe,cAAc,kBAAkB,OAChF,aAAa,WAAW,MAAM,aAAa,wBAAwB,mBACnE,eAAe,0BAA0B,gBAAgB,oBAAoB,wBAC7E,cAAc,sBAAsB,WAAW,mBAAmB,iBAAiB,cACnF,kBAAkB,gBAAgB,SAAS,aAAa,aAAa,WAAW,UAChF,YAAY,iBAAiB,qBAAqB,YAAY,UAAU,iBACxE,YAAY,YAAY,gBAAgB,OAAO,YAAY,eAAe,cAC1E,iBAAiB,kBAAkB,YAAY,QAAQ,cAgFjD,MAACC,EAAW,CACtBC,KAAM,WACNC,WAAY,WACV,MAAO,CACLC,cAAc,EACdC,YAAY,EACZC,WAAY,EACZC,cAAc,EACdC,YAAY,EACZC,eAAe,EACfC,kBAAkB,EAEtB,EACAC,MAAO,SAASC,EAAQC,GAEtB,IAAIC,EAAM,GACV,OAAGF,EAAOG,WAAmB,KAE1BF,EAAMR,YACPO,EAAOI,SAAS,SAChBF,EAAMF,EAAOK,UACV,QAAQC,KAAKJ,IACdD,EAAML,YAAa,EACnBK,EAAMR,YAAa,EACZ,WAEPQ,EAAMR,YAAa,EACnBO,EAAOO,YACA,UAEDN,EAAML,YAEdK,EAAML,YAAa,EACnBK,EAAMJ,eAAgB,EACtBG,EAAOI,SAAS,QACbH,EAAMN,eACPK,EAAOO,YACPN,EAAMJ,eAAgB,EACtBI,EAAMN,cAAe,GAEpBM,EAAMP,YACPO,EAAMJ,eAAgB,EACtBI,EAAMP,WAAY,EAClBO,EAAMH,kBAAmB,GAEpB,OACCG,EAAMJ,eACdI,EAAMJ,eAAgB,EACtBI,EAAMH,kBAAmB,EACzBE,EAAOQ,OACJP,EAAMP,UAAkB,MAC3BM,EAAOI,SAAS,QACT,WACCH,EAAMH,kBACdE,EAAOI,SAAS,KAEL,OADXF,EAAMF,EAAOK,WACU,MACvBL,EAAOI,SAAS,MAChBF,EAAMF,EAAOK,UAAUI,cACvBR,EAAMH,kBAAmB,GACA,IAAtBV,EAAKsB,QAAQR,GACP,MAMJ,OAhJX,SAAoBF,EAAOC,GACzB,IAAIC,EAAM,GACNS,EAAKX,EAAOQ,OAEhB,GAAIP,EAAMT,aAWR,MAVU,KAANmB,GAAaX,EAAOY,MAAM,MAAM,GAClCX,EAAMT,cAAe,EACZQ,EAAOa,OAAO,QACvBb,EAAOQ,OACPR,EAAOQ,OACPR,EAAOQ,OACPP,EAAMT,cAAe,GAErBQ,EAAOO,YAEF,UAET,GAAS,KAANI,EACD,OAAIX,EAAOY,MAAM,MAAM,KAChBZ,EAAOY,MAAM,KAAK,IACrBX,EAAMT,cAAe,EACd,YAGXQ,EAAOO,YACA,WAGT,GAAS,KAANI,EAGD,OAFAX,EAAOa,OAAO,KACdb,EAAOc,IAAI,KACJ,SAGT,GAAS,KAANH,EAED,OADAX,EAAOa,OAAO,KACP,SAET,GAAS,KAANF,EAED,OADAX,EAAOa,OAAO,KACP,iBAGT,GAAS,KAANF,IACDX,EAAOI,SAAS,MAChBF,EAAMF,EAAOK,WACa,IAAvBlB,EAAMuB,QAAQR,IAEf,OADAF,EAAOO,YACA,SAIX,GAAS,KAANI,GAES,KADAX,EAAOe,OAIf,OAFAf,EAAOa,OAAO,KACdb,EAAOc,IAAI,KACJ,uBAMX,GAFAd,EAAOI,SAAS,MAChBF,EAAMF,EAAOK,WACa,IAAvBnB,EAAMwB,QAAQR,GAAa,CAE5B,OADAD,EAAMR,YAAa,EACZS,GACP,IAAK,OAAQD,EAAMP,WAAY,EAAM,MACrC,IAAK,UACL,IAAK,SACL,IAAK,YACHO,EAAMN,cAAe,EAGvB,MAAO,MACT,CACF,CAkEaqB,CAAWhB,EAAOC,EAI7B,EAEAgB,aAAc,CACZC,cAAe,CAACC,KAAM,IAAKC,MAAO,CAACC,KAAM,MAAOC,MAAO","x_google_ignoreList":[0]}