diff options
Diffstat (limited to 'node_modules/clean-css/lib/tokenizer')
-rw-r--r-- | node_modules/clean-css/lib/tokenizer/marker.js | 1 | ||||
-rw-r--r-- | node_modules/clean-css/lib/tokenizer/tokenize.js | 11 |
2 files changed, 12 insertions, 0 deletions
diff --git a/node_modules/clean-css/lib/tokenizer/marker.js b/node_modules/clean-css/lib/tokenizer/marker.js index c3f6805a7..767a5f0e8 100644 --- a/node_modules/clean-css/lib/tokenizer/marker.js +++ b/node_modules/clean-css/lib/tokenizer/marker.js @@ -10,6 +10,7 @@ var Marker = { DOUBLE_QUOTE: '"', EXCLAMATION: '!', FORWARD_SLASH: '/', + INTERNAL: '-clean-css-', NEW_LINE_NIX: '\n', NEW_LINE_WIN: '\r', OPEN_CURLY_BRACKET: '{', diff --git a/node_modules/clean-css/lib/tokenizer/tokenize.js b/node_modules/clean-css/lib/tokenizer/tokenize.js index 15fb584a0..7c071dd93 100644 --- a/node_modules/clean-css/lib/tokenizer/tokenize.js +++ b/node_modules/clean-css/lib/tokenizer/tokenize.js @@ -28,6 +28,7 @@ var BLOCK_RULES = [ '@supports' ]; +var REPEAT_PATTERN = /^\[\s*\d+\s*\]$/; var RULE_WORD_SEPARATOR_PATTERN = /[\s\(]/; var TAIL_BROKEN_VALUE_PATTERN = /[\s|\}]*$/; @@ -377,6 +378,12 @@ function intoTokens(source, externalContext, internalContext, isNested) { propertyToken.push([Token.PROPERTY_VALUE, character, [[position.line, position.column, position.source]]]); buffer = []; + } else if (character == Marker.CLOSE_SQUARE_BRACKET && propertyToken && propertyToken.length > 1 && buffer.length > 0 && isRepeatToken(buffer)) { + buffer.push(character); + serializedBuffer = buffer.join('').trim(); + propertyToken[propertyToken.length - 1][1] += serializedBuffer; + + buffer = []; } else if ((isSpace || (isNewLineNix && !isNewLineWin)) && level == Level.RULE && seekingValue && propertyToken && buffer.length > 0) { // space or *nix newline within property, e.g. a{margin:0 <-- serializedBuffer = buffer.join('').trim(); @@ -460,4 +467,8 @@ function tokenScopeFrom(tokenType) { } } +function isRepeatToken(buffer) { + return REPEAT_PATTERN.test(buffer.join('') + Marker.CLOSE_SQUARE_BRACKET); +} + module.exports = tokenize; |