1{"version":3,"sources":["../../node_modules/codemirror/mode/factor/factor.js"],"names":["mod","exports","module","require","define","amd","CodeMirror","defineSimpleMode","start","regex","token","next","vocabulary","string","string2","string3","stack","meta","dontIndentStates","lineComment","defineMIME"],"mappings":"CAOA,SAAUA,GACR,SAAWC,UAAW,gBAAmBC,SAAU,SACjDF,EAAIG,QAAQ,wBAAyBA,QAAQ,gCAC1C,UAAWC,SAAU,YAAcA,OAAOC,IAC7CD,QAAQ,uBAAwB,2BAA4BJ,OAE5DA,GAAIM,cACL,SAASA,GACV,YAEAA,GAAWC,iBAAiB,UAE1BC,QAEGC,MAAO,QAASC,MAAO,YAEvBD,MAAO,MAAOC,MAAO,SAAUC,KAAM,YACrCF,MAAO,gBAAiBC,OAAQ,UAAW,MAAOC,KAAM,YACxDF,MAAO,QAASC,MAAO,SAAUC,KAAM,WAEvCF,MAAO,kEAAmEC,MAAO,WAGjFD,MAAO,yCAA0CC,OAAQ,UAAW,KAAM,MAAO,KAAM,WAAYC,KAAM,UAEzGF,MAAO,4BAA6BC,OAAQ,UAAW,KAAM,MAAO,KAAM,SAE1ED,MAAO,UAAWC,MAAO,UAAWC,KAAM,eAE1CF,MAAO,iCAAkCC,OAAQ,UAAW,KAAM,SAElED,MAAO,4BAA6BC,OAAQ,UAAW,KAAM,SAE7DD,MAAO,qFAAsFC,MAAO,YAEpGD,MAAO,0BAA2BC,MAAO,YACzCD,MAAO,qBAAsBC,MAAO,YAEpCD,MAAO,6BAA8BC,MAAO,YAE5CD,MAAO,MAAOC,MAAO,aACrBD,MAAO,QAASC,MAAO,OAE1BE,aACGH,MAAO,IAAKC,MAAO,UAAWC,KAAM,UACpCF,MAAO,MAAOC,MAAO,QACrBD,MAAO,QAASC,MAAO,OAE1BG,SACGJ,MAAO,mBAAoBC,MAAO,SAAUC,KAAM,UAClDF,MAAO,KAAMC,MAAO,WAEvBI,UACGL,MAAO,KAAMC,MAAO,UAAWC,KAAM,UACrCF,MAAO,KAAMC,MAAO,WAEvBK,UACGN,MAAO,qBAAsBC,MAAO,SAAUC,KAAM,UACpDF,MAAO,KAAMC,MAAO,WAEvBM,QACGP,MAAO,KAAMC,MAAO,UAAWC,KAAM,UACrCF,MAAO,KAAMC,MAAO,YACpBD,MAAO,MAAOC,MAAO,SACrBD,MAAO,QAASC,MAAO,OAM1BO,MACEC,kBAAmB,QAAS,aAAc,SAAU,UAAW,SAC/DC,aAAe,IAAK,QAIxBb,GAAWc,WAAW,gBAAiB","file":"factor.min.js","sourcesContent":["// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n// Factor syntax highlight - simple mode\n//\n// by Dimage Sapelkin (https://github.com/kerabromsmu)\n\n(function(mod) {\n  if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n    mod(require(\"../../lib/codemirror\"), require(\"../../addon/mode/simple\"));\n  else if (typeof define == \"function\" && define.amd) // AMD\n    define([\"../../lib/codemirror\", \"../../addon/mode/simple\"], mod);\n  else // Plain browser env\n    mod(CodeMirror);\n})(function(CodeMirror) {\n  \"use strict\";\n\n  CodeMirror.defineSimpleMode(\"factor\", {\n    // The start state contains the rules that are intially used\n    start: [\n      // comments\n      {regex: /#?!.*/, token: \"comment\"},\n      // strings \"\"\", multiline --> state\n      {regex: /\"\"\"/, token: \"string\", next: \"string3\"},\n      {regex: /(STRING:)(\\s)/, token: [\"keyword\", null], next: \"string2\"},\n      {regex: /\\S*?\"/, token: \"string\", next: \"string\"},\n      // numbers: dec, hex, unicode, bin, fractional, complex\n      {regex: /(?:0x[\\d,a-f]+)|(?:0o[0-7]+)|(?:0b[0,1]+)|(?:\\-?\\d+.?\\d*)(?=\\s)/, token: \"number\"},\n      //{regex: /[+-]?/} //fractional\n      // definition: defining word, defined word, etc\n      {regex: /((?:GENERIC)|\\:?\\:)(\\s+)(\\S+)(\\s+)(\\()/, token: [\"keyword\", null, \"def\", null, \"bracket\"], next: \"stack\"},\n      // method definition: defining word, type, defined word, etc\n      {regex: /(M\\:)(\\s+)(\\S+)(\\s+)(\\S+)/, token: [\"keyword\", null, \"def\", null, \"tag\"]},\n      // vocabulary using --> state\n      {regex: /USING\\:/, token: \"keyword\", next: \"vocabulary\"},\n      // vocabulary definition/use\n      {regex: /(USE\\:|IN\\:)(\\s+)(\\S+)(?=\\s|$)/, token: [\"keyword\", null, \"tag\"]},\n      // definition: a defining word, defined word\n      {regex: /(\\S+\\:)(\\s+)(\\S+)(?=\\s|$)/, token: [\"keyword\", null, \"def\"]},\n      // \"keywords\", incl. ; t f . [ ] { } defining words\n      {regex: /(?:;|\\\\|t|f|if|loop|while|until|do|PRIVATE>|<PRIVATE|\\.|\\S*\\[|\\]|\\S*\\{|\\})(?=\\s|$)/, token: \"keyword\"},\n      // <constructors> and the like\n      {regex: /\\S+[\\)>\\.\\*\\?]+(?=\\s|$)/, token: \"builtin\"},\n      {regex: /[\\)><]+\\S+(?=\\s|$)/, token: \"builtin\"},\n      // operators\n      {regex: /(?:[\\+\\-\\=\\/\\*<>])(?=\\s|$)/, token: \"keyword\"},\n      // any id (?)\n      {regex: /\\S+/, token: \"variable\"},\n      {regex: /\\s+|./, token: null}\n    ],\n    vocabulary: [\n      {regex: /;/, token: \"keyword\", next: \"start\"},\n      {regex: /\\S+/, token: \"tag\"},\n      {regex: /\\s+|./, token: null}\n    ],\n    string: [\n      {regex: /(?:[^\\\\]|\\\\.)*?\"/, token: \"string\", next: \"start\"},\n      {regex: /.*/, token: \"string\"}\n    ],\n    string2: [\n      {regex: /^;/, token: \"keyword\", next: \"start\"},\n      {regex: /.*/, token: \"string\"}\n    ],\n    string3: [\n      {regex: /(?:[^\\\\]|\\\\.)*?\"\"\"/, token: \"string\", next: \"start\"},\n      {regex: /.*/, token: \"string\"}\n    ],\n    stack: [\n      {regex: /\\)/, token: \"bracket\", next: \"start\"},\n      {regex: /--/, token: \"bracket\"},\n      {regex: /\\S+/, token: \"meta\"},\n      {regex: /\\s+|./, token: null}\n    ],\n    // The meta property contains global information about the mode. It\n    // can contain properties like lineComment, which are supported by\n    // all modes, and also directives like dontIndentStates, which are\n    // specific to simple modes.\n    meta: {\n      dontIndentStates: [\"start\", \"vocabulary\", \"string\", \"string3\", \"stack\"],\n      lineComment: [ \"!\", \"#!\" ]\n    }\n  });\n\n  CodeMirror.defineMIME(\"text/x-factor\", \"factor\");\n});\n"]}