{"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>| 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"]}