UNPKG

269 kBSource Map (JSON)View Raw
1{"version":3,"file":"emmet.cjs","sources":["../packages/scanner/scanner.js","../packages/abbreviation/dist/index.js","../packages/css-abbreviation/dist/index.js","../src/markup/attributes.ts","../src/markup/utils.ts","../src/markup/snippets.ts","../src/output-stream.ts","../src/markup/implicit-tag.ts","../src/markup/lorem/latin.json","../src/markup/lorem/russian.json","../src/markup/lorem/spanish.json","../src/markup/lorem/index.ts","../src/markup/addon/xsl.ts","../src/markup/addon/bem.ts","../src/markup/addon/label.ts","../src/markup/format/walk.ts","../src/markup/format/utils.ts","../src/markup/format/template.ts","../src/markup/format/comment.ts","../src/markup/format/html.ts","../src/markup/format/indent-format.ts","../src/markup/format/haml.ts","../src/markup/format/slim.ts","../src/markup/format/pug.ts","../src/markup/index.ts","../src/stylesheet/snippets.ts","../src/stylesheet/score.ts","../src/stylesheet/color.ts","../src/stylesheet/format.ts","../src/stylesheet/index.ts","../src/snippets/html.json","../src/snippets/css.json","../src/snippets/xsl.json","../src/snippets/pug.json","../src/snippets/variables.json","../src/config.ts","../src/extract-abbreviation/reader.ts","../src/extract-abbreviation/quotes.ts","../src/extract-abbreviation/brackets.ts","../src/extract-abbreviation/is-html.ts","../src/extract-abbreviation/index.ts","../src/index.ts"],"sourcesContent":["const defaultQuotedOptions = {\n escape: 92,\n throws: false\n};\n/**\n * Check if given code is a number\n */\nfunction isNumber(code) {\n return code > 47 && code < 58;\n}\n/**\n * Check if given character code is alpha code (letter through A to Z)\n */\nfunction isAlpha(code, from, to) {\n from = from || 65; // A\n to = to || 90; // Z\n code &= ~32; // quick hack to convert any char code to uppercase char code\n return code >= from && code <= to;\n}\n/**\n * Check if given character code is alpha-numeric (letter through A to Z or number)\n */\nfunction isAlphaNumeric(code) {\n return isNumber(code) || isAlpha(code);\n}\nfunction isAlphaNumericWord(code) {\n return isNumber(code) || isAlphaWord(code);\n}\nfunction isAlphaWord(code) {\n return code === 95 /* _ */ || isAlpha(code);\n}\n/**\n * Check for Umlauts i.e. ä, Ä, ö, Ö, ü and Ü\n */\nfunction isUmlaut(code) {\n return code === 196\n || code == 214\n || code === 220\n || code === 228\n || code === 246\n || code === 252;\n}\n/**\n * Check if given character code is a white-space character: a space character\n * or line breaks\n */\nfunction isWhiteSpace(code) {\n return code === 32 /* space */\n || code === 9 /* tab */\n || code === 160; /* non-breaking space */\n}\n/**\n * Check if given character code is a space character\n */\nfunction isSpace(code) {\n return isWhiteSpace(code)\n || code === 10 /* LF */\n || code === 13; /* CR */\n}\n/**\n * Consumes 'single' or \"double\"-quoted string from given string, if possible\n * @return `true` if quoted string was consumed. The contents of quoted string\n * will be available as `stream.current()`\n */\nfunction eatQuoted(stream, options) {\n options = Object.assign(Object.assign({}, defaultQuotedOptions), options);\n const start = stream.pos;\n const quote = stream.peek();\n if (stream.eat(isQuote)) {\n while (!stream.eof()) {\n switch (stream.next()) {\n case quote:\n stream.start = start;\n return true;\n case options.escape:\n stream.next();\n break;\n }\n }\n // If we’re here then stream wasn’t properly consumed.\n // Revert stream and decide what to do\n stream.pos = start;\n if (options.throws) {\n throw stream.error('Unable to consume quoted string');\n }\n }\n return false;\n}\n/**\n * Check if given character code is a quote character\n */\nfunction isQuote(code) {\n return code === 39 /* ' */ || code === 34 /* \" */;\n}\n/**\n * Eats paired characters substring, for example `(foo)` or `[bar]`\n * @param open Character code of pair opening\n * @param close Character code of pair closing\n * @return Returns `true` if character pair was successfully consumed, it’s\n * content will be available as `stream.current()`\n */\nfunction eatPair(stream, open, close, options) {\n options = Object.assign(Object.assign({}, defaultQuotedOptions), options);\n const start = stream.pos;\n if (stream.eat(open)) {\n let stack = 1;\n let ch;\n while (!stream.eof()) {\n if (eatQuoted(stream, options)) {\n continue;\n }\n ch = stream.next();\n if (ch === open) {\n stack++;\n }\n else if (ch === close) {\n stack--;\n if (!stack) {\n stream.start = start;\n return true;\n }\n }\n else if (ch === options.escape) {\n stream.next();\n }\n }\n // If we’re here then paired character can’t be consumed\n stream.pos = start;\n if (options.throws) {\n throw stream.error(`Unable to find matching pair for ${String.fromCharCode(open)}`);\n }\n }\n return false;\n}\n\n/**\n * A streaming, character code-based string reader\n */\nclass Scanner {\n constructor(str, start, end) {\n if (end == null && typeof str === 'string') {\n end = str.length;\n }\n this.string = str;\n this.pos = this.start = start || 0;\n this.end = end || 0;\n }\n /**\n * Returns true only if the stream is at the end of the file.\n */\n eof() {\n return this.pos >= this.end;\n }\n /**\n * Creates a new stream instance which is limited to given `start` and `end`\n * range. E.g. its `eof()` method will look at `end` property, not actual\n * stream end\n */\n limit(start, end) {\n return new Scanner(this.string, start, end);\n }\n /**\n * Returns the next character code in the stream without advancing it.\n * Will return NaN at the end of the file.\n */\n peek() {\n return this.string.charCodeAt(this.pos);\n }\n /**\n * Returns the next character in the stream and advances it.\n * Also returns <code>undefined</code> when no more characters are available.\n */\n next() {\n if (this.pos < this.string.length) {\n return this.string.charCodeAt(this.pos++);\n }\n }\n /**\n * `match` can be a character code or a function that takes a character code\n * and returns a boolean. If the next character in the stream 'matches'\n * the given argument, it is consumed and returned.\n * Otherwise, `false` is returned.\n */\n eat(match) {\n const ch = this.peek();\n const ok = typeof match === 'function' ? match(ch) : ch === match;\n if (ok) {\n this.next();\n }\n return ok;\n }\n /**\n * Repeatedly calls <code>eat</code> with the given argument, until it\n * fails. Returns <code>true</code> if any characters were eaten.\n */\n eatWhile(match) {\n const start = this.pos;\n while (!this.eof() && this.eat(match)) { /* */ }\n return this.pos !== start;\n }\n /**\n * Backs up the stream n characters. Backing it up further than the\n * start of the current token will cause things to break, so be careful.\n */\n backUp(n) {\n this.pos -= (n || 1);\n }\n /**\n * Get the string between the start of the current token and the\n * current stream position.\n */\n current() {\n return this.substring(this.start, this.pos);\n }\n /**\n * Returns substring for given range\n */\n substring(start, end) {\n return this.string.slice(start, end);\n }\n /**\n * Creates error object with current stream state\n */\n error(message, pos = this.pos) {\n return new ScannerError(`${message} at ${pos + 1}`, pos, this.string);\n }\n}\nclass ScannerError extends Error {\n constructor(message, pos, str) {\n super(message);\n this.pos = pos;\n this.string = str;\n }\n}\n\nexport { ScannerError, Scanner as default, eatPair, eatQuoted, isAlpha, isAlphaNumeric, isAlphaNumericWord, isAlphaWord, isNumber, isQuote, isSpace, isUmlaut, isWhiteSpace };\n//# sourceMappingURL=scanner.js.map\n","import Scanner, { isNumber, isQuote as isQuote$1, isSpace, isAlpha, isAlphaNumericWord, isUmlaut, ScannerError } from '@emmetio/scanner';\n\nfunction tokenScanner(tokens) {\n return {\n tokens,\n start: 0,\n pos: 0,\n size: tokens.length\n };\n}\nfunction peek(scanner) {\n return scanner.tokens[scanner.pos];\n}\nfunction next(scanner) {\n return scanner.tokens[scanner.pos++];\n}\nfunction slice(scanner, from = scanner.start, to = scanner.pos) {\n return scanner.tokens.slice(from, to);\n}\nfunction readable(scanner) {\n return scanner.pos < scanner.size;\n}\nfunction consume(scanner, test) {\n const token = peek(scanner);\n if (token && test(token)) {\n scanner.pos++;\n return true;\n }\n return false;\n}\nfunction error(scanner, message, token = peek(scanner)) {\n if (token && token.start != null) {\n message += ` at ${token.start}`;\n }\n const err = new Error(message);\n err['pos'] = token && token.start;\n return err;\n}\n\nfunction abbreviation(abbr, options = {}) {\n const scanner = tokenScanner(abbr);\n const result = statements(scanner, options);\n if (readable(scanner)) {\n throw error(scanner, 'Unexpected character');\n }\n return result;\n}\nfunction statements(scanner, options) {\n const result = {\n type: 'TokenGroup',\n elements: []\n };\n let ctx = result;\n let node;\n const stack = [];\n while (readable(scanner)) {\n if (node = element(scanner, options) || group(scanner, options)) {\n ctx.elements.push(node);\n if (consume(scanner, isChildOperator)) {\n stack.push(ctx);\n ctx = node;\n }\n else if (consume(scanner, isSiblingOperator)) {\n continue;\n }\n else if (consume(scanner, isClimbOperator)) {\n do {\n if (stack.length) {\n ctx = stack.pop();\n }\n } while (consume(scanner, isClimbOperator));\n }\n }\n else {\n break;\n }\n }\n return result;\n}\n/**\n * Consumes group from given scanner\n */\nfunction group(scanner, options) {\n if (consume(scanner, isGroupStart)) {\n const result = statements(scanner, options);\n const token = next(scanner);\n if (isBracket(token, 'group', false)) {\n result.repeat = repeater$1(scanner);\n }\n return result;\n }\n}\n/**\n * Consumes single element from given scanner\n */\nfunction element(scanner, options) {\n let attr;\n const elem = {\n type: 'TokenElement',\n name: void 0,\n attributes: void 0,\n value: void 0,\n repeat: void 0,\n selfClose: false,\n elements: []\n };\n if (elementName(scanner, options)) {\n elem.name = slice(scanner);\n }\n while (readable(scanner)) {\n scanner.start = scanner.pos;\n if (!elem.repeat && !isEmpty(elem) && consume(scanner, isRepeater)) {\n elem.repeat = scanner.tokens[scanner.pos - 1];\n }\n else if (!elem.value && text(scanner)) {\n elem.value = getText(scanner);\n }\n else if (attr = shortAttribute(scanner, 'id', options) || shortAttribute(scanner, 'class', options) || attributeSet(scanner)) {\n if (!elem.attributes) {\n elem.attributes = Array.isArray(attr) ? attr.slice() : [attr];\n }\n else {\n elem.attributes = elem.attributes.concat(attr);\n }\n }\n else {\n if (!isEmpty(elem) && consume(scanner, isCloseOperator)) {\n elem.selfClose = true;\n if (!elem.repeat && consume(scanner, isRepeater)) {\n elem.repeat = scanner.tokens[scanner.pos - 1];\n }\n }\n break;\n }\n }\n return !isEmpty(elem) ? elem : void 0;\n}\n/**\n * Consumes attribute set from given scanner\n */\nfunction attributeSet(scanner) {\n if (consume(scanner, isAttributeSetStart)) {\n const attributes = [];\n let attr;\n while (readable(scanner)) {\n if (attr = attribute(scanner)) {\n attributes.push(attr);\n }\n else if (consume(scanner, isAttributeSetEnd)) {\n break;\n }\n else if (!consume(scanner, isWhiteSpace)) {\n throw error(scanner, `Unexpected \"${peek(scanner).type}\" token`);\n }\n }\n return attributes;\n }\n}\n/**\n * Consumes attribute shorthand (class or id) from given scanner\n */\nfunction shortAttribute(scanner, type, options) {\n if (isOperator(peek(scanner), type)) {\n scanner.pos++;\n // Consume multiple operators\n let count = 1;\n while (isOperator(peek(scanner), type)) {\n scanner.pos++;\n count++;\n }\n const attr = {\n name: [createLiteral(type)]\n };\n if (count > 1) {\n attr.multiple = true;\n }\n // Consume expression after shorthand start for React-like components\n if (options.jsx && text(scanner)) {\n attr.value = getText(scanner);\n attr.expression = true;\n }\n else {\n attr.value = literal$1(scanner) ? slice(scanner) : void 0;\n }\n return attr;\n }\n}\n/**\n * Consumes single attribute from given scanner\n */\nfunction attribute(scanner) {\n if (quoted(scanner)) {\n // Consumed quoted value: it’s a value for default attribute\n return {\n value: slice(scanner)\n };\n }\n if (literal$1(scanner, true)) {\n const name = slice(scanner);\n let value;\n if (consume(scanner, isEquals)) {\n if (quoted(scanner) || literal$1(scanner, true)) {\n value = slice(scanner);\n }\n }\n return { name, value };\n }\n}\nfunction repeater$1(scanner) {\n return isRepeater(peek(scanner))\n ? scanner.tokens[scanner.pos++]\n : void 0;\n}\n/**\n * Consumes quoted value from given scanner, if possible\n */\nfunction quoted(scanner) {\n const start = scanner.pos;\n const quote = peek(scanner);\n if (isQuote(quote)) {\n scanner.pos++;\n while (readable(scanner)) {\n if (isQuote(next(scanner), quote.single)) {\n scanner.start = start;\n return true;\n }\n }\n throw error(scanner, 'Unclosed quote', quote);\n }\n return false;\n}\n/**\n * Consumes literal (unquoted value) from given scanner\n */\nfunction literal$1(scanner, allowBrackets) {\n const start = scanner.pos;\n const brackets = {\n attribute: 0,\n expression: 0,\n group: 0\n };\n while (readable(scanner)) {\n const token = peek(scanner);\n if (brackets.expression) {\n // If we’re inside expression, we should consume all content in it\n if (isBracket(token, 'expression')) {\n brackets[token.context] += token.open ? 1 : -1;\n }\n }\n else if (isQuote(token) || isOperator(token) || isWhiteSpace(token) || isRepeater(token)) {\n break;\n }\n else if (isBracket(token)) {\n if (!allowBrackets) {\n break;\n }\n if (token.open) {\n brackets[token.context]++;\n }\n else if (!brackets[token.context]) {\n // Stop if found unmatched closing brace: it must be handled\n // by parent consumer\n break;\n }\n else {\n brackets[token.context]--;\n }\n }\n scanner.pos++;\n }\n if (start !== scanner.pos) {\n scanner.start = start;\n return true;\n }\n return false;\n}\n/**\n * Consumes element name from given scanner\n */\nfunction elementName(scanner, options) {\n const start = scanner.pos;\n if (options.jsx && consume(scanner, isCapitalizedLiteral)) {\n // Check for edge case: consume immediate capitalized class names\n // for React-like components, e.g. `Foo.Bar.Baz`\n while (readable(scanner)) {\n const { pos } = scanner;\n if (!consume(scanner, isClassNameOperator) || !consume(scanner, isCapitalizedLiteral)) {\n scanner.pos = pos;\n break;\n }\n }\n }\n while (readable(scanner) && consume(scanner, isElementName$1)) {\n // empty\n }\n if (scanner.pos !== start) {\n scanner.start = start;\n return true;\n }\n return false;\n}\n/**\n * Consumes text value from given scanner\n */\nfunction text(scanner) {\n const start = scanner.pos;\n if (consume(scanner, isTextStart)) {\n let brackets = 0;\n while (readable(scanner)) {\n const token = next(scanner);\n if (isBracket(token, 'expression')) {\n if (token.open) {\n brackets++;\n }\n else if (!brackets) {\n break;\n }\n else {\n brackets--;\n }\n }\n }\n scanner.start = start;\n return true;\n }\n return false;\n}\nfunction getText(scanner) {\n let from = scanner.start;\n let to = scanner.pos;\n if (isBracket(scanner.tokens[from], 'expression', true)) {\n from++;\n }\n if (isBracket(scanner.tokens[to - 1], 'expression', false)) {\n to--;\n }\n return slice(scanner, from, to);\n}\nfunction isBracket(token, context, isOpen) {\n return Boolean(token && token.type === 'Bracket'\n && (!context || token.context === context)\n && (isOpen == null || token.open === isOpen));\n}\nfunction isOperator(token, type) {\n return Boolean(token && token.type === 'Operator' && (!type || token.operator === type));\n}\nfunction isQuote(token, isSingle) {\n return Boolean(token && token.type === 'Quote' && (isSingle == null || token.single === isSingle));\n}\nfunction isWhiteSpace(token) {\n return Boolean(token && token.type === 'WhiteSpace');\n}\nfunction isEquals(token) {\n return isOperator(token, 'equal');\n}\nfunction isRepeater(token) {\n return Boolean(token && token.type === 'Repeater');\n}\nfunction isLiteral(token) {\n return token.type === 'Literal';\n}\nfunction isCapitalizedLiteral(token) {\n if (isLiteral(token)) {\n const ch = token.value.charCodeAt(0);\n return ch >= 65 && ch <= 90;\n }\n return false;\n}\nfunction isElementName$1(token) {\n return token.type === 'Literal' || token.type === 'RepeaterNumber' || token.type === 'RepeaterPlaceholder';\n}\nfunction isClassNameOperator(token) {\n return isOperator(token, 'class');\n}\nfunction isAttributeSetStart(token) {\n return isBracket(token, 'attribute', true);\n}\nfunction isAttributeSetEnd(token) {\n return isBracket(token, 'attribute', false);\n}\nfunction isTextStart(token) {\n return isBracket(token, 'expression', true);\n}\nfunction isGroupStart(token) {\n return isBracket(token, 'group', true);\n}\nfunction createLiteral(value) {\n return { type: 'Literal', value };\n}\nfunction isEmpty(elem) {\n return !elem.name && !elem.value && !elem.attributes;\n}\nfunction isChildOperator(token) {\n return isOperator(token, 'child');\n}\nfunction isSiblingOperator(token) {\n return isOperator(token, 'sibling');\n}\nfunction isClimbOperator(token) {\n return isOperator(token, 'climb');\n}\nfunction isCloseOperator(token) {\n return isOperator(token, 'close');\n}\n\nvar Chars;\n(function (Chars) {\n /** `{` character */\n Chars[Chars[\"CurlyBracketOpen\"] = 123] = \"CurlyBracketOpen\";\n /** `}` character */\n Chars[Chars[\"CurlyBracketClose\"] = 125] = \"CurlyBracketClose\";\n /** `\\\\` character */\n Chars[Chars[\"Escape\"] = 92] = \"Escape\";\n /** `=` character */\n Chars[Chars[\"Equals\"] = 61] = \"Equals\";\n /** `[` character */\n Chars[Chars[\"SquareBracketOpen\"] = 91] = \"SquareBracketOpen\";\n /** `]` character */\n Chars[Chars[\"SquareBracketClose\"] = 93] = \"SquareBracketClose\";\n /** `*` character */\n Chars[Chars[\"Asterisk\"] = 42] = \"Asterisk\";\n /** `#` character */\n Chars[Chars[\"Hash\"] = 35] = \"Hash\";\n /** `$` character */\n Chars[Chars[\"Dollar\"] = 36] = \"Dollar\";\n /** `-` character */\n Chars[Chars[\"Dash\"] = 45] = \"Dash\";\n /** `.` character */\n Chars[Chars[\"Dot\"] = 46] = \"Dot\";\n /** `/` character */\n Chars[Chars[\"Slash\"] = 47] = \"Slash\";\n /** `:` character */\n Chars[Chars[\"Colon\"] = 58] = \"Colon\";\n /** `!` character */\n Chars[Chars[\"Excl\"] = 33] = \"Excl\";\n /** `@` character */\n Chars[Chars[\"At\"] = 64] = \"At\";\n /** `_` character */\n Chars[Chars[\"Underscore\"] = 95] = \"Underscore\";\n /** `(` character */\n Chars[Chars[\"RoundBracketOpen\"] = 40] = \"RoundBracketOpen\";\n /** `)` character */\n Chars[Chars[\"RoundBracketClose\"] = 41] = \"RoundBracketClose\";\n /** `+` character */\n Chars[Chars[\"Sibling\"] = 43] = \"Sibling\";\n /** `>` character */\n Chars[Chars[\"Child\"] = 62] = \"Child\";\n /** `^` character */\n Chars[Chars[\"Climb\"] = 94] = \"Climb\";\n /** `'` character */\n Chars[Chars[\"SingleQuote\"] = 39] = \"SingleQuote\";\n /** `\"\"` character */\n Chars[Chars[\"DoubleQuote\"] = 34] = \"DoubleQuote\";\n})(Chars || (Chars = {}));\n/**\n * If consumes escape character, sets current stream range to escaped value\n */\nfunction escaped(scanner) {\n if (scanner.eat(Chars.Escape)) {\n scanner.start = scanner.pos;\n if (!scanner.eof()) {\n scanner.pos++;\n }\n return true;\n }\n return false;\n}\n\nfunction tokenize(source) {\n const scanner = new Scanner(source);\n const result = [];\n const ctx = {\n group: 0,\n attribute: 0,\n expression: 0,\n quote: 0\n };\n let ch = 0;\n let token;\n while (!scanner.eof()) {\n ch = scanner.peek();\n token = getToken(scanner, ctx);\n if (token) {\n result.push(token);\n if (token.type === 'Quote') {\n ctx.quote = ch === ctx.quote ? 0 : ch;\n }\n else if (token.type === 'Bracket') {\n ctx[token.context] += token.open ? 1 : -1;\n }\n }\n else {\n throw scanner.error('Unexpected character');\n }\n }\n return result;\n}\n/**\n * Returns next token from given scanner, if possible\n */\nfunction getToken(scanner, ctx) {\n return field(scanner, ctx)\n || repeaterPlaceholder(scanner)\n || repeaterNumber(scanner)\n || repeater(scanner)\n || whiteSpace(scanner)\n || literal(scanner, ctx)\n || operator(scanner)\n || quote(scanner)\n || bracket(scanner);\n}\n/**\n * Consumes literal from given scanner\n */\nfunction literal(scanner, ctx) {\n const start = scanner.pos;\n const expressionStart = ctx.expression;\n let value = '';\n while (!scanner.eof()) {\n // Consume escaped sequence no matter of context\n if (escaped(scanner)) {\n value += scanner.current();\n continue;\n }\n const ch = scanner.peek();\n if (ch === Chars.Slash && !ctx.quote && !ctx.expression && !ctx.attribute) {\n // Special case for `/` character between numbers in class names\n const prev = scanner.string.charCodeAt(scanner.pos - 1);\n const next = scanner.string.charCodeAt(scanner.pos + 1);\n if (isNumber(prev) && isNumber(next)) {\n value += scanner.string[scanner.pos++];\n continue;\n }\n }\n if (ch === ctx.quote || ch === Chars.Dollar || isAllowedOperator(ch, ctx)) {\n // 1. Found matching quote\n // 2. The `$` character has special meaning in every context\n // 3. Depending on context, some characters should be treated as operators\n break;\n }\n if (expressionStart) {\n // Consume nested expressions, e.g. span{{foo}}\n if (ch === Chars.CurlyBracketOpen) {\n ctx.expression++;\n }\n else if (ch === Chars.CurlyBracketClose) {\n if (ctx.expression > expressionStart) {\n ctx.expression--;\n }\n else {\n break;\n }\n }\n }\n else if (!ctx.quote) {\n // Consuming element name\n if (!ctx.attribute && !isElementName(ch)) {\n break;\n }\n if (isAllowedSpace(ch, ctx) || isAllowedRepeater(ch, ctx) || isQuote$1(ch) || bracketType(ch)) {\n // Stop for characters not allowed in unquoted literal\n break;\n }\n }\n value += scanner.string[scanner.pos++];\n }\n if (start !== scanner.pos) {\n scanner.start = start;\n return {\n type: 'Literal',\n value,\n start,\n end: scanner.pos\n };\n }\n}\n/**\n * Consumes white space characters as string literal from given scanner\n */\nfunction whiteSpace(scanner) {\n const start = scanner.pos;\n if (scanner.eatWhile(isSpace)) {\n return {\n type: 'WhiteSpace',\n start,\n end: scanner.pos,\n value: scanner.substring(start, scanner.pos)\n };\n }\n}\n/**\n * Consumes quote from given scanner\n */\nfunction quote(scanner) {\n const ch = scanner.peek();\n if (isQuote$1(ch)) {\n return {\n type: 'Quote',\n single: ch === Chars.SingleQuote,\n start: scanner.pos++,\n end: scanner.pos\n };\n }\n}\n/**\n * Consumes bracket from given scanner\n */\nfunction bracket(scanner) {\n const ch = scanner.peek();\n const context = bracketType(ch);\n if (context) {\n return {\n type: 'Bracket',\n open: isOpenBracket(ch),\n context,\n start: scanner.pos++,\n end: scanner.pos\n };\n }\n}\n/**\n * Consumes operator from given scanner\n */\nfunction operator(scanner) {\n const op = operatorType(scanner.peek());\n if (op) {\n return {\n type: 'Operator',\n operator: op,\n start: scanner.pos++,\n end: scanner.pos\n };\n }\n}\n/**\n * Consumes node repeat token from current stream position and returns its\n * parsed value\n */\nfunction repeater(scanner) {\n const start = scanner.pos;\n if (scanner.eat(Chars.Asterisk)) {\n scanner.start = scanner.pos;\n let count = 1;\n let implicit = false;\n if (scanner.eatWhile(isNumber)) {\n count = Number(scanner.current());\n }\n else {\n implicit = true;\n }\n return {\n type: 'Repeater',\n count,\n value: 0,\n implicit,\n start,\n end: scanner.pos\n };\n }\n}\n/**\n * Consumes repeater placeholder `$#` from given scanner\n */\nfunction repeaterPlaceholder(scanner) {\n const start = scanner.pos;\n if (scanner.eat(Chars.Dollar) && scanner.eat(Chars.Hash)) {\n return {\n type: 'RepeaterPlaceholder',\n value: void 0,\n start,\n end: scanner.pos\n };\n }\n scanner.pos = start;\n}\n/**\n * Consumes numbering token like `$` from given scanner state\n */\nfunction repeaterNumber(scanner) {\n const start = scanner.pos;\n if (scanner.eatWhile(Chars.Dollar)) {\n const size = scanner.pos - start;\n let reverse = false;\n let base = 1;\n let parent = 0;\n if (scanner.eat(Chars.At)) {\n // Consume numbering modifiers\n while (scanner.eat(Chars.Climb)) {\n parent++;\n }\n reverse = scanner.eat(Chars.Dash);\n scanner.start = scanner.pos;\n if (scanner.eatWhile(isNumber)) {\n base = Number(scanner.current());\n }\n }\n scanner.start = start;\n return {\n type: 'RepeaterNumber',\n size,\n reverse,\n base,\n parent,\n start,\n end: scanner.pos\n };\n }\n}\nfunction field(scanner, ctx) {\n const start = scanner.pos;\n // Fields are allowed inside expressions and attributes\n if ((ctx.expression || ctx.attribute) && scanner.eat(Chars.Dollar) && scanner.eat(Chars.CurlyBracketOpen)) {\n scanner.start = scanner.pos;\n let index;\n let name = '';\n if (scanner.eatWhile(isNumber)) {\n // It’s a field\n index = Number(scanner.current());\n name = scanner.eat(Chars.Colon) ? consumePlaceholder(scanner) : '';\n }\n else if (isAlpha(scanner.peek())) {\n // It’s a variable\n name = consumePlaceholder(scanner);\n }\n if (scanner.eat(Chars.CurlyBracketClose)) {\n return {\n type: 'Field',\n index, name,\n start,\n end: scanner.pos\n };\n }\n throw scanner.error('Expecting }');\n }\n // If we reached here then there’s no valid field here, revert\n // back to starting position\n scanner.pos = start;\n}\n/**\n * Consumes a placeholder: value right after `:` in field. Could be empty\n */\nfunction consumePlaceholder(stream) {\n const stack = [];\n stream.start = stream.pos;\n while (!stream.eof()) {\n if (stream.eat(Chars.CurlyBracketOpen)) {\n stack.push(stream.pos);\n }\n else if (stream.eat(Chars.CurlyBracketClose)) {\n if (!stack.length) {\n stream.pos--;\n break;\n }\n stack.pop();\n }\n else {\n stream.pos++;\n }\n }\n if (stack.length) {\n stream.pos = stack.pop();\n throw stream.error(`Expecting }`);\n }\n return stream.current();\n}\n/**\n * Check if given character code is an operator and it’s allowed in current context\n */\nfunction isAllowedOperator(ch, ctx) {\n const op = operatorType(ch);\n if (!op || ctx.quote || ctx.expression) {\n // No operators inside quoted values or expressions\n return false;\n }\n // Inside attributes, only `equals` is allowed\n return !ctx.attribute || op === 'equal';\n}\n/**\n * Check if given character is a space character and is allowed to be consumed\n * as a space token in current context\n */\nfunction isAllowedSpace(ch, ctx) {\n return isSpace(ch) && !ctx.expression;\n}\n/**\n * Check if given character can be consumed as repeater in current context\n */\nfunction isAllowedRepeater(ch, ctx) {\n return ch === Chars.Asterisk && !ctx.attribute && !ctx.expression;\n}\n/**\n * If given character is a bracket, returns it’s type\n */\nfunction bracketType(ch) {\n if (ch === Chars.RoundBracketOpen || ch === Chars.RoundBracketClose) {\n return 'group';\n }\n if (ch === Chars.SquareBracketOpen || ch === Chars.SquareBracketClose) {\n return 'attribute';\n }\n if (ch === Chars.CurlyBracketOpen || ch === Chars.CurlyBracketClose) {\n return 'expression';\n }\n}\n/**\n * If given character is an operator, returns it’s type\n */\nfunction operatorType(ch) {\n return (ch === Chars.Child && 'child')\n || (ch === Chars.Sibling && 'sibling')\n || (ch === Chars.Climb && 'climb')\n || (ch === Chars.Dot && 'class')\n || (ch === Chars.Hash && 'id')\n || (ch === Chars.Slash && 'close')\n || (ch === Chars.Equals && 'equal')\n || void 0;\n}\n/**\n * Check if given character is an open bracket\n */\nfunction isOpenBracket(ch) {\n return ch === Chars.CurlyBracketOpen\n || ch === Chars.SquareBracketOpen\n || ch === Chars.RoundBracketOpen;\n}\n/**\n * Check if given character is allowed in element name\n */\nfunction isElementName(ch) {\n return isAlphaNumericWord(ch)\n || isUmlaut(ch)\n || ch === Chars.Dash\n || ch === Chars.Colon\n || ch === Chars.Excl;\n}\n\nconst operators = {\n child: '>',\n class: '.',\n climb: '^',\n id: '#',\n equal: '=',\n close: '/',\n sibling: '+'\n};\nconst tokenVisitor = {\n Literal(token) {\n return token.value;\n },\n Quote(token) {\n return token.single ? '\\'' : '\"';\n },\n Bracket(token) {\n if (token.context === 'attribute') {\n return token.open ? '[' : ']';\n }\n else if (token.context === 'expression') {\n return token.open ? '{' : '}';\n }\n else {\n return token.open ? '(' : '}';\n }\n },\n Operator(token) {\n return operators[token.operator];\n },\n Field(token, state) {\n if (token.index != null) {\n // It’s a field: by default, return TextMate-compatible field\n return token.name\n ? `\\${${token.index}:${token.name}}`\n : `\\${${token.index}`;\n }\n else if (token.name) {\n // It’s a variable\n return state.getVariable(token.name);\n }\n return '';\n },\n RepeaterPlaceholder(token, state) {\n // Find closest implicit repeater\n let repeater;\n for (let i = state.repeaters.length - 1; i >= 0; i--) {\n if (state.repeaters[i].implicit) {\n repeater = state.repeaters[i];\n break;\n }\n }\n state.inserted = true;\n return state.getText(repeater && repeater.value);\n },\n RepeaterNumber(token, state) {\n let value = 1;\n const lastIx = state.repeaters.length - 1;\n // const repeaterIx = Math.max(0, state.repeaters.length - 1 - token.parent);\n const repeater = state.repeaters[lastIx];\n if (repeater) {\n value = token.reverse\n ? token.base + repeater.count - repeater.value - 1\n : token.base + repeater.value;\n if (token.parent) {\n const parentIx = Math.max(0, lastIx - token.parent);\n if (parentIx !== lastIx) {\n const parentRepeater = state.repeaters[parentIx];\n value += repeater.count * parentRepeater.value;\n }\n }\n }\n let result = String(value);\n while (result.length < token.size) {\n result = '0' + result;\n }\n return result;\n },\n WhiteSpace(token) {\n return token.value;\n }\n};\n/**\n * Converts given value token to string\n */\nfunction stringify(token, state) {\n if (!tokenVisitor[token.type]) {\n throw new Error(`Unknown token ${token.type}`);\n }\n return tokenVisitor[token.type](token, state);\n}\n\nconst urlRegex = /^((https?:|ftp:|file:)?\\/\\/|(www|ftp)\\.)[^ ]*$/;\nconst emailRegex = /^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,5}$/;\n/**\n * Converts given token-based abbreviation into simplified and unrolled node-based\n * abbreviation\n */\nfunction convert(abbr, options = {}) {\n let textInserted = false;\n let cleanText;\n if (options.text) {\n if (Array.isArray(options.text)) {\n cleanText = options.text.filter(s => s.trim());\n }\n else {\n cleanText = options.text;\n }\n }\n const result = {\n type: 'Abbreviation',\n children: convertGroup(abbr, {\n inserted: false,\n repeaters: [],\n text: options.text,\n cleanText,\n repeatGuard: options.maxRepeat || Number.POSITIVE_INFINITY,\n getText(pos) {\n var _a;\n textInserted = true;\n let value;\n if (Array.isArray(options.text)) {\n if (pos !== undefined && pos >= 0 && pos < cleanText.length) {\n return cleanText[pos];\n }\n value = pos !== undefined ? options.text[pos] : options.text.join('\\n');\n }\n else {\n value = (_a = options.text) !== null && _a !== void 0 ? _a : '';\n }\n return value;\n },\n getVariable(name) {\n const varValue = options.variables && options.variables[name];\n return varValue != null ? varValue : name;\n }\n })\n };\n if (options.text != null && !textInserted) {\n // Text given but no implicitly repeated elements: insert it into\n // deepest child\n const deepest = deepestNode(last(result.children));\n if (deepest) {\n const text = Array.isArray(options.text) ? options.text.join('\\n') : options.text;\n insertText(deepest, text);\n if (deepest.name === 'a' && options.href) {\n // Automatically update value of `<a>` element if inserting URL or email\n insertHref(deepest, text);\n }\n }\n }\n return result;\n}\n/**\n * Converts given statement to abbreviation nodes\n */\nfunction convertStatement(node, state) {\n let result = [];\n if (node.repeat) {\n // Node is repeated: we should create copies of given node\n // and supply context token with actual repeater state\n const original = node.repeat;\n const repeat = Object.assign({}, original);\n repeat.count = repeat.implicit && Array.isArray(state.text)\n ? state.cleanText.length\n : (repeat.count || 1);\n let items;\n state.repeaters.push(repeat);\n for (let i = 0; i < repeat.count; i++) {\n repeat.value = i;\n node.repeat = repeat;\n items = isGroup(node)\n ? convertGroup(node, state)\n : convertElement(node, state);\n if (repeat.implicit && !state.inserted) {\n // It’s an implicit repeater but no repeater placeholders found inside,\n // we should insert text into deepest node\n const target = last(items);\n const deepest = target && deepestNode(target);\n if (deepest) {\n insertText(deepest, state.getText(repeat.value));\n }\n }\n result = result.concat(items);\n // We should output at least one repeated item even if it’s reached\n // repeat limit\n if (--state.repeatGuard <= 0) {\n break;\n }\n }\n state.repeaters.pop();\n node.repeat = original;\n if (repeat.implicit) {\n state.inserted = true;\n }\n }\n else {\n result = result.concat(isGroup(node) ? convertGroup(node, state) : convertElement(node, state));\n }\n return result;\n}\nfunction convertElement(node, state) {\n let children = [];\n const elem = {\n type: 'AbbreviationNode',\n name: node.name && stringifyName(node.name, state),\n value: node.value && stringifyValue(node.value, state),\n attributes: void 0,\n children,\n repeat: node.repeat && Object.assign({}, node.repeat),\n selfClosing: node.selfClose,\n };\n let result = [elem];\n for (const child of node.elements) {\n children = children.concat(convertStatement(child, state));\n }\n if (node.attributes) {\n elem.attributes = [];\n for (const attr of node.attributes) {\n elem.attributes.push(convertAttribute(attr, state));\n }\n }\n // In case if current node is a text-only snippet without fields, we should\n // put all children as siblings\n if (!elem.name && !elem.attributes && elem.value && !elem.value.some(isField)) {\n // XXX it’s unclear that `children` is not bound to `elem`\n // due to concat operation\n result = result.concat(children);\n }\n else {\n elem.children = children;\n }\n return result;\n}\nfunction convertGroup(node, state) {\n let result = [];\n for (const child of node.elements) {\n result = result.concat(convertStatement(child, state));\n }\n if (node.repeat) {\n result = attachRepeater(result, node.repeat);\n }\n return result;\n}\nfunction convertAttribute(node, state) {\n let implied = false;\n let isBoolean = false;\n let valueType = node.expression ? 'expression' : 'raw';\n let value;\n const name = node.name && stringifyName(node.name, state);\n if (name && name[0] === '!') {\n implied = true;\n }\n if (name && name[name.length - 1] === '.') {\n isBoolean = true;\n }\n if (node.value) {\n const tokens = node.value.slice();\n if (isQuote(tokens[0])) {\n // It’s a quoted value: remove quotes from output but mark attribute\n // value as quoted\n const quote = tokens.shift();\n if (tokens.length && last(tokens).type === quote.type) {\n tokens.pop();\n }\n valueType = quote.single ? 'singleQuote' : 'doubleQuote';\n }\n else if (isBracket(tokens[0], 'expression', true)) {\n // Value is expression: remove brackets but mark value type\n valueType = 'expression';\n tokens.shift();\n if (isBracket(last(tokens), 'expression', false)) {\n tokens.pop();\n }\n }\n value = stringifyValue(tokens, state);\n }\n return {\n name: isBoolean || implied\n ? name.slice(implied ? 1 : 0, isBoolean ? -1 : void 0)\n : name,\n value,\n boolean: isBoolean,\n implied,\n valueType,\n multiple: node.multiple\n };\n}\n/**\n * Converts given token list to string\n */\nfunction stringifyName(tokens, state) {\n let str = '';\n for (let i = 0; i < tokens.length; i++) {\n str += stringify(tokens[i], state);\n }\n return str;\n}\n/**\n * Converts given token list to value list\n */\nfunction stringifyValue(tokens, state) {\n const result = [];\n let str = '';\n for (let i = 0, token; i < tokens.length; i++) {\n token = tokens[i];\n if (isField(token)) {\n // We should keep original fields in output since some editors has their\n // own syntax for field or doesn’t support fields at all so we should\n // capture actual field location in output stream\n if (str) {\n result.push(str);\n str = '';\n }\n result.push(token);\n }\n else {\n str += stringify(token, state);\n }\n }\n if (str) {\n result.push(str);\n }\n return result;\n}\nfunction isGroup(node) {\n return node.type === 'TokenGroup';\n}\nfunction isField(token) {\n return typeof token === 'object' && token.type === 'Field' && token.index != null;\n}\nfunction last(arr) {\n return arr[arr.length - 1];\n}\nfunction deepestNode(node) {\n return node.children.length ? deepestNode(last(node.children)) : node;\n}\nfunction insertText(node, text) {\n if (node.value) {\n const lastToken = last(node.value);\n if (typeof lastToken === 'string') {\n node.value[node.value.length - 1] += text;\n }\n else {\n node.value.push(text);\n }\n }\n else {\n node.value = [text];\n }\n}\nfunction insertHref(node, text) {\n var _a;\n let href = '';\n if (urlRegex.test(text)) {\n href = text;\n if (!/\\w+:/.test(href) && !href.startsWith('//')) {\n href = `http://${href}`;\n }\n }\n else if (emailRegex.test(text)) {\n href = `mailto:${text}`;\n }\n const hrefAttribute = (_a = node.attributes) === null || _a === void 0 ? void 0 : _a.find(attr => attr.name === 'href');\n if (!hrefAttribute) {\n if (!node.attributes) {\n node.attributes = [];\n }\n node.attributes.push({ name: 'href', value: [href], valueType: 'doubleQuote' });\n }\n else if (!hrefAttribute.value) {\n hrefAttribute.value = [href];\n }\n}\nfunction attachRepeater(items, repeater) {\n for (const item of items) {\n if (!item.repeat) {\n item.repeat = Object.assign({}, repeater);\n }\n }\n return items;\n}\n\n/**\n * Parses given abbreviation into node tree\n */\nfunction parseAbbreviation(abbr, options) {\n try {\n const tokens = typeof abbr === 'string' ? tokenize(abbr) : abbr;\n return convert(abbreviation(tokens, options), options);\n }\n catch (err) {\n if (err instanceof ScannerError && typeof abbr === 'string') {\n err.message += `\\n${abbr}\\n${'-'.repeat(err.pos)}^`;\n }\n throw err;\n }\n}\n\nexport { convert, parseAbbreviation as default, getToken, abbreviation as parse, tokenize };\n//# sourceMappingURL=index.js.map\n","import Scanner, { isNumber, isAlpha, isAlphaWord, isQuote, isSpace, isAlphaNumericWord, ScannerError } from '@emmetio/scanner';\n\nvar OperatorType;\n(function (OperatorType) {\n OperatorType[\"Sibling\"] = \"+\";\n OperatorType[\"Important\"] = \"!\";\n OperatorType[\"ArgumentDelimiter\"] = \",\";\n OperatorType[\"ValueDelimiter\"] = \"-\";\n OperatorType[\"PropertyDelimiter\"] = \":\";\n})(OperatorType || (OperatorType = {}));\n\nvar Chars;\n(function (Chars) {\n /** `#` character */\n Chars[Chars[\"Hash\"] = 35] = \"Hash\";\n /** `$` character */\n Chars[Chars[\"Dollar\"] = 36] = \"Dollar\";\n /** `-` character */\n Chars[Chars[\"Dash\"] = 45] = \"Dash\";\n /** `.` character */\n Chars[Chars[\"Dot\"] = 46] = \"Dot\";\n /** `:` character */\n Chars[Chars[\"Colon\"] = 58] = \"Colon\";\n /** `,` character */\n Chars[Chars[\"Comma\"] = 44] = \"Comma\";\n /** `!` character */\n Chars[Chars[\"Excl\"] = 33] = \"Excl\";\n /** `@` character */\n Chars[Chars[\"At\"] = 64] = \"At\";\n /** `%` character */\n Chars[Chars[\"Percent\"] = 37] = \"Percent\";\n /** `_` character */\n Chars[Chars[\"Underscore\"] = 95] = \"Underscore\";\n /** `(` character */\n Chars[Chars[\"RoundBracketOpen\"] = 40] = \"RoundBracketOpen\";\n /** `)` character */\n Chars[Chars[\"RoundBracketClose\"] = 41] = \"RoundBracketClose\";\n /** `{` character */\n Chars[Chars[\"CurlyBracketOpen\"] = 123] = \"CurlyBracketOpen\";\n /** `}` character */\n Chars[Chars[\"CurlyBracketClose\"] = 125] = \"CurlyBracketClose\";\n /** `+` character */\n Chars[Chars[\"Sibling\"] = 43] = \"Sibling\";\n /** `'` character */\n Chars[Chars[\"SingleQuote\"] = 39] = \"SingleQuote\";\n /** `\"` character */\n Chars[Chars[\"DoubleQuote\"] = 34] = \"DoubleQuote\";\n /** `t` character */\n Chars[Chars[\"Transparent\"] = 116] = \"Transparent\";\n /** `/` character */\n Chars[Chars[\"Slash\"] = 47] = \"Slash\";\n})(Chars || (Chars = {}));\n\nfunction tokenize(abbr, isValue) {\n let brackets = 0;\n let token;\n const scanner = new Scanner(abbr);\n const tokens = [];\n while (!scanner.eof()) {\n token = getToken(scanner, brackets === 0 && !isValue);\n if (!token) {\n throw scanner.error('Unexpected character');\n }\n if (token.type === 'Bracket') {\n if (!brackets && token.open) {\n mergeTokens(scanner, tokens);\n }\n brackets += token.open ? 1 : -1;\n if (brackets < 0) {\n throw scanner.error('Unexpected bracket', token.start);\n }\n }\n tokens.push(token);\n // Forcibly consume next operator after unit-less numeric value or color:\n // next dash `-` must be used as value delimiter\n if (shouldConsumeDashAfter(token) && (token = operator(scanner))) {\n tokens.push(token);\n }\n }\n return tokens;\n}\n/**\n * Returns next token from given scanner, if possible\n */\nfunction getToken(scanner, short) {\n return field(scanner)\n || customProperty(scanner)\n || numberValue(scanner)\n || colorValue(scanner)\n || stringValue(scanner)\n || bracket(scanner)\n || operator(scanner)\n || whiteSpace(scanner)\n || literal(scanner, short);\n}\nfunction field(scanner) {\n const start = scanner.pos;\n if (scanner.eat(Chars.Dollar) && scanner.eat(Chars.CurlyBracketOpen)) {\n scanner.start = scanner.pos;\n let index;\n let name = '';\n if (scanner.eatWhile(isNumber)) {\n // It’s a field\n index = Number(scanner.current());\n name = scanner.eat(Chars.Colon) ? consumePlaceholder(scanner) : '';\n }\n else if (isAlpha(scanner.peek())) {\n // It’s a variable\n name = consumePlaceholder(scanner);\n }\n if (scanner.eat(Chars.CurlyBracketClose)) {\n return {\n type: 'Field',\n index, name,\n start,\n end: scanner.pos\n };\n }\n throw scanner.error('Expecting }');\n }\n // If we reached here then there’s no valid field here, revert\n // back to starting position\n scanner.pos = start;\n}\n/**\n * Consumes a placeholder: value right after `:` in field. Could be empty\n */\nfunction consumePlaceholder(stream) {\n const stack = [];\n stream.start = stream.pos;\n while (!stream.eof()) {\n if (stream.eat(Chars.CurlyBracketOpen)) {\n stack.push(stream.pos);\n }\n else if (stream.eat(Chars.CurlyBracketClose)) {\n if (!stack.length) {\n stream.pos--;\n break;\n }\n stack.pop();\n }\n else {\n stream.pos++;\n }\n }\n if (stack.length) {\n stream.pos = stack.pop();\n throw stream.error(`Expecting }`);\n }\n return stream.current();\n}\n/**\n * Consumes literal from given scanner\n * @param short Use short notation for consuming value.\n * The difference between “short” and “full” notation is that first one uses\n * alpha characters only and used for extracting keywords from abbreviation,\n * while “full” notation also supports numbers and dashes\n */\nfunction literal(scanner, short) {\n const start = scanner.pos;\n if (scanner.eat(isIdentPrefix)) {\n // SCSS or LESS variable\n // NB a bit dirty hack: if abbreviation starts with identifier prefix,\n // consume alpha characters only to allow embedded variables\n scanner.eatWhile(start ? isKeyword : isLiteral$1);\n }\n else if (scanner.eat(isAlphaWord)) {\n scanner.eatWhile(short ? isLiteral$1 : isKeyword);\n }\n else {\n // Allow dots only at the beginning of literal\n scanner.eat(Chars.Dot);\n scanner.eatWhile(isLiteral$1);\n }\n if (start !== scanner.pos) {\n scanner.start = start;\n return createLiteral(scanner, scanner.start = start);\n }\n}\nfunction createLiteral(scanner, start = scanner.start, end = scanner.pos) {\n return {\n type: 'Literal',\n value: scanner.substring(start, end),\n start,\n end\n };\n}\n/**\n * Consumes numeric CSS value (number with optional unit) from current stream,\n * if possible\n */\nfunction numberValue(scanner) {\n const start = scanner.pos;\n if (consumeNumber(scanner)) {\n scanner.start = start;\n const rawValue = scanner.current();\n // eat unit, which can be a % or alpha word\n scanner.start = scanner.pos;\n scanner.eat(Chars.Percent) || scanner.eatWhile(isAlphaWord);\n return {\n type: 'NumberValue',\n value: Number(rawValue),\n rawValue,\n unit: scanner.current(),\n start,\n end: scanner.pos\n };\n }\n}\n/**\n * Consumes quoted string value from given scanner\n */\nfunction stringValue(scanner) {\n const ch = scanner.peek();\n const start = scanner.pos;\n let finished = false;\n if (isQuote(ch)) {\n scanner.pos++;\n while (!scanner.eof()) {\n // Do not throw error on malformed string\n if (scanner.eat(ch)) {\n finished = true;\n break;\n }\n else {\n scanner.pos++;\n }\n }\n scanner.start = start;\n return {\n type: 'StringValue',\n value: scanner.substring(start + 1, scanner.pos - (finished ? 1 : 0)),\n quote: ch === Chars.SingleQuote ? 'single' : 'double',\n start,\n end: scanner.pos\n };\n }\n}\n/**\n * Consumes a color token from given string\n */\nfunction colorValue(scanner) {\n // supported color variations:\n // #abc → #aabbccc\n // #0 → #000000\n // #fff.5 → rgba(255, 255, 255, 0.5)\n // #t → transparent\n const start = scanner.pos;\n if (scanner.eat(Chars.Hash)) {\n const valueStart = scanner.pos;\n let color = '';\n let alpha = '';\n if (scanner.eatWhile(isHex)) {\n color = scanner.substring(valueStart, scanner.pos);\n alpha = colorAlpha(scanner);\n }\n else if (scanner.eat(Chars.Transparent)) {\n color = '0';\n alpha = colorAlpha(scanner) || '0';\n }\n else {\n alpha = colorAlpha(scanner);\n }\n if (color || alpha || scanner.eof()) {\n const { r, g, b, a } = parseColor(color, alpha);\n return {\n type: 'ColorValue',\n r, g, b, a,\n raw: scanner.substring(start + 1, scanner.pos),\n start,\n end: scanner.pos\n };\n }\n else {\n // Consumed # but no actual value: invalid color value, treat it as literal\n return createLiteral(scanner, start);\n }\n }\n scanner.pos = start;\n}\n/**\n * Consumes alpha value of color: `.1`\n */\nfunction colorAlpha(scanner) {\n const start = scanner.pos;\n if (scanner.eat(Chars.Dot)) {\n scanner.start = start;\n if (scanner.eatWhile(isNumber)) {\n return scanner.current();\n }\n return '1';\n }\n return '';\n}\n/**\n * Consumes white space characters as string literal from given scanner\n */\nfunction whiteSpace(scanner) {\n const start = scanner.pos;\n if (scanner.eatWhile(isSpace)) {\n return {\n type: 'WhiteSpace',\n start,\n end: scanner.pos\n };\n }\n}\n/**\n * Consumes custom CSS property: --foo-bar\n */\nfunction customProperty(scanner) {\n const start = scanner.pos;\n if (scanner.eat(Chars.Dash) && scanner.eat(Chars.Dash)) {\n scanner.start = start;\n scanner.eatWhile(isKeyword);\n return {\n type: 'CustomProperty',\n value: scanner.current(),\n start,\n end: scanner.pos\n };\n }\n scanner.pos = start;\n}\n/**\n * Consumes bracket from given scanner\n */\nfunction bracket(scanner) {\n const ch = scanner.peek();\n if (isBracket$1(ch)) {\n return {\n type: 'Bracket',\n open: ch === Chars.RoundBracketOpen,\n start: scanner.pos++,\n end: scanner.pos\n };\n }\n}\n/**\n * Consumes operator from given scanner\n */\nfunction operator(scanner) {\n const op = operatorType(scanner.peek());\n if (op) {\n return {\n type: 'Operator',\n operator: op,\n start: scanner.pos++,\n end: scanner.pos\n };\n }\n}\n/**\n * Eats number value from given stream\n * @return Returns `true` if number was consumed\n */\nfunction consumeNumber(stream) {\n const start = stream.pos;\n stream.eat(Chars.Dash);\n const afterNegative = stream.pos;\n const hasDecimal = stream.eatWhile(isNumber);\n const prevPos = stream.pos;\n if (stream.eat(Chars.Dot)) {\n // It’s perfectly valid to have numbers like `1.`, which enforces\n // value to float unit type\n const hasFloat = stream.eatWhile(isNumber);\n if (!hasDecimal && !hasFloat) {\n // Lone dot\n stream.pos = prevPos;\n }\n }\n // Edge case: consumed dash only: not a number, bail-out\n if (stream.pos === afterNegative) {\n stream.pos = start;\n }\n return stream.pos !== start;\n}\nfunction isIdentPrefix(code) {\n return code === Chars.At || code === Chars.Dollar;\n}\n/**\n * If given character is an operator, returns it’s type\n */\nfunction operatorType(ch) {\n return (ch === Chars.Sibling && OperatorType.Sibling)\n || (ch === Chars.Excl && OperatorType.Important)\n || (ch === Chars.Comma && OperatorType.ArgumentDelimiter)\n || (ch === Chars.Colon && OperatorType.PropertyDelimiter)\n || (ch === Chars.Dash && OperatorType.ValueDelimiter)\n || void 0;\n}\n/**\n * Check if given code is a hex value (/0-9a-f/)\n */\nfunction isHex(code) {\n return isNumber(code) || isAlpha(code, 65, 70); // A-F\n}\nfunction isKeyword(code) {\n return isAlphaNumericWord(code) || code === Chars.Dash;\n}\nfunction isBracket$1(code) {\n return code === Chars.RoundBracketOpen || code === Chars.RoundBracketClose;\n}\nfunction isLiteral$1(code) {\n return isAlphaWord(code) || code === Chars.Percent || code === Chars.Slash;\n}\n/**\n * Parses given color value from abbreviation into RGBA format\n */\nfunction parseColor(value, alpha) {\n let r = '0';\n let g = '0';\n let b = '0';\n let a = Number(alpha != null && alpha !== '' ? alpha : 1);\n if (value === 't') {\n a = 0;\n }\n else {\n switch (value.length) {\n case 0:\n break;\n case 1:\n r = g = b = value + value;\n break;\n case 2:\n r = g = b = value;\n break;\n case 3:\n r = value[0] + value[0];\n g = value[1] + value[1];\n b = value[2] + value[2];\n break;\n default:\n value += value;\n r = value.slice(0, 2);\n g = value.slice(2, 4);\n b = value.slice(4, 6);\n }\n }\n return {\n r: parseInt(r, 16),\n g: parseInt(g, 16),\n b: parseInt(b, 16),\n a\n };\n}\n/**\n * Check if scanner reader must consume dash after given token.\n * Used in cases where user must explicitly separate numeric values\n */\nfunction shouldConsumeDashAfter(token) {\n return token.type === 'ColorValue' || (token.type === 'NumberValue' && !token.unit);\n}\n/**\n * Merges last adjacent tokens into a single literal.\n * This function is used to overcome edge case when function name was parsed\n * as a list of separate tokens. For example, a `scale3d()` value will be\n * parsed as literal and number tokens (`scale` and `3d`) which is a perfectly\n * valid abbreviation but undesired result. This function will detect last adjacent\n * literal and number values and combine them into single literal\n */\nfunction mergeTokens(scanner, tokens) {\n let start = 0;\n let end = 0;\n while (tokens.length) {\n const token = last(tokens);\n if (token.type === 'Literal' || token.type === 'NumberValue') {\n start = token.start;\n if (!end) {\n end = token.end;\n }\n tokens.pop();\n }\n else {\n break;\n }\n }\n if (start !== end) {\n tokens.push(createLiteral(scanner, start, end));\n }\n}\nfunction last(arr) {\n return arr[arr.length - 1];\n}\n\nfunction tokenScanner(tokens) {\n return {\n tokens,\n start: 0,\n pos: 0,\n size: tokens.length\n };\n}\nfunction peek(scanner) {\n return scanner.tokens[scanner.pos];\n}\nfunction readable(scanner) {\n return scanner.pos < scanner.size;\n}\nfunction consume(scanner, test) {\n if (test(peek(scanner))) {\n scanner.pos++;\n return true;\n }\n return false;\n}\nfunction error(scanner, message, token = peek(scanner)) {\n if (token && token.start != null) {\n message += ` at ${token.start}`;\n }\n const err = new Error(message);\n err['pos'] = token && token.start;\n return err;\n}\n\nfunction parser(tokens, options = {}) {\n const scanner = tokenScanner(tokens);\n const result = [];\n let property;\n while (readable(scanner)) {\n if (property = consumeProperty(scanner, options)) {\n result.push(property);\n }\n else if (!consume(scanner, isSiblingOperator)) {\n throw error(scanner, 'Unexpected token');\n }\n }\n return result;\n}\n/**\n * Consumes single CSS property\n */\nfunction consumeProperty(scanner, options) {\n let name;\n let important = false;\n let valueFragment;\n const value = [];\n const token = peek(scanner);\n const valueMode = !!options.value;\n if (!valueMode && isLiteral(token) && !isFunctionStart(scanner)) {\n scanner.pos++;\n name = token.value;\n // Consume any following value delimiter after property name\n consume(scanner, isValueDelimiter);\n }\n // Skip whitespace right after property name, if any\n if (valueMode) {\n consume(scanner, isWhiteSpace);\n }\n while (readable(scanner)) {\n if (consume(scanner, isImportant)) {\n important = true;\n }\n else if (valueFragment = consumeValue(scanner, valueMode)) {\n value.push(valueFragment);\n }\n else if (!consume(scanner, isFragmentDelimiter)) {\n break;\n }\n }\n if (name || value.length || important) {\n return { name, value, important };\n }\n}\n/**\n * Consumes single value fragment, e.g. all value tokens before comma\n */\nfunction consumeValue(scanner, inArgument) {\n const result = [];\n let token;\n let args;\n while (readable(scanner)) {\n token = peek(scanner);\n if (isValue(token)) {\n scanner.pos++;\n if (isLiteral(token) && (args = consumeArguments(scanner))) {\n result.push({\n type: 'FunctionCall',\n name: token.value,\n arguments: args\n });\n }\n else {\n result.push(token);\n }\n }\n else if (isValueDelimiter(token) || (inArgument && isWhiteSpace(token))) {\n scanner.pos++;\n }\n else {\n break;\n }\n }\n return result.length\n ? { type: 'CSSValue', value: result }\n : void 0;\n}\nfunction consumeArguments(scanner) {\n const start = scanner.pos;\n if (consume(scanner, isOpenBracket)) {\n const args = [];\n let value;\n while (readable(scanner) && !consume(scanner, isCloseBracket)) {\n if (value = consumeValue(scanner, true)) {\n args.push(value);\n }\n else if (!consume(scanner, isWhiteSpace) && !consume(scanner, isArgumentDelimiter)) {\n throw error(scanner, 'Unexpected token');\n }\n }\n scanner.start = start;\n return args;\n }\n}\nfunction isLiteral(token) {\n return token && token.type === 'Literal';\n}\nfunction isBracket(token, open) {\n return token && token.type === 'Bracket' && (open == null || token.open === open);\n}\nfunction isOpenBracket(token) {\n return isBracket(token, true);\n}\nfunction isCloseBracket(token) {\n return isBracket(token, false);\n}\nfunction isWhiteSpace(token) {\n return token && token.type === 'WhiteSpace';\n}\nfunction isOperator(token, operator) {\n return token && token.type === 'Operator' && (!operator || token.operator === operator);\n}\nfunction isSiblingOperator(token) {\n return isOperator(token, OperatorType.Sibling);\n}\nfunction isArgumentDelimiter(token) {\n return isOperator(token, OperatorType.ArgumentDelimiter);\n}\nfunction isFragmentDelimiter(token) {\n return isArgumentDelimiter(token);\n}\nfunction isImportant(token) {\n return isOperator(token, OperatorType.Important);\n}\nfunction isValue(token) {\n return token.type === 'StringValue'\n || token.type === 'ColorValue'\n || token.type === 'NumberValue'\n || token.type === 'Literal'\n || token.type === 'Field'\n || token.type === 'CustomProperty';\n}\nfunction isValueDelimiter(token) {\n return isOperator(token, OperatorType.PropertyDelimiter)\n || isOperator(token, OperatorType.ValueDelimiter);\n}\nfunction isFunctionStart(scanner) {\n const t1 = scanner.tokens[scanner.pos];\n const t2 = scanner.tokens[scanner.pos + 1];\n return t1 && t2 && isLiteral(t1) && t2.type === 'Bracket';\n}\n\n/**\n * Parses given abbreviation into property set\n */\nfunction parse(abbr, options) {\n try {\n const tokens = typeof abbr === 'string' ? tokenize(abbr, options && options.value) : abbr;\n return parser(tokens, options);\n }\n catch (err) {\n if (err instanceof ScannerError && typeof abbr === 'string') {\n err.message += `\\n${abbr}\\n${'-'.repeat(err.pos)}^`;\n }\n throw err;\n }\n}\n\nexport { OperatorType, parse as default, getToken, parser, tokenize };\n//# sourceMappingURL=index.js.map\n",null,null,null,null,null,"{\n\t\"common\": [\"lorem\", \"ipsum\", \"dolor\", \"sit\", \"amet\", \"consectetur\", \"adipisicing\", \"elit\"],\n\t\"words\": [\"exercitationem\", \"perferendis\", \"perspiciatis\", \"laborum\", \"eveniet\",\n\t\t\"sunt\", \"iure\", \"nam\", \"nobis\", \"eum\", \"cum\", \"officiis\", \"excepturi\",\n\t\t\"odio\", \"consectetur\", \"quasi\", \"aut\", \"quisquam\", \"vel\", \"eligendi\",\n\t\t\"itaque\", \"non\", \"odit\", \"tempore\", \"quaerat\", \"dignissimos\",\n\t\t\"facilis\", \"neque\", \"nihil\", \"expedita\", \"vitae\", \"vero\", \"ipsum\",\n\t\t\"nisi\", \"animi\", \"cumque\", \"pariatur\", \"velit\", \"modi\", \"natus\",\n\t\t\"iusto\", \"eaque\", \"sequi\", \"illo\", \"sed\", \"ex\", \"et\", \"voluptatibus\",\n\t\t\"tempora\", \"veritatis\", \"ratione\", \"assumenda\", \"incidunt\", \"nostrum\",\n\t\t\"placeat\", \"aliquid\", \"fuga\", \"provident\", \"praesentium\", \"rem\",\n\t\t\"necessitatibus\", \"suscipit\", \"adipisci\", \"quidem\", \"possimus\",\n\t\t\"voluptas\", \"debitis\", \"sint\", \"accusantium\", \"unde\", \"sapiente\",\n\t\t\"voluptate\", \"qui\", \"aspernatur\", \"laudantium\", \"soluta\", \"amet\",\n\t\t\"quo\", \"aliquam\", \"saepe\", \"culpa\", \"libero\", \"ipsa\", \"dicta\",\n\t\t\"reiciendis\", \"nesciunt\", \"doloribus\", \"autem\", \"impedit\", \"minima\",\n\t\t\"maiores\", \"repudiandae\", \"ipsam\", \"obcaecati\", \"ullam\", \"enim\",\n\t\t\"totam\", \"delectus\", \"ducimus\", \"quis\", \"voluptates\", \"dolores\",\n\t\t\"molestiae\", \"harum\", \"dolorem\", \"quia\", \"voluptatem\", \"molestias\",\n\t\t\"magni\", \"distinctio\", \"omnis\", \"illum\", \"dolorum\", \"voluptatum\", \"ea\",\n\t\t\"quas\", \"quam\", \"corporis\", \"quae\", \"blanditiis\", \"atque\", \"deserunt\",\n\t\t\"laboriosam\", \"earum\", \"consequuntur\", \"hic\", \"cupiditate\",\n\t\t\"quibusdam\", \"accusamus\", \"ut\", \"rerum\", \"error\", \"minus\", \"eius\",\n\t\t\"ab\", \"ad\", \"nemo\", \"fugit\", \"officia\", \"at\", \"in\", \"id\", \"quos\",\n\t\t\"reprehenderit\", \"numquam\", \"iste\", \"fugiat\", \"sit\", \"inventore\",\n\t\t\"beatae\", \"repellendus\", \"magnam\", \"recusandae\", \"quod\", \"explicabo\",\n\t\t\"doloremque\", \"aperiam\", \"consequatur\", \"asperiores\", \"commodi\",\n\t\t\"optio\", \"dolor\", \"labore\", \"temporibus\", \"repellat\", \"veniam\",\n\t\t\"architecto\", \"est\", \"esse\", \"mollitia\", \"nulla\", \"a\", \"similique\",\n\t\t\"eos\", \"alias\", \"dolore\", \"tenetur\", \"deleniti\", \"porro\", \"facere\",\n\t\t\"maxime\", \"corrupti\"]\n}\n","{\n\t\"common\": [\"далеко-далеко\", \"за\", \"словесными\", \"горами\", \"в стране\", \"гласных\", \"и согласных\", \"живут\", \"рыбные\", \"тексты\"],\n\t\"words\": [\"вдали\", \"от всех\", \"они\", \"буквенных\", \"домах\", \"на берегу\", \"семантика\",\n\t\t\"большого\", \"языкового\", \"океана\", \"маленький\", \"ручеек\", \"даль\",\n\t\t\"журчит\", \"по всей\", \"обеспечивает\", \"ее\",\"всеми\", \"необходимыми\",\n\t\t\"правилами\", \"эта\", \"парадигматическая\", \"страна\", \"которой\", \"жаренные\",\n\t\t\"предложения\", \"залетают\", \"прямо\", \"рот\", \"даже\", \"всемогущая\",\n\t\t\"пунктуация\", \"не\", \"имеет\", \"власти\", \"над\", \"рыбными\", \"текстами\",\n\t\t\"ведущими\", \"безорфографичный\", \"образ\", \"жизни\", \"однажды\", \"одна\",\n\t\t\"маленькая\", \"строчка\",\"рыбного\", \"текста\", \"имени\", \"lorem\", \"ipsum\",\n\t\t\"решила\", \"выйти\", \"большой\", \"мир\", \"грамматики\", \"великий\", \"оксмокс\",\n\t\t\"предупреждал\", \"о\", \"злых\", \"запятых\", \"диких\", \"знаках\", \"вопроса\",\n\t\t\"коварных\", \"точках\", \"запятой\", \"но\", \"текст\", \"дал\", \"сбить\",\n\t\t\"себя\", \"толку\", \"он\", \"собрал\", \"семь\", \"своих\", \"заглавных\", \"букв\",\n\t\t\"подпоясал\", \"инициал\", \"за\", \"пояс\", \"пустился\", \"дорогу\",\n\t\t\"взобравшись\", \"первую\", \"вершину\", \"курсивных\", \"гор\", \"бросил\",\n\t\t\"последний\", \"взгляд\", \"назад\", \"силуэт\", \"своего\", \"родного\", \"города\",\n\t\t\"буквоград\", \"заголовок\", \"деревни\", \"алфавит\", \"подзаголовок\", \"своего\",\n\t\t\"переулка\", \"грустный\", \"реторический\", \"вопрос\", \"скатился\", \"его\",\n\t\t\"щеке\", \"продолжил\", \"свой\", \"путь\", \"дороге\", \"встретил\", \"рукопись\",\n\t\t\"она\", \"предупредила\", \"моей\", \"все\", \"переписывается\", \"несколько\",\n\t\t\"раз\", \"единственное\", \"что\", \"меня\", \"осталось\", \"это\", \"приставка\",\n\t\t\"возвращайся\", \"ты\", \"лучше\", \"свою\", \"безопасную\", \"страну\", \"послушавшись\",\n\t\t\"рукописи\", \"наш\", \"продолжил\", \"свой\", \"путь\", \"вскоре\", \"ему\",\n\t\t\"повстречался\", \"коварный\", \"составитель\", \"рекламных\", \"текстов\",\n\t\t\"напоивший\", \"языком\", \"речью\", \"заманивший\", \"свое\", \"агентство\",\n\t\t\"которое\", \"использовало\", \"снова\", \"снова\", \"своих\", \"проектах\",\n\t\t\"если\", \"переписали\", \"то\", \"живет\", \"там\", \"до\", \"сих\", \"пор\"]\n}\n","{\n\t\"common\": [\"mujer\", \"uno\", \"dolor\", \"más\", \"de\", \"poder\", \"mismo\", \"si\"],\n\t\"words\": [\"ejercicio\", \"preferencia\", \"perspicacia\", \"laboral\", \"paño\",\n\t\t\"suntuoso\", \"molde\", \"namibia\", \"planeador\", \"mirar\", \"demás\", \"oficinista\", \"excepción\",\n\t\t\"odio\", \"consecuencia\", \"casi\", \"auto\", \"chicharra\", \"velo\", \"elixir\",\n\t\t\"ataque\", \"no\", \"odio\", \"temporal\", \"cuórum\", \"dignísimo\",\n\t\t\"facilismo\", \"letra\", \"nihilista\", \"expedición\", \"alma\", \"alveolar\", \"aparte\",\n\t\t\"león\", \"animal\", \"como\", \"paria\", \"belleza\", \"modo\", \"natividad\",\n\t\t\"justo\", \"ataque\", \"séquito\", \"pillo\", \"sed\", \"ex\", \"y\", \"voluminoso\",\n\t\t\"temporalidad\", \"verdades\", \"racional\", \"asunción\", \"incidente\", \"marejada\",\n\t\t\"placenta\", \"amanecer\", \"fuga\", \"previsor\", \"presentación\", \"lejos\",\n\t\t\"necesariamente\", \"sospechoso\", \"adiposidad\", \"quindío\", \"pócima\",\n\t\t\"voluble\", \"débito\", \"sintió\", \"accesorio\", \"falda\", \"sapiencia\",\n\t\t\"volutas\", \"queso\", \"permacultura\", \"laudo\", \"soluciones\", \"entero\",\n\t\t\"pan\", \"litro\", \"tonelada\", \"culpa\", \"libertario\", \"mosca\", \"dictado\",\n\t\t\"reincidente\", \"nascimiento\", \"dolor\", \"escolar\", \"impedimento\", \"mínima\",\n\t\t\"mayores\", \"repugnante\", \"dulce\", \"obcecado\", \"montaña\", \"enigma\",\n\t\t\"total\", \"deletéreo\", \"décima\", \"cábala\", \"fotografía\", \"dolores\",\n\t\t\"molesto\", \"olvido\", \"paciencia\", \"resiliencia\", \"voluntad\", \"molestias\",\n\t\t\"magnífico\", \"distinción\", \"ovni\", \"marejada\", \"cerro\", \"torre\", \"y\",\n\t\t\"abogada\", \"manantial\", \"corporal\", \"agua\", \"crepúsculo\", \"ataque\", \"desierto\",\n\t\t\"laboriosamente\", \"angustia\", \"afortunado\", \"alma\", \"encefalograma\",\n\t\t\"materialidad\", \"cosas\", \"o\", \"renuncia\", \"error\", \"menos\", \"conejo\",\n\t\t\"abadía\", \"analfabeto\", \"remo\", \"fugacidad\", \"oficio\", \"en\", \"almácigo\", \"vos\", \"pan\",\n\t\t\"represión\", \"números\", \"triste\", \"refugiado\", \"trote\", \"inventor\",\n\t\t\"corchea\", \"repelente\", \"magma\", \"recusado\", \"patrón\", \"explícito\",\n\t\t\"paloma\", \"síndrome\", \"inmune\", \"autoinmune\", \"comodidad\",\n\t\t\"ley\", \"vietnamita\", \"demonio\", \"tasmania\", \"repeler\", \"apéndice\",\n\t\t\"arquitecto\", \"columna\", \"yugo\", \"computador\", \"mula\", \"a\", \"propósito\",\n\t\t\"fantasía\", \"alias\", \"rayo\", \"tenedor\", \"deleznable\", \"ventana\", \"cara\",\n\t\t\"anemia\", \"corrupto\"]\n}\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"{\n\t\"a\": \"a[href]\",\n\t\"a:blank\": \"a[href='http://${0}' target='_blank' rel='noopener noreferrer']\",\n\t\"a:link\": \"a[href='http://${0}']\",\n\t\"a:mail\": \"a[href='mailto:${0}']\",\n\t\"a:tel\": \"a[href='tel:+${0}']\",\n\t\"abbr\": \"abbr[title]\",\n\t\"acr|acronym\": \"acronym[title]\",\n\t\"base\": \"base[href]/\",\n\t\"basefont\": \"basefont/\",\n\t\"br\": \"br/\",\n\t\"frame\": \"frame/\",\n\t\"hr\": \"hr/\",\n\t\"bdo\": \"bdo[dir]\",\n\t\"bdo:r\": \"bdo[dir=rtl]\",\n\t\"bdo:l\": \"bdo[dir=ltr]\",\n\t\"col\": \"col/\",\n\t\"link\": \"link[rel=stylesheet href]/\",\n\t\"link:css\": \"link[href='${1:style}.css']\",\n\t\"link:print\": \"link[href='${1:print}.css' media=print]\",\n\t\"link:favicon\": \"link[rel='shortcut icon' type=image/x-icon href='${1:favicon.ico}']\",\n\t\"link:mf|link:manifest\": \"link[rel='manifest' href='${1:manifest.json}']\",\n\t\"link:touch\": \"link[rel=apple-touch-icon href='${1:favicon.png}']\",\n\t\"link:rss\": \"link[rel=alternate type=application/rss+xml title=RSS href='${1:rss.xml}']\",\n\t\"link:atom\": \"link[rel=alternate type=application/atom+xml title=Atom href='${1:atom.xml}']\",\n\t\"link:im|link:import\": \"link[rel=import href='${1:component}.html']\",\n\t\"meta\": \"meta/\",\n\t\"meta:utf\": \"meta[http-equiv=Content-Type content='text/html;charset=UTF-8']\",\n\t\"meta:vp\": \"meta[name=viewport content='width=${1:device-width}, initial-scale=${2:1.0}']\",\n\t\"meta:compat\": \"meta[http-equiv=X-UA-Compatible content='${1:IE=7}']\",\n\t\"meta:edge\": \"meta:compat[content='${1:ie=edge}']\",\n\t\"meta:redirect\": \"meta[http-equiv=refresh content='0; url=${1:http://example.com}']\",\n\t\"meta:refresh\": \"meta[http-equiv=refresh content='${1:5}']\",\n\t\"meta:kw\": \"meta[name=keywords content]\",\n\t\"meta:desc\": \"meta[name=description content]\",\n\t\"style\": \"style\",\n\t\"script\": \"script\",\n\t\"script:src\": \"script[src]\",\n\t\"script:module\": \"script[type=module src]\",\n\t\"img\": \"img[src alt]/\",\n\t\"img:s|img:srcset\": \"img[srcset src alt]\",\n\t\"img:z|img:sizes\": \"img[sizes srcset src alt]\",\n\t\"picture\": \"picture\",\n\t\"src|source\": \"source/\",\n\t\"src:sc|source:src\": \"source[src type]\",\n\t\"src:s|source:srcset\": \"source[srcset]\",\n\t\"src:t|source:type\": \"source[srcset type='${1:image/}']\",\n\t\"src:z|source:sizes\": \"source[sizes srcset]\",\n\t\"src:m|source:media\": \"source[media='(${1:min-width: })' srcset]\",\n\t\"src:mt|source:media:type\": \"source:media[type='${2:image/}']\",\n\t\"src:mz|source:media:sizes\": \"source:media[sizes srcset]\",\n\t\"src:zt|source:sizes:type\": \"source[sizes srcset type='${1:image/}']\",\n\t\"iframe\": \"iframe[src frameborder=0]\",\n\t\"embed\": \"embed[src type]/\",\n\t\"object\": \"object[data type]\",\n\t\"param\": \"param[name value]/\",\n\t\"map\": \"map[name]\",\n\t\"area\": \"area[shape coords href alt]/\",\n\t\"area:d\": \"area[shape=default]\",\n\t\"area:c\": \"area[shape=circle]\",\n\t\"area:r\": \"area[shape=rect]\",\n\t\"area:p\": \"area[shape=poly]\",\n\t\"form\": \"form[action]\",\n\t\"form:get\": \"form[method=get]\",\n\t\"form:post\": \"form[method=post]\",\n\t\"label\": \"label[for]\",\n\t\"input\": \"input[type=${1:text}]/\",\n\t\"inp\": \"input[name=${1} id=${1}]\",\n\t\"input:h|input:hidden\": \"input[type=hidden name]\",\n\t\"input:t|input:text\": \"inp[type=text]\",\n\t\"input:search\": \"inp[type=search]\",\n\t\"input:email\": \"inp[type=email]\",\n\t\"input:url\": \"inp[type=url]\",\n\t\"input:p|input:password\": \"inp[type=password]\",\n\t\"input:datetime\": \"inp[type=datetime]\",\n\t\"input:date\": \"inp[type=date]\",\n\t\"input:datetime-local\": \"inp[type=datetime-local]\",\n\t\"input:month\": \"inp[type=month]\",\n\t\"input:week\": \"inp[type=week]\",\n\t\"input:time\": \"inp[type=time]\",\n\t\"input:tel\": \"inp[type=tel]\",\n\t\"input:number\": \"inp[type=number]\",\n\t\"input:color\": \"inp[type=color]\",\n\t\"input:c|input:checkbox\": \"inp[type=checkbox]\",\n\t\"input:r|input:radio\": \"inp[type=radio]\",\n\t\"input:range\": \"inp[type=range]\",\n\t\"input:f|input:file\": \"inp[type=file]\",\n\t\"input:s|input:submit\": \"input[type=submit value]\",\n\t\"input:i|input:image\": \"input[type=image src alt]\",\n\t\"input:b|input:btn|input:button\": \"input[type=button value]\",\n\t\"input:reset\": \"input:button[type=reset]\",\n\t\"isindex\": \"isindex/\",\n\t\"select\": \"select[name=${1} id=${1}]\",\n\t\"select:d|select:disabled\": \"select[disabled.]\",\n\t\"opt|option\": \"option[value]\",\n\t\"textarea\": \"textarea[name=${1} id=${1}]\",\n\t\"tarea:c|textarea:cols\":\"textarea[name=${1} id=${1} cols=${2:30}]\",\n\t\"tarea:r|textarea:rows\":\"textarea[name=${1} id=${1} rows=${3:10}]\",\n\t\"tarea:cr|textarea:cols:rows\":\"textarea[name=${1} id=${1} cols=${2:30} rows=${3:10}]\",\n\t\"marquee\": \"marquee[behavior direction]\",\n\t\"menu:c|menu:context\": \"menu[type=context]\",\n\t\"menu:t|menu:toolbar\": \"menu[type=toolbar]\",\n\t\"video\": \"video[src]\",\n\t\"audio\": \"audio[src]\",\n\t\"html:xml\": \"html[xmlns=http://www.w3.org/1999/xhtml]\",\n\t\"keygen\": \"keygen/\",\n\t\"command\": \"command/\",\n\t\"btn:s|button:s|button:submit\" : \"button[type=submit]\",\n\t\"btn:r|button:r|button:reset\" : \"button[type=reset]\",\n\t\"btn:b|button:b|button:button\" : \"button[type=button]\",\n\t\"btn:d|button:d|button:disabled\" : \"button[disabled.]\",\n\t\"fst:d|fset:d|fieldset:d|fieldset:disabled\" : \"fieldset[disabled.]\",\n\n\t\"bq\": \"blockquote\",\n\t\"fig\": \"figure\",\n\t\"figc\": \"figcaption\",\n\t\"pic\": \"picture\",\n\t\"ifr\": \"iframe\",\n\t\"emb\": \"embed\",\n\t\"obj\": \"object\",\n\t\"cap\": \"caption\",\n\t\"colg\": \"colgroup\",\n\t\"fst\": \"fieldset\",\n\t\"btn\": \"button\",\n\t\"optg\": \"optgroup\",\n\t\"tarea\": \"textarea\",\n\t\"leg\": \"legend\",\n\t\"sect\": \"section\",\n\t\"art\": \"article\",\n\t\"hdr\": \"header\",\n\t\"ftr\": \"footer\",\n\t\"adr\": \"address\",\n\t\"dlg\": \"dialog\",\n\t\"str\": \"strong\",\n\t\"prog\": \"progress\",\n\t\"mn\": \"main\",\n\t\"tem\": \"template\",\n\t\"fset\": \"fieldset\",\n\t\"datal\": \"datalist\",\n\t\"kg\": \"keygen\",\n\t\"out\": \"output\",\n\t\"det\": \"details\",\n\t\"sum\": \"summary\",\n\t\"cmd\": \"command\",\n\t\"data\": \"data[value]\",\n\t\"meter\": \"meter[value]\",\n\t\"time\": \"time[datetime]\",\n\n\t\"ri:d|ri:dpr\": \"img:s\",\n\t\"ri:v|ri:viewport\": \"img:z\",\n\t\"ri:a|ri:art\": \"pic>src:m+img\",\n\t\"ri:t|ri:type\": \"pic>src:t+img\",\n\n\t\"!!!\": \"{<!DOCTYPE html>}\",\n\t\"doc\": \"html[lang=${lang}]>(head>meta[charset=${charset}]+meta:vp+title{${1:Document}})+body\",\n\t\"!|html:5\": \"!!!+doc\",\n\n\t\"c\": \"{<!-- ${0} -->}\",\n\t\"cc:ie\": \"{<!--[if IE]>${0}<![endif]-->}\",\n\t\"cc:noie\": \"{<!--[if !IE]><!-->${0}<!--<![endif]-->}\"\n}\n","{\n\t\"@f\": \"@font-face {\\n\\tfont-family: ${1};\\n\\tsrc: url(${2});\\n}\",\n\t\"@ff\": \"@font-face {\\n\\tfont-family: '${1:FontName}';\\n\\tsrc: url('${2:FileName}.eot');\\n\\tsrc: url('${2:FileName}.eot?#iefix') format('embedded-opentype'),\\n\\t\\t url('${2:FileName}.woff') format('woff'),\\n\\t\\t url('${2:FileName}.ttf') format('truetype'),\\n\\t\\t url('${2:FileName}.svg#${1:FontName}') format('svg');\\n\\tfont-style: ${3:normal};\\n\\tfont-weight: ${4:normal};\\n}\",\n\t\"@i|@import\": \"@import url(${0});\",\n\t\"@kf\": \"@keyframes ${1:identifier} {\\n\\t${2}\\n}\",\n\t\"@m|@media\": \"@media ${1:screen} {\\n\\t${0}\\n}\",\n\t\"ac\": \"align-content:start|end|flex-start|flex-end|center|space-between|space-around|stretch|space-evenly\",\n\t\"ai\": \"align-items:start|end|flex-start|flex-end|center|baseline|stretch\",\n\t\"anim\": \"animation:${1:name} ${2:duration} ${3:timing-function} ${4:delay} ${5:iteration-count} ${6:direction} ${7:fill-mode}\",\n\t\"animdel\": \"animation-delay:time\",\n\t\"animdir\": \"animation-direction:normal|reverse|alternate|alternate-reverse\",\n\t\"animdur\": \"animation-duration:${1:0}s\",\n\t\"animfm\": \"animation-fill-mode:both|forwards|backwards\",\n\t\"animic\": \"animation-iteration-count:1|infinite\",\n\t\"animn\": \"animation-name\",\n\t\"animps\": \"animation-play-state:running|paused\",\n\t\"animtf\": \"animation-timing-function:linear|ease|ease-in|ease-out|ease-in-out|cubic-bezier(${1:0.1}, ${2:0.7}, ${3:1.0}, ${3:0.1})\",\n\t\"ap\": \"appearance:none\",\n\t\"as\": \"align-self:start|end|auto|flex-start|flex-end|center|baseline|stretch\",\n\t\"b\": \"bottom\",\n\t\"bd\": \"border:${1:1px} ${2:solid} ${3:#000}\",\n\t\"bdb\": \"border-bottom:${1:1px} ${2:solid} ${3:#000}\",\n\t\"bdbc\": \"border-bottom-color:${1:#000}\",\n\t\"bdbi\": \"border-bottom-image:url(${0})\",\n\t\"bdbk\": \"border-break:close\",\n\t\"bdbli\": \"border-bottom-left-image:url(${0})|continue\",\n\t\"bdblrs\": \"border-bottom-left-radius\",\n\t\"bdbri\": \"border-bottom-right-image:url(${0})|continue\",\n\t\"bdbrrs\": \"border-bottom-right-radius\",\n\t\"bdbs\": \"border-bottom-style\",\n\t\"bdbw\": \"border-bottom-width\",\n\t\"bdc\": \"border-color:${1:#000}\",\n\t\"bdci\": \"border-corner-image:url(${0})|continue\",\n\t\"bdcl\": \"border-collapse:collapse|separate\",\n\t\"bdf\": \"border-fit:repeat|clip|scale|stretch|overwrite|overflow|space\",\n\t\"bdi\": \"border-image:url(${0})\",\n\t\"bdl\": \"border-left:${1:1px} ${2:solid} ${3:#000}\",\n\t\"bdlc\": \"border-left-color:${1:#000}\",\n\t\"bdlen\": \"border-length\",\n\t\"bdli\": \"border-left-image:url(${0})\",\n\t\"bdls\": \"border-left-style\",\n\t\"bdlw\": \"border-left-width\",\n\t\"bdr\": \"border-right:${1:1px} ${2:solid} ${3:#000}\",\n\t\"bdrc\": \"border-right-color:${1:#000}\",\n\t\"bdri\": \"border-right-image:url(${0})\",\n\t\"bdrs\": \"border-radius\",\n\t\"bdrst\": \"border-right-style\",\n\t\"bdrw\": \"border-right-width\",\n\t\"bds\": \"border-style:none|hidden|dotted|dashed|solid|double|dot-dash|dot-dot-dash|wave|groove|ridge|inset|outset\",\n\t\"bdsp\": \"border-spacing\",\n\t\"bdt\": \"border-top:${1:1px} ${2:solid} ${3:#000}\",\n\t\"bdtc\": \"border-top-color:${1:#000}\",\n\t\"bdti\": \"border-top-image:url(${0})\",\n\t\"bdtli\": \"border-top-left-image:url(${0})|continue\",\n\t\"bdtlrs\": \"border-top-left-radius\",\n\t\"bdtri\": \"border-top-right-image:url(${0})|continue\",\n\t\"bdtrrs\": \"border-top-right-radius\",\n\t\"bdts\": \"border-top-style\",\n\t\"bdtw\": \"border-top-width\",\n\t\"bdw\": \"border-width\",\n \"bbs\": \"border-block-start\",\n \"bbe\": \"border-block-end\",\n \"bis\": \"border-inline-start\",\n \"bie\": \"border-inline-end\",\n\t\"bfv\": \"backface-visibility:hidden|visible\",\n\t\"bg\": \"background:${1:#000}\",\n\t\"bg:n\": \"background: none\",\n\t\"bga\": \"background-attachment:fixed|scroll\",\n\t\"bgbk\": \"background-break:bounding-box|each-box|continuous\",\n\t\"bgc\": \"background-color:${1:#fff}\",\n\t\"bgcp\": \"background-clip:padding-box|border-box|content-box|no-clip\",\n\t\"bgi\": \"background-image:url(${0})\",\n\t\"bgo\": \"background-origin:padding-box|border-box|content-box\",\n\t\"bgp\": \"background-position:${1:0} ${2:0}\",\n\t\"bgpx\": \"background-position-x\",\n\t\"bgpy\": \"background-position-y\",\n\t\"bgr\": \"background-repeat:no-repeat|repeat-x|repeat-y|space|round\",\n\t\"bgsz\": \"background-size:contain|cover\",\n \"bs\": \"block-size\",\n\t\"bxsh\": \"box-shadow:${1:inset }${2:hoff} ${3:voff} ${4:blur} ${5:#000}|none\",\n\t\"bxsz\": \"box-sizing:border-box|content-box|border-box\",\n\t\"c\": \"color:${1:#000}\",\n\t\"cr\": \"color:rgb(${1:0}, ${2:0}, ${3:0})\",\n\t\"cra\": \"color:rgba(${1:0}, ${2:0}, ${3:0}, ${4:.5})\",\n\t\"cl\": \"clear:both|left|right|none\",\n\t\"cm\": \"/* ${0} */\",\n\t\"cnt\": \"content:'${0}'|normal|open-quote|no-open-quote|close-quote|no-close-quote|attr(${0})|counter(${0})|counters(${0})\",\n\t\"coi\": \"counter-increment\",\n\t\"colm\": \"columns\",\n\t\"colmc\": \"column-count\",\n\t\"colmf\": \"column-fill\",\n\t\"colmg\": \"column-gap\",\n\t\"colmr\": \"column-rule\",\n\t\"colmrc\": \"column-rule-color\",\n\t\"colmrs\": \"column-rule-style\",\n\t\"colmrw\": \"column-rule-width\",\n\t\"colms\": \"column-span\",\n\t\"colmw\": \"column-width\",\n\t\"cor\": \"counter-reset\",\n\t\"cp\": \"clip:auto|rect(${1:top} ${2:right} ${3:bottom} ${4:left})\",\n\t\"cps\": \"caption-side:top|bottom\",\n\t\"cur\": \"cursor:pointer|auto|default|crosshair|hand|help|move|pointer|text\",\n\t\"d\": \"display:block|none|flex|inline-flex|inline|inline-block|grid|inline-grid|subgrid|list-item|run-in|contents|table|inline-table|table-caption|table-column|table-column-group|table-header-group|table-footer-group|table-row|table-row-group|table-cell|ruby|ruby-base|ruby-base-group|ruby-text|ruby-text-group\",\n\t\"ec\": \"empty-cells:show|hide\",\n\t\"f\": \"font:${1:1em} ${2:sans-serif}\",\n\t\"fd\": \"font-display:auto|block|swap|fallback|optional\",\n\t\"fef\": \"font-effect:none|engrave|emboss|outline\",\n\t\"fem\": \"font-emphasize\",\n\t\"femp\": \"font-emphasize-position:before|after\",\n\t\"fems\": \"font-emphasize-style:none|accent|dot|circle|disc\",\n\t\"ff\": \"font-family:serif|sans-serif|cursive|fantasy|monospace\",\n\t\"fft\": \"font-family:\\\"Times New Roman\\\", Times, Baskerville, Georgia, serif\",\n\t\"ffa\": \"font-family:Arial, \\\"Helvetica Neue\\\", Helvetica, sans-serif\",\n\t\"ffv\": \"font-family:Verdana, Geneva, sans-serif\",\n\t\"fl\": \"float:left|right|none\",\n\t\"fs\": \"font-style:italic|normal|oblique\",\n\t\"fsm\": \"font-smoothing:antialiased|subpixel-antialiased|none\",\n\t\"fst\": \"font-stretch:normal|ultra-condensed|extra-condensed|condensed|semi-condensed|semi-expanded|expanded|extra-expanded|ultra-expanded\",\n\t\"fv\": \"font-variant:normal|small-caps\",\n\t\"fvs\": \"font-variation-settings:normal|inherit|initial|unset\",\n\t\"fw\": \"font-weight:normal|bold|bolder|lighter\",\n\t\"fx\": \"flex\",\n\t\"fxb\": \"flex-basis:fill|max-content|min-content|fit-content|content\",\n\t\"fxd\": \"flex-direction:row|row-reverse|column|column-reverse\",\n\t\"fxf\": \"flex-flow\",\n\t\"fxg\": \"flex-grow\",\n\t\"fxsh\": \"flex-shrink\",\n\t\"fxw\": \"flex-wrap:nowrap|wrap|wrap-reverse\",\n\t\"fsz\": \"font-size\",\n\t\"fsza\": \"font-size-adjust\",\n\t\"g\": \"gap\",\n\t\"gtc\": \"grid-template-columns:repeat(${0})|minmax()\",\n\t\"gtr\": \"grid-template-rows:repeat(${0})|minmax()\",\n\t\"gta\": \"grid-template-areas\",\n\t\"gt\": \"grid-template\",\n\t\"gg\": \"grid-gap\",\n\t\"gcg\": \"grid-column-gap\",\n\t\"grg\": \"grid-row-gap\",\n\t\"gac\": \"grid-auto-columns:auto|minmax()\",\n\t\"gar\": \"grid-auto-rows:auto|minmax()\",\n\t\"gaf\": \"grid-auto-flow:row|column|dense|inherit|initial|unset\",\n\t\"gd\": \"grid\",\n\t\"gc\": \"grid-column\",\n\t\"gcs\": \"grid-column-start\",\n\t\"gce\": \"grid-column-end\",\n\t\"gr\": \"grid-row\",\n\t\"grs\": \"grid-row-start\",\n\t\"gre\": \"grid-row-end\",\n\t\"ga\": \"grid-area\",\n\t\"h\": \"height\",\n \"is\": \"inline-size\",\n\t\"jc\": \"justify-content:start|end|stretch|flex-start|flex-end|center|space-between|space-around|space-evenly\",\n\t\"ji\": \"justify-items:start|end|center|stretch\",\n\t\"js\": \"justify-self:start|end|center|stretch\",\n\t\"l\": \"left\",\n\t\"lg\": \"background-image:linear-gradient(${1})\",\n\t\"lh\": \"line-height\",\n\t\"lis\": \"list-style\",\n\t\"lisi\": \"list-style-image\",\n\t\"lisp\": \"list-style-position:inside|outside\",\n\t\"list\": \"list-style-type:disc|circle|square|decimal|decimal-leading-zero|lower-roman|upper-roman\",\n\t\"lts\": \"letter-spacing:normal\",\n\t\"m\": \"margin\",\n\t\"mah\": \"max-height\",\n\t\"mar\": \"max-resolution\",\n\t\"maw\": \"max-width\",\n\t\"mb\": \"margin-bottom\",\n\t\"mih\": \"min-height\",\n\t\"mir\": \"min-resolution\",\n\t\"miw\": \"min-width\",\n\t\"ml\": \"margin-left\",\n\t\"mr\": \"margin-right\",\n\t\"mt\": \"margin-top\",\n \"mbs\": \"margin-block-start\",\n \"mbe\": \"margin-block-end\",\n \"mis\": \"margin-inline-start\",\n \"mie\": \"margin-inline-end\",\n\t\"ol\": \"outline\",\n\t\"olc\": \"outline-color:${1:#000}|invert\",\n\t\"olo\": \"outline-offset\",\n\t\"ols\": \"outline-style:none|dotted|dashed|solid|double|groove|ridge|inset|outset\",\n\t\"olw\": \"outline-width:thin|medium|thick\",\n\t\"op|opa\": \"opacity\",\n\t\"ord\": \"order\",\n\t\"ori\": \"orientation:landscape|portrait\",\n\t\"orp\": \"orphans\",\n\t\"ov\": \"overflow:hidden|visible|hidden|scroll|auto\",\n\t\"ovs\": \"overflow-style:scrollbar|auto|scrollbar|panner|move|marquee\",\n\t\"ovx\": \"overflow-x:hidden|visible|hidden|scroll|auto\",\n\t\"ovy\": \"overflow-y:hidden|visible|hidden|scroll|auto\",\n\t\"p\": \"padding\",\n\t\"pb\": \"padding-bottom\",\n\t\"pgba\": \"page-break-after:auto|always|left|right\",\n\t\"pgbb\": \"page-break-before:auto|always|left|right\",\n\t\"pgbi\": \"page-break-inside:auto|avoid\",\n\t\"pl\": \"padding-left\",\n\t\"pos\": \"position:relative|absolute|relative|fixed|static\",\n\t\"pr\": \"padding-right\",\n\t\"pt\": \"padding-top\",\n \"pbs\": \"padding-block-start\",\n \"pbe\": \"padding-block-end\",\n \"pis\": \"padding-inline-start\",\n \"pie\": \"padding-inline-end\",\n \"spbs\": \"scroll-padding-block-start\",\n \"spbe\": \"scroll-padding-block-end\",\n \"spis\": \"scroll-padding-inline-start\",\n \"spie\": \"scroll-padding-inline-end\",\n\t\"q\": \"quotes\",\n\t\"qen\": \"quotes:'\\\\201C' '\\\\201D' '\\\\2018' '\\\\2019'\",\n\t\"qru\": \"quotes:'\\\\00AB' '\\\\00BB' '\\\\201E' '\\\\201C'\",\n\t\"r\": \"right\",\n\t\"rsz\": \"resize:none|both|horizontal|vertical\",\n\t\"t\": \"top\",\n\t\"ta\": \"text-align:left|center|right|justify\",\n\t\"tal\": \"text-align-last:left|center|right\",\n\t\"tbl\": \"table-layout:fixed\",\n\t\"td\": \"text-decoration:none|underline|overline|line-through\",\n\t\"te\": \"text-emphasis:none|accent|dot|circle|disc|before|after\",\n\t\"th\": \"text-height:auto|font-size|text-size|max-size\",\n\t\"ti\": \"text-indent\",\n\t\"tj\": \"text-justify:auto|inter-word|inter-ideograph|inter-cluster|distribute|kashida|tibetan\",\n\t\"to\": \"text-outline:${1:0} ${2:0} ${3:#000}\",\n\t\"tov\": \"text-overflow:ellipsis|clip\",\n\t\"tr\": \"text-replace\",\n\t\"trf\": \"transform:${1}|skewX(${1:angle})|skewY(${1:angle})|scale(${1:x}, ${2:y})|scaleX(${1:x})|scaleY(${1:y})|scaleZ(${1:z})|scale3d(${1:x}, ${2:y}, ${3:z})|rotate(${1:angle})|rotateX(${1:angle})|rotateY(${1:angle})|rotateZ(${1:angle})|translate(${1:x}, ${2:y})|translateX(${1:x})|translateY(${1:y})|translateZ(${1:z})|translate3d(${1:tx}, ${2:ty}, ${3:tz})\",\n\t\"trfo\": \"transform-origin\",\n\t\"trfs\": \"transform-style:preserve-3d\",\n\t\"trs\": \"transition:${1:prop} ${2:time}\",\n\t\"trsde\": \"transition-delay:${1:time}\",\n\t\"trsdu\": \"transition-duration:${1:time}\",\n\t\"trsp\": \"transition-property:${1:prop}\",\n\t\"trstf\": \"transition-timing-function:${1:fn}\",\n\t\"tsh\": \"text-shadow:${1:hoff} ${2:voff} ${3:blur} ${4:#000}\",\n\t\"tt\": \"text-transform:uppercase|lowercase|capitalize|none\",\n\t\"tw\": \"text-wrap:none|normal|unrestricted|suppress\",\n\t\"us\": \"user-select:none\",\n\t\"v\": \"visibility:hidden|visible|collapse\",\n\t\"va\": \"vertical-align:top|super|text-top|middle|baseline|bottom|text-bottom|sub\",\n\t\"w|wid\": \"width\",\n\t\"whs\": \"white-space:nowrap|pre|pre-wrap|pre-line|normal\",\n\t\"whsc\": \"white-space-collapse:normal|keep-all|loose|break-strict|break-all\",\n\t\"wido\": \"widows\",\n\t\"wm\": \"writing-mode:lr-tb|lr-tb|lr-bt|rl-tb|rl-bt|tb-rl|tb-lr|bt-lr|bt-rl\",\n\t\"wob\": \"word-break:normal|keep-all|break-all\",\n\t\"wos\": \"word-spacing\",\n\t\"wow\": \"word-wrap:none|unrestricted|suppress|break-word|normal\",\n\t\"z\": \"z-index\",\n\t\"zom\": \"zoom:1\"\n}\n","{\n \"tm|tmatch\": \"xsl:template[match mode]\",\n \"tn|tname\": \"xsl:template[name]\",\n \"call\": \"xsl:call-template[name]\",\n \"ap\": \"xsl:apply-templates[select mode]\",\n \"api\": \"xsl:apply-imports\",\n \"imp\": \"xsl:import[href]\",\n \"inc\": \"xsl:include[href]\",\n \"ch\": \"xsl:choose\",\n \"wh|xsl:when\": \"xsl:when[test]\",\n \"ot\": \"xsl:otherwise\",\n \"if\": \"xsl:if[test]\",\n \"par\": \"xsl:param[name]\",\n \"pare\": \"xsl:param[name select]\",\n \"var\": \"xsl:variable[name]\",\n \"vare\": \"xsl:variable[name select]\",\n \"wp\": \"xsl:with-param[name select]\",\n \"key\": \"xsl:key[name match use]\",\n \"elem\": \"xsl:element[name]\",\n \"attr\": \"xsl:attribute[name]\",\n \"attrs\": \"xsl:attribute-set[name]\",\n \"cp\": \"xsl:copy[select]\",\n \"co\": \"xsl:copy-of[select]\",\n \"val\": \"xsl:value-of[select]\",\n \"for|each\": \"xsl:for-each[select]\",\n \"tex\": \"xsl:text\",\n \"com\": \"xsl:comment\",\n \"msg\": \"xsl:message[terminate=no]\",\n \"fall\": \"xsl:fallback\",\n \"num\": \"xsl:number[value]\",\n \"nam\": \"namespace-alias[stylesheet-prefix result-prefix]\",\n \"pres\": \"xsl:preserve-space[elements]\",\n \"strip\": \"xsl:strip-space[elements]\",\n \"proc\": \"xsl:processing-instruction[name]\",\n \"sort\": \"xsl:sort[select order]\",\n \"choose\": \"xsl:choose>xsl:when+xsl:otherwise\",\n \"xsl\": \"!!!+xsl:stylesheet[version=1.0 xmlns:xsl=http://www.w3.org/1999/XSL/Transform]>{\\n|}\",\n \"!!!\": \"{<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>}\"\n}","{\n\t\"!!!\": \"{doctype html}\"\n}\n","{\n\t\"lang\": \"en\",\n\t\"locale\": \"en-US\",\n\t\"charset\": \"UTF-8\",\n\t\"indentation\": \"\\t\",\n\t\"newline\": \"\\n\"\n}\n",null,null,null,null,null,null,null],"names":["isNumber","isAlpha","isWhiteSpace","isQuote","tokenScanner","peek","readable","consume","error","element","isSiblingOperator","isBracket","isOperator","createLiteral","literal$1","isLiteral","Chars","tokenize","getToken","field","whiteSpace","literal","operator","bracket","isQuote$1","isOpenBracket","operatorType","consumePlaceholder","stringify","last","stringifyValue","isField","isCloseBracket","parse","walk","find","splitByLines","shouldFormat","abbreviation","snippets","attributes","calculateScore","defaultOptions","isAtHTMLTag","stringifyMarkup","parseMarkup","stringifyStylesheet","parseStylesheet"],"mappings":"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"}
\No newline at end of file