UNPKG

datajunction-ui

Version:
1 lines 21.3 kB
{"version":3,"file":"pug-kEfRDOiF.cjs","sources":["../node_modules/@codemirror/legacy-modes/mode/pug.js"],"sourcesContent":["import {javascript} from \"./javascript.js\"\n\nvar ATTRS_NEST = {\n '{': '}',\n '(': ')',\n '[': ']'\n}\n\nfunction defaultCopyState(state) {\n if (typeof state != \"object\") return state\n let newState = {}\n for (let prop in state) {\n let val = state[prop]\n newState[prop] = val instanceof Array ? val.slice() : val\n }\n return newState\n}\n\nclass State {\n constructor(indentUnit) {\n this.indentUnit = indentUnit\n\n this.javaScriptLine = false\n this.javaScriptLineExcludesColon = false\n\n this.javaScriptArguments = false\n this.javaScriptArgumentsDepth = 0\n\n this.isInterpolating = false\n this.interpolationNesting = 0\n\n this.jsState = javascript.startState(indentUnit)\n\n this.restOfLine = ''\n\n this.isIncludeFiltered = false\n this.isEach = false\n\n this.lastTag = ''\n\n // Attributes Mode\n this.isAttrs = false\n this.attrsNest = []\n this.inAttributeName = true\n this.attributeIsType = false\n this.attrValue = ''\n\n // Indented Mode\n this.indentOf = Infinity\n this.indentToken = ''\n }\n\n copy() {\n var res = new State(this.indentUnit)\n res.javaScriptLine = this.javaScriptLine\n res.javaScriptLineExcludesColon = this.javaScriptLineExcludesColon\n res.javaScriptArguments = this.javaScriptArguments\n res.javaScriptArgumentsDepth = this.javaScriptArgumentsDepth\n res.isInterpolating = this.isInterpolating\n res.interpolationNesting = this.interpolationNesting\n\n res.jsState = (javascript.copyState || defaultCopyState)(this.jsState)\n\n res.restOfLine = this.restOfLine\n\n res.isIncludeFiltered = this.isIncludeFiltered\n res.isEach = this.isEach\n res.lastTag = this.lastTag\n res.isAttrs = this.isAttrs\n res.attrsNest = this.attrsNest.slice()\n res.inAttributeName = this.inAttributeName\n res.attributeIsType = this.attributeIsType\n res.attrValue = this.attrValue\n res.indentOf = this.indentOf\n res.indentToken = this.indentToken\n\n return res\n }\n}\n\nfunction javaScript(stream, state) {\n if (stream.sol()) {\n // if javaScriptLine was set at end of line, ignore it\n state.javaScriptLine = false\n state.javaScriptLineExcludesColon = false\n }\n if (state.javaScriptLine) {\n if (state.javaScriptLineExcludesColon && stream.peek() === ':') {\n state.javaScriptLine = false\n state.javaScriptLineExcludesColon = false\n return\n }\n var tok = javascript.token(stream, state.jsState)\n if (stream.eol()) state.javaScriptLine = false\n return tok || true\n }\n}\nfunction javaScriptArguments(stream, state) {\n if (state.javaScriptArguments) {\n if (state.javaScriptArgumentsDepth === 0 && stream.peek() !== '(') {\n state.javaScriptArguments = false\n return\n }\n if (stream.peek() === '(') {\n state.javaScriptArgumentsDepth++\n } else if (stream.peek() === ')') {\n state.javaScriptArgumentsDepth--\n }\n if (state.javaScriptArgumentsDepth === 0) {\n state.javaScriptArguments = false\n return\n }\n\n var tok = javascript.token(stream, state.jsState)\n return tok || true\n }\n}\n\nfunction yieldStatement(stream) {\n if (stream.match(/^yield\\b/)) {\n return 'keyword'\n }\n}\n\nfunction doctype(stream) {\n if (stream.match(/^(?:doctype) *([^\\n]+)?/)) return 'meta'\n}\n\nfunction interpolation(stream, state) {\n if (stream.match('#{')) {\n state.isInterpolating = true\n state.interpolationNesting = 0\n return 'punctuation'\n }\n}\n\nfunction interpolationContinued(stream, state) {\n if (state.isInterpolating) {\n if (stream.peek() === '}') {\n state.interpolationNesting--\n if (state.interpolationNesting < 0) {\n stream.next()\n state.isInterpolating = false\n return 'punctuation'\n }\n } else if (stream.peek() === '{') {\n state.interpolationNesting++\n }\n return javascript.token(stream, state.jsState) || true\n }\n}\n\nfunction caseStatement(stream, state) {\n if (stream.match(/^case\\b/)) {\n state.javaScriptLine = true\n return 'keyword'\n }\n}\n\nfunction when(stream, state) {\n if (stream.match(/^when\\b/)) {\n state.javaScriptLine = true\n state.javaScriptLineExcludesColon = true\n return 'keyword'\n }\n}\n\nfunction defaultStatement(stream) {\n if (stream.match(/^default\\b/)) {\n return 'keyword'\n }\n}\n\nfunction extendsStatement(stream, state) {\n if (stream.match(/^extends?\\b/)) {\n state.restOfLine = 'string'\n return 'keyword'\n }\n}\n\nfunction append(stream, state) {\n if (stream.match(/^append\\b/)) {\n state.restOfLine = 'variable'\n return 'keyword'\n }\n}\nfunction prepend(stream, state) {\n if (stream.match(/^prepend\\b/)) {\n state.restOfLine = 'variable'\n return 'keyword'\n }\n}\nfunction block(stream, state) {\n if (stream.match(/^block\\b *(?:(prepend|append)\\b)?/)) {\n state.restOfLine = 'variable'\n return 'keyword'\n }\n}\n\nfunction include(stream, state) {\n if (stream.match(/^include\\b/)) {\n state.restOfLine = 'string'\n return 'keyword'\n }\n}\n\nfunction includeFiltered(stream, state) {\n if (stream.match(/^include:([a-zA-Z0-9\\-]+)/, false) && stream.match('include')) {\n state.isIncludeFiltered = true\n return 'keyword'\n }\n}\n\nfunction includeFilteredContinued(stream, state) {\n if (state.isIncludeFiltered) {\n var tok = filter(stream, state)\n state.isIncludeFiltered = false\n state.restOfLine = 'string'\n return tok\n }\n}\n\nfunction mixin(stream, state) {\n if (stream.match(/^mixin\\b/)) {\n state.javaScriptLine = true\n return 'keyword'\n }\n}\n\nfunction call(stream, state) {\n if (stream.match(/^\\+([-\\w]+)/)) {\n if (!stream.match(/^\\( *[-\\w]+ *=/, false)) {\n state.javaScriptArguments = true\n state.javaScriptArgumentsDepth = 0\n }\n return 'variable'\n }\n if (stream.match('+#{', false)) {\n stream.next()\n state.mixinCallAfter = true\n return interpolation(stream, state)\n }\n}\nfunction callArguments(stream, state) {\n if (state.mixinCallAfter) {\n state.mixinCallAfter = false\n if (!stream.match(/^\\( *[-\\w]+ *=/, false)) {\n state.javaScriptArguments = true\n state.javaScriptArgumentsDepth = 0\n }\n return true\n }\n}\n\nfunction conditional(stream, state) {\n if (stream.match(/^(if|unless|else if|else)\\b/)) {\n state.javaScriptLine = true\n return 'keyword'\n }\n}\n\nfunction each(stream, state) {\n if (stream.match(/^(- *)?(each|for)\\b/)) {\n state.isEach = true\n return 'keyword'\n }\n}\nfunction eachContinued(stream, state) {\n if (state.isEach) {\n if (stream.match(/^ in\\b/)) {\n state.javaScriptLine = true\n state.isEach = false\n return 'keyword'\n } else if (stream.sol() || stream.eol()) {\n state.isEach = false\n } else if (stream.next()) {\n while (!stream.match(/^ in\\b/, false) && stream.next()) {}\n return 'variable'\n }\n }\n}\n\nfunction whileStatement(stream, state) {\n if (stream.match(/^while\\b/)) {\n state.javaScriptLine = true\n return 'keyword'\n }\n}\n\nfunction tag(stream, state) {\n var captures\n if (captures = stream.match(/^(\\w(?:[-:\\w]*\\w)?)\\/?/)) {\n state.lastTag = captures[1].toLowerCase()\n return 'tag'\n }\n}\n\nfunction filter(stream, state) {\n if (stream.match(/^:([\\w\\-]+)/)) {\n setStringMode(stream, state)\n return 'atom'\n }\n}\n\nfunction code(stream, state) {\n if (stream.match(/^(!?=|-)/)) {\n state.javaScriptLine = true\n return 'punctuation'\n }\n}\n\nfunction id(stream) {\n if (stream.match(/^#([\\w-]+)/)) {\n return 'builtin'\n }\n}\n\nfunction className(stream) {\n if (stream.match(/^\\.([\\w-]+)/)) {\n return 'className'\n }\n}\n\nfunction attrs(stream, state) {\n if (stream.peek() == '(') {\n stream.next()\n state.isAttrs = true\n state.attrsNest = []\n state.inAttributeName = true\n state.attrValue = ''\n state.attributeIsType = false\n return 'punctuation'\n }\n}\n\nfunction attrsContinued(stream, state) {\n if (state.isAttrs) {\n if (ATTRS_NEST[stream.peek()]) {\n state.attrsNest.push(ATTRS_NEST[stream.peek()])\n }\n if (state.attrsNest[state.attrsNest.length - 1] === stream.peek()) {\n state.attrsNest.pop()\n } else if (stream.eat(')')) {\n state.isAttrs = false\n return 'punctuation'\n }\n if (state.inAttributeName && stream.match(/^[^=,\\)!]+/)) {\n if (stream.peek() === '=' || stream.peek() === '!') {\n state.inAttributeName = false\n state.jsState = javascript.startState(2)\n if (state.lastTag === 'script' && stream.current().trim().toLowerCase() === 'type') {\n state.attributeIsType = true\n } else {\n state.attributeIsType = false\n }\n }\n return 'attribute'\n }\n\n var tok = javascript.token(stream, state.jsState)\n if (state.attrsNest.length === 0 && (tok === 'string' || tok === 'variable' || tok === 'keyword')) {\n try {\n Function('', 'var x ' + state.attrValue.replace(/,\\s*$/, '').replace(/^!/, ''))\n state.inAttributeName = true\n state.attrValue = ''\n stream.backUp(stream.current().length)\n return attrsContinued(stream, state)\n } catch (ex) {\n //not the end of an attribute\n }\n }\n state.attrValue += stream.current()\n return tok || true\n }\n}\n\nfunction attributesBlock(stream, state) {\n if (stream.match(/^&attributes\\b/)) {\n state.javaScriptArguments = true\n state.javaScriptArgumentsDepth = 0\n return 'keyword'\n }\n}\n\nfunction indent(stream) {\n if (stream.sol() && stream.eatSpace()) {\n return 'indent'\n }\n}\n\nfunction comment(stream, state) {\n if (stream.match(/^ *\\/\\/(-)?([^\\n]*)/)) {\n state.indentOf = stream.indentation()\n state.indentToken = 'comment'\n return 'comment'\n }\n}\n\nfunction colon(stream) {\n if (stream.match(/^: */)) {\n return 'colon'\n }\n}\n\nfunction text(stream, state) {\n if (stream.match(/^(?:\\| ?| )([^\\n]+)/)) {\n return 'string'\n }\n if (stream.match(/^(<[^\\n]*)/, false)) {\n // html string\n setStringMode(stream, state)\n stream.skipToEnd()\n return state.indentToken\n }\n}\n\nfunction dot(stream, state) {\n if (stream.eat('.')) {\n setStringMode(stream, state)\n return 'dot'\n }\n}\n\nfunction fail(stream) {\n stream.next()\n return null\n}\n\n\nfunction setStringMode(stream, state) {\n state.indentOf = stream.indentation()\n state.indentToken = 'string'\n}\nfunction restOfLine(stream, state) {\n if (stream.sol()) {\n // if restOfLine was set at end of line, ignore it\n state.restOfLine = ''\n }\n if (state.restOfLine) {\n stream.skipToEnd()\n var tok = state.restOfLine\n state.restOfLine = ''\n return tok\n }\n}\n\n\nfunction startState(indentUnit) {\n return new State(indentUnit)\n}\nfunction copyState(state) {\n return state.copy()\n}\nfunction nextToken(stream, state) {\n var tok = restOfLine(stream, state)\n || interpolationContinued(stream, state)\n || includeFilteredContinued(stream, state)\n || eachContinued(stream, state)\n || attrsContinued(stream, state)\n || javaScript(stream, state)\n || javaScriptArguments(stream, state)\n || callArguments(stream, state)\n\n || yieldStatement(stream)\n || doctype(stream)\n || interpolation(stream, state)\n || caseStatement(stream, state)\n || when(stream, state)\n || defaultStatement(stream)\n || extendsStatement(stream, state)\n || append(stream, state)\n || prepend(stream, state)\n || block(stream, state)\n || include(stream, state)\n || includeFiltered(stream, state)\n || mixin(stream, state)\n || call(stream, state)\n || conditional(stream, state)\n || each(stream, state)\n || whileStatement(stream, state)\n || tag(stream, state)\n || filter(stream, state)\n || code(stream, state)\n || id(stream)\n || className(stream)\n || attrs(stream, state)\n || attributesBlock(stream, state)\n || indent(stream)\n || text(stream, state)\n || comment(stream, state)\n || colon(stream)\n || dot(stream, state)\n || fail(stream)\n\n return tok === true ? null : tok\n}\n\nexport const pug = {\n startState: startState,\n copyState: copyState,\n token: nextToken\n}\n"],"names":["ATTRS_NEST","defaultCopyState","state","newState","prop","val","State","indentUnit","javascript","res","javaScript","stream","tok","javaScriptArguments","yieldStatement","doctype","interpolation","interpolationContinued","caseStatement","when","defaultStatement","extendsStatement","append","prepend","block","include","includeFiltered","includeFilteredContinued","filter","mixin","call","callArguments","conditional","each","eachContinued","whileStatement","tag","captures","setStringMode","code","id","className","attrs","attrsContinued","attributesBlock","indent","comment","colon","text","dot","fail","restOfLine","startState","copyState","nextToken","pug"],"mappings":"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","x_google_ignoreList":[0]}