{"version":3,"sources":["../../node_modules/codemirror/mode/properties/properties.js"],"names":["mod","exports","module","require","define","amd","CodeMirror","defineMode","token","stream","state","sol","afterSection","eol","nextMultiline","inMultiline","position","eatSpace","ch","next","skipToEnd","skipTo","eat","startState","defineMIME"],"mappings":"CAGA,SAAUA,GACR,SAAWC,UAAW,gBAAmBC,SAAU,SACjDF,EAAIG,QAAQ,6BACT,UAAWC,SAAU,YAAcA,OAAOC,IAC7CD,QAAQ,wBAAyBJ,OAEjCA,GAAIM,cACL,SAASA,GACZ,YAEAA,GAAWC,WAAW,aAAc,WAClC,OACEC,MAAO,SAASC,EAAQC,GACtB,GAAIC,GAAMF,EAAOE,OAASD,EAAME,YAChC,IAAIC,GAAMJ,EAAOI,KAEjBH,GAAME,aAAe,KAErB,IAAID,EAAK,CACP,GAAID,EAAMI,cAAe,CACvBJ,EAAMK,YAAc,IACpBL,GAAMI,cAAgB,UACjB,CACLJ,EAAMM,SAAW,OAIrB,GAAIH,IAASH,EAAMI,cAAe,CAChCJ,EAAMK,YAAc,KACpBL,GAAMM,SAAW,MAGnB,GAAIL,EAAK,CACP,MAAMF,EAAOQ,WAAY,GAG3B,GAAIC,GAAKT,EAAOU,MAEhB,IAAIR,IAAQO,IAAO,KAAOA,IAAO,KAAOA,IAAO,KAAM,CACnDR,EAAMM,SAAW,SACjBP,GAAOW,WACP,OAAO,cACF,IAAIT,GAAOO,IAAO,IAAK,CAC5BR,EAAME,aAAe,IACrBH,GAAOY,OAAO,IAAMZ,GAAOa,IAAI,IAC/B,OAAO,aACF,IAAIJ,IAAO,KAAOA,IAAO,IAAK,CACnCR,EAAMM,SAAW,OACjB,OAAO,UACF,IAAIE,IAAO,MAAQR,EAAMM,WAAa,QAAS,CACpD,GAAIP,EAAOI,MAAO,CAEhBH,EAAMI,cAAgB,MAI1B,MAAOJ,GAAMM,UAGfO,WAAY,WACV,OACEP,SAAW,MACXF,cAAgB,MAChBC,YAAc,MACdH,aAAe,UAOvBN,GAAWkB,WAAW,oBAAqB,aAC3ClB,GAAWkB,WAAW,aAAc","file":"properties.min.js","sourcesContent":["// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode(\"properties\", function() {\n return {\n token: function(stream, state) {\n var sol = stream.sol() || state.afterSection;\n var eol = stream.eol();\n\n state.afterSection = false;\n\n if (sol) {\n if (state.nextMultiline) {\n state.inMultiline = true;\n state.nextMultiline = false;\n } else {\n state.position = \"def\";\n }\n }\n\n if (eol && ! state.nextMultiline) {\n state.inMultiline = false;\n state.position = \"def\";\n }\n\n if (sol) {\n while(stream.eatSpace()) {}\n }\n\n var ch = stream.next();\n\n if (sol && (ch === \"#\" || ch === \"!\" || ch === \";\")) {\n state.position = \"comment\";\n stream.skipToEnd();\n return \"comment\";\n } else if (sol && ch === \"[\") {\n state.afterSection = true;\n stream.skipTo(\"]\"); stream.eat(\"]\");\n return \"header\";\n } else if (ch === \"=\" || ch === \":\") {\n state.position = \"quote\";\n return null;\n } else if (ch === \"\\\\\" && state.position === \"quote\") {\n if (stream.eol()) { // end of line?\n // Multiline value\n state.nextMultiline = true;\n }\n }\n\n return state.position;\n },\n\n startState: function() {\n return {\n position : \"def\", // Current position, \"def\", \"quote\" or \"comment\"\n nextMultiline : false, // Is the next line multiline value\n inMultiline : false, // Is the current line a multiline value\n afterSection : false // Did we just open a section\n };\n }\n\n };\n});\n\nCodeMirror.defineMIME(\"text/x-properties\", \"properties\");\nCodeMirror.defineMIME(\"text/x-ini\", \"properties\");\n\n});\n"]}