.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / chalk / source / util.js
diff --git a/.config/coc/extensions/node_modules/coc-prettier/node_modules/chalk/source/util.js b/.config/coc/extensions/node_modules/coc-prettier/node_modules/chalk/source/util.js
new file mode 100644 (file)
index 0000000..ca466fd
--- /dev/null
@@ -0,0 +1,39 @@
+'use strict';
+
+const stringReplaceAll = (string, substring, replacer) => {
+       let index = string.indexOf(substring);
+       if (index === -1) {
+               return string;
+       }
+
+       const substringLength = substring.length;
+       let endIndex = 0;
+       let returnValue = '';
+       do {
+               returnValue += string.substr(endIndex, index - endIndex) + substring + replacer;
+               endIndex = index + substringLength;
+               index = string.indexOf(substring, endIndex);
+       } while (index !== -1);
+
+       returnValue += string.substr(endIndex);
+       return returnValue;
+};
+
+const stringEncaseCRLFWithFirstIndex = (string, prefix, postfix, index) => {
+       let endIndex = 0;
+       let returnValue = '';
+       do {
+               const gotCR = string[index - 1] === '\r';
+               returnValue += string.substr(endIndex, (gotCR ? index - 1 : index) - endIndex) + prefix + (gotCR ? '\r\n' : '\n') + postfix;
+               endIndex = index + 1;
+               index = string.indexOf('\n', endIndex);
+       } while (index !== -1);
+
+       returnValue += string.substr(endIndex);
+       return returnValue;
+};
+
+module.exports = {
+       stringReplaceAll,
+       stringEncaseCRLFWithFirstIndex
+};