{"version":3,"file":"mscgen-DXB_4N_e.cjs","sources":["../../../node_modules/@codemirror/legacy-modes/mode/mscgen.js"],"sourcesContent":["function mkParser(lang) {\n  return {\n    name: \"mscgen\",\n    startState: startStateFn,\n    copyState: copyStateFn,\n    token: produceTokenFunction(lang),\n    languageData: {\n      commentTokens: {line: \"#\", block: {open: \"/*\", close: \"*/\"}}\n    }\n  }\n}\n\nexport const mscgen = mkParser({\n  \"keywords\" : [\"msc\"],\n  \"options\" : [\"hscale\", \"width\", \"arcgradient\", \"wordwraparcs\"],\n  \"constants\" : [\"true\", \"false\", \"on\", \"off\"],\n  \"attributes\" : [\"label\", \"idurl\", \"id\", \"url\", \"linecolor\", \"linecolour\", \"textcolor\", \"textcolour\", \"textbgcolor\", \"textbgcolour\", \"arclinecolor\", \"arclinecolour\", \"arctextcolor\", \"arctextcolour\", \"arctextbgcolor\", \"arctextbgcolour\", \"arcskip\"],\n  \"brackets\" : [\"\\\\{\", \"\\\\}\"], // [ and  ] are brackets too, but these get handled in with lists\n  \"arcsWords\" : [\"note\", \"abox\", \"rbox\", \"box\"],\n  \"arcsOthers\" : [\"\\\\|\\\\|\\\\|\", \"\\\\.\\\\.\\\\.\", \"---\", \"--\", \"<->\", \"==\", \"<<=>>\", \"<=>\", \"\\\\.\\\\.\", \"<<>>\", \"::\", \"<:>\", \"->\", \"=>>\", \"=>\", \">>\", \":>\", \"<-\", \"<<=\", \"<=\", \"<<\", \"<:\", \"x-\", \"-x\"],\n  \"singlecomment\" : [\"//\", \"#\"],\n  \"operators\" : [\"=\"]\n})\n\nexport const msgenny = mkParser({\n  \"keywords\" : null,\n  \"options\" : [\"hscale\", \"width\", \"arcgradient\", \"wordwraparcs\", \"wordwrapentities\", \"watermark\"],\n  \"constants\" : [\"true\", \"false\", \"on\", \"off\", \"auto\"],\n  \"attributes\" : null,\n  \"brackets\" : [\"\\\\{\", \"\\\\}\"],\n  \"arcsWords\" : [\"note\", \"abox\", \"rbox\", \"box\", \"alt\", \"else\", \"opt\", \"break\", \"par\", \"seq\", \"strict\", \"neg\", \"critical\", \"ignore\", \"consider\", \"assert\", \"loop\", \"ref\", \"exc\"],\n  \"arcsOthers\" : [\"\\\\|\\\\|\\\\|\", \"\\\\.\\\\.\\\\.\", \"---\", \"--\", \"<->\", \"==\", \"<<=>>\", \"<=>\", \"\\\\.\\\\.\", \"<<>>\", \"::\", \"<:>\", \"->\", \"=>>\", \"=>\", \">>\", \":>\", \"<-\", \"<<=\", \"<=\", \"<<\", \"<:\", \"x-\", \"-x\"],\n  \"singlecomment\" : [\"//\", \"#\"],\n  \"operators\" : [\"=\"]\n})\n\nexport const xu = mkParser({\n  \"keywords\" : [\"msc\", \"xu\"],\n  \"options\" : [\"hscale\", \"width\", \"arcgradient\", \"wordwraparcs\", \"wordwrapentities\", \"watermark\"],\n  \"constants\" : [\"true\", \"false\", \"on\", \"off\", \"auto\"],\n  \"attributes\" : [\"label\", \"idurl\", \"id\", \"url\", \"linecolor\", \"linecolour\", \"textcolor\", \"textcolour\", \"textbgcolor\", \"textbgcolour\", \"arclinecolor\", \"arclinecolour\", \"arctextcolor\", \"arctextcolour\", \"arctextbgcolor\", \"arctextbgcolour\", \"arcskip\", \"title\", \"deactivate\", \"activate\", \"activation\"],\n  \"brackets\" : [\"\\\\{\", \"\\\\}\"],  // [ and  ] are brackets too, but these get handled in with lists\n  \"arcsWords\" : [\"note\", \"abox\", \"rbox\", \"box\", \"alt\", \"else\", \"opt\", \"break\", \"par\", \"seq\", \"strict\", \"neg\", \"critical\", \"ignore\", \"consider\", \"assert\", \"loop\", \"ref\", \"exc\"],\n  \"arcsOthers\" : [\"\\\\|\\\\|\\\\|\", \"\\\\.\\\\.\\\\.\", \"---\", \"--\", \"<->\", \"==\", \"<<=>>\", \"<=>\", \"\\\\.\\\\.\", \"<<>>\", \"::\", \"<:>\", \"->\", \"=>>\", \"=>\", \">>\", \":>\", \"<-\", \"<<=\", \"<=\", \"<<\", \"<:\", \"x-\", \"-x\"],\n  \"singlecomment\" : [\"//\", \"#\"],\n  \"operators\" : [\"=\"]\n})\n\nfunction wordRegexpBoundary(pWords) {\n  return new RegExp(\"^\\\\b(\" + pWords.join(\"|\") + \")\\\\b\", \"i\");\n}\n\nfunction wordRegexp(pWords) {\n  return new RegExp(\"^(?:\" + pWords.join(\"|\") + \")\", \"i\");\n}\n\nfunction startStateFn() {\n  return {\n    inComment : false,\n    inString : false,\n    inAttributeList : false,\n    inScript : false\n  };\n}\n\nfunction copyStateFn(pState) {\n  return {\n    inComment : pState.inComment,\n    inString : pState.inString,\n    inAttributeList : pState.inAttributeList,\n    inScript : pState.inScript\n  };\n}\n\nfunction produceTokenFunction(pConfig) {\n  return function(pStream, pState) {\n    if (pStream.match(wordRegexp(pConfig.brackets), true, true)) {\n      return \"bracket\";\n    }\n    /* comments */\n    if (!pState.inComment) {\n      if (pStream.match(/\\/\\*[^\\*\\/]*/, true, true)) {\n        pState.inComment = true;\n        return \"comment\";\n      }\n      if (pStream.match(wordRegexp(pConfig.singlecomment), true, true)) {\n        pStream.skipToEnd();\n        return \"comment\";\n      }\n    }\n    if (pState.inComment) {\n      if (pStream.match(/[^\\*\\/]*\\*\\//, true, true))\n        pState.inComment = false;\n      else\n        pStream.skipToEnd();\n      return \"comment\";\n    }\n    /* strings */\n    if (!pState.inString && pStream.match(/\\\"(\\\\\\\"|[^\\\"])*/, true, true)) {\n      pState.inString = true;\n      return \"string\";\n    }\n    if (pState.inString) {\n      if (pStream.match(/[^\\\"]*\\\"/, true, true))\n        pState.inString = false;\n      else\n        pStream.skipToEnd();\n      return \"string\";\n    }\n    /* keywords & operators */\n    if (!!pConfig.keywords && pStream.match(wordRegexpBoundary(pConfig.keywords), true, true))\n      return \"keyword\";\n\n    if (pStream.match(wordRegexpBoundary(pConfig.options), true, true))\n      return \"keyword\";\n\n    if (pStream.match(wordRegexpBoundary(pConfig.arcsWords), true, true))\n      return \"keyword\";\n\n    if (pStream.match(wordRegexp(pConfig.arcsOthers), true, true))\n      return \"keyword\";\n\n    if (!!pConfig.operators && pStream.match(wordRegexp(pConfig.operators), true, true))\n      return \"operator\";\n\n    if (!!pConfig.constants && pStream.match(wordRegexp(pConfig.constants), true, true))\n      return \"variable\";\n\n    /* attribute lists */\n    if (!pConfig.inAttributeList && !!pConfig.attributes && pStream.match('[', true, true)) {\n      pConfig.inAttributeList = true;\n      return \"bracket\";\n    }\n    if (pConfig.inAttributeList) {\n      if (pConfig.attributes !== null && pStream.match(wordRegexpBoundary(pConfig.attributes), true, true)) {\n        return \"attribute\";\n      }\n      if (pStream.match(']', true, true)) {\n        pConfig.inAttributeList = false;\n        return \"bracket\";\n      }\n    }\n\n    pStream.next();\n    return null\n  };\n}\n"],"names":["mkParser","lang","name","startState","startStateFn","copyState","copyStateFn","token","pConfig","pStream","pState","match","wordRegexp","brackets","inComment","singlecomment","skipToEnd","inString","keywords","wordRegexpBoundary","options","arcsWords","arcsOthers","operators","constants","inAttributeList","attributes","next","languageData","commentTokens","line","block","open","close","mscgen","msgenny","xu","pWords","RegExp","join","inScript"],"mappings":"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","x_google_ignoreList":[0]}