You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			165 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			JavaScript
		
	
			
		
		
	
	
			165 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			JavaScript
		
	
"use strict";
 | 
						|
(self["webpackChunk_JUPYTERLAB_CORE_OUTPUT"] = self["webpackChunk_JUPYTERLAB_CORE_OUTPUT"] || []).push([[4843],{
 | 
						|
 | 
						|
/***/ 64843:
 | 
						|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
 | 
						|
 | 
						|
__webpack_require__.r(__webpack_exports__);
 | 
						|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
 | 
						|
/* harmony export */   mscgen: () => (/* binding */ mscgen),
 | 
						|
/* harmony export */   msgenny: () => (/* binding */ msgenny),
 | 
						|
/* harmony export */   xu: () => (/* binding */ xu)
 | 
						|
/* harmony export */ });
 | 
						|
function mkParser(lang) {
 | 
						|
  return {
 | 
						|
    name: "mscgen",
 | 
						|
    startState: startStateFn,
 | 
						|
    copyState: copyStateFn,
 | 
						|
    token: produceTokenFunction(lang),
 | 
						|
    languageData: {
 | 
						|
      commentTokens: {line: "#", block: {open: "/*", close: "*/"}}
 | 
						|
    }
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
const mscgen = mkParser({
 | 
						|
  "keywords" : ["msc"],
 | 
						|
  "options" : ["hscale", "width", "arcgradient", "wordwraparcs"],
 | 
						|
  "constants" : ["true", "false", "on", "off"],
 | 
						|
  "attributes" : ["label", "idurl", "id", "url", "linecolor", "linecolour", "textcolor", "textcolour", "textbgcolor", "textbgcolour", "arclinecolor", "arclinecolour", "arctextcolor", "arctextcolour", "arctextbgcolor", "arctextbgcolour", "arcskip"],
 | 
						|
  "brackets" : ["\\{", "\\}"], // [ and  ] are brackets too, but these get handled in with lists
 | 
						|
  "arcsWords" : ["note", "abox", "rbox", "box"],
 | 
						|
  "arcsOthers" : ["\\|\\|\\|", "\\.\\.\\.", "---", "--", "<->", "==", "<<=>>", "<=>", "\\.\\.", "<<>>", "::", "<:>", "->", "=>>", "=>", ">>", ":>", "<-", "<<=", "<=", "<<", "<:", "x-", "-x"],
 | 
						|
  "singlecomment" : ["//", "#"],
 | 
						|
  "operators" : ["="]
 | 
						|
})
 | 
						|
 | 
						|
const msgenny = mkParser({
 | 
						|
  "keywords" : null,
 | 
						|
  "options" : ["hscale", "width", "arcgradient", "wordwraparcs", "wordwrapentities", "watermark"],
 | 
						|
  "constants" : ["true", "false", "on", "off", "auto"],
 | 
						|
  "attributes" : null,
 | 
						|
  "brackets" : ["\\{", "\\}"],
 | 
						|
  "arcsWords" : ["note", "abox", "rbox", "box", "alt", "else", "opt", "break", "par", "seq", "strict", "neg", "critical", "ignore", "consider", "assert", "loop", "ref", "exc"],
 | 
						|
  "arcsOthers" : ["\\|\\|\\|", "\\.\\.\\.", "---", "--", "<->", "==", "<<=>>", "<=>", "\\.\\.", "<<>>", "::", "<:>", "->", "=>>", "=>", ">>", ":>", "<-", "<<=", "<=", "<<", "<:", "x-", "-x"],
 | 
						|
  "singlecomment" : ["//", "#"],
 | 
						|
  "operators" : ["="]
 | 
						|
})
 | 
						|
 | 
						|
const xu = mkParser({
 | 
						|
  "keywords" : ["msc", "xu"],
 | 
						|
  "options" : ["hscale", "width", "arcgradient", "wordwraparcs", "wordwrapentities", "watermark"],
 | 
						|
  "constants" : ["true", "false", "on", "off", "auto"],
 | 
						|
  "attributes" : ["label", "idurl", "id", "url", "linecolor", "linecolour", "textcolor", "textcolour", "textbgcolor", "textbgcolour", "arclinecolor", "arclinecolour", "arctextcolor", "arctextcolour", "arctextbgcolor", "arctextbgcolour", "arcskip", "title", "deactivate", "activate", "activation"],
 | 
						|
  "brackets" : ["\\{", "\\}"],  // [ and  ] are brackets too, but these get handled in with lists
 | 
						|
  "arcsWords" : ["note", "abox", "rbox", "box", "alt", "else", "opt", "break", "par", "seq", "strict", "neg", "critical", "ignore", "consider", "assert", "loop", "ref", "exc"],
 | 
						|
  "arcsOthers" : ["\\|\\|\\|", "\\.\\.\\.", "---", "--", "<->", "==", "<<=>>", "<=>", "\\.\\.", "<<>>", "::", "<:>", "->", "=>>", "=>", ">>", ":>", "<-", "<<=", "<=", "<<", "<:", "x-", "-x"],
 | 
						|
  "singlecomment" : ["//", "#"],
 | 
						|
  "operators" : ["="]
 | 
						|
})
 | 
						|
 | 
						|
function wordRegexpBoundary(pWords) {
 | 
						|
  return new RegExp("^\\b(" + pWords.join("|") + ")\\b", "i");
 | 
						|
}
 | 
						|
 | 
						|
function wordRegexp(pWords) {
 | 
						|
  return new RegExp("^(?:" + pWords.join("|") + ")", "i");
 | 
						|
}
 | 
						|
 | 
						|
function startStateFn() {
 | 
						|
  return {
 | 
						|
    inComment : false,
 | 
						|
    inString : false,
 | 
						|
    inAttributeList : false,
 | 
						|
    inScript : false
 | 
						|
  };
 | 
						|
}
 | 
						|
 | 
						|
function copyStateFn(pState) {
 | 
						|
  return {
 | 
						|
    inComment : pState.inComment,
 | 
						|
    inString : pState.inString,
 | 
						|
    inAttributeList : pState.inAttributeList,
 | 
						|
    inScript : pState.inScript
 | 
						|
  };
 | 
						|
}
 | 
						|
 | 
						|
function produceTokenFunction(pConfig) {
 | 
						|
  return function(pStream, pState) {
 | 
						|
    if (pStream.match(wordRegexp(pConfig.brackets), true, true)) {
 | 
						|
      return "bracket";
 | 
						|
    }
 | 
						|
    /* comments */
 | 
						|
    if (!pState.inComment) {
 | 
						|
      if (pStream.match(/\/\*[^\*\/]*/, true, true)) {
 | 
						|
        pState.inComment = true;
 | 
						|
        return "comment";
 | 
						|
      }
 | 
						|
      if (pStream.match(wordRegexp(pConfig.singlecomment), true, true)) {
 | 
						|
        pStream.skipToEnd();
 | 
						|
        return "comment";
 | 
						|
      }
 | 
						|
    }
 | 
						|
    if (pState.inComment) {
 | 
						|
      if (pStream.match(/[^\*\/]*\*\//, true, true))
 | 
						|
        pState.inComment = false;
 | 
						|
      else
 | 
						|
        pStream.skipToEnd();
 | 
						|
      return "comment";
 | 
						|
    }
 | 
						|
    /* strings */
 | 
						|
    if (!pState.inString && pStream.match(/\"(\\\"|[^\"])*/, true, true)) {
 | 
						|
      pState.inString = true;
 | 
						|
      return "string";
 | 
						|
    }
 | 
						|
    if (pState.inString) {
 | 
						|
      if (pStream.match(/[^\"]*\"/, true, true))
 | 
						|
        pState.inString = false;
 | 
						|
      else
 | 
						|
        pStream.skipToEnd();
 | 
						|
      return "string";
 | 
						|
    }
 | 
						|
    /* keywords & operators */
 | 
						|
    if (!!pConfig.keywords && pStream.match(wordRegexpBoundary(pConfig.keywords), true, true))
 | 
						|
      return "keyword";
 | 
						|
 | 
						|
    if (pStream.match(wordRegexpBoundary(pConfig.options), true, true))
 | 
						|
      return "keyword";
 | 
						|
 | 
						|
    if (pStream.match(wordRegexpBoundary(pConfig.arcsWords), true, true))
 | 
						|
      return "keyword";
 | 
						|
 | 
						|
    if (pStream.match(wordRegexp(pConfig.arcsOthers), true, true))
 | 
						|
      return "keyword";
 | 
						|
 | 
						|
    if (!!pConfig.operators && pStream.match(wordRegexp(pConfig.operators), true, true))
 | 
						|
      return "operator";
 | 
						|
 | 
						|
    if (!!pConfig.constants && pStream.match(wordRegexp(pConfig.constants), true, true))
 | 
						|
      return "variable";
 | 
						|
 | 
						|
    /* attribute lists */
 | 
						|
    if (!pConfig.inAttributeList && !!pConfig.attributes && pStream.match('[', true, true)) {
 | 
						|
      pConfig.inAttributeList = true;
 | 
						|
      return "bracket";
 | 
						|
    }
 | 
						|
    if (pConfig.inAttributeList) {
 | 
						|
      if (pConfig.attributes !== null && pStream.match(wordRegexpBoundary(pConfig.attributes), true, true)) {
 | 
						|
        return "attribute";
 | 
						|
      }
 | 
						|
      if (pStream.match(']', true, true)) {
 | 
						|
        pConfig.inAttributeList = false;
 | 
						|
        return "bracket";
 | 
						|
      }
 | 
						|
    }
 | 
						|
 | 
						|
    pStream.next();
 | 
						|
    return null
 | 
						|
  };
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
/***/ })
 | 
						|
 | 
						|
}]);
 | 
						|
//# sourceMappingURL=4843.7eed3c5267c10f3eb786.js.map?v=7eed3c5267c10f3eb786
 |