.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / postcss-less / dist / tokenizer / find-end-of-expression.js
diff --git a/.config/coc/extensions/node_modules/coc-prettier/node_modules/postcss-less/dist/tokenizer/find-end-of-expression.js b/.config/coc/extensions/node_modules/coc-prettier/node_modules/postcss-less/dist/tokenizer/find-end-of-expression.js
new file mode 100644 (file)
index 0000000..4bebd8b
--- /dev/null
@@ -0,0 +1,46 @@
+'use strict';
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = findEndOfExpression;
+
+var _globals = require('./globals');
+
+function findEndOfExpression(css, length, i) {
+  var openedParenthesisBlocks = 0,
+      openedCurlyBlocks = 0;
+
+  for (; i < length; ++i) {
+    var symbolCode = css[i].charCodeAt(0);
+
+    // find the on of escaped expression
+    if (!openedParenthesisBlocks && !openedCurlyBlocks && (symbolCode === _globals.semicolon || symbolCode === _globals.closedCurlyBracket)) {
+      return i - 1;
+    }
+
+    switch (symbolCode) {
+      case _globals.openedCurlyBracket:
+        openedCurlyBlocks++;
+        break;
+
+      case _globals.closedCurlyBracket:
+        openedCurlyBlocks--;
+        break;
+
+      case _globals.openedParenthesis:
+        openedParenthesisBlocks++;
+        break;
+
+      case _globals.closedParenthesis:
+        openedParenthesisBlocks--;
+        break;
+
+      default:
+        break;
+    }
+  }
+
+  return -1;
+}
+module.exports = exports['default'];
\ No newline at end of file