.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / path-is-inside / lib / path-is-inside.js
diff --git a/.config/coc/extensions/node_modules/coc-prettier/node_modules/path-is-inside/lib/path-is-inside.js b/.config/coc/extensions/node_modules/coc-prettier/node_modules/path-is-inside/lib/path-is-inside.js
new file mode 100644 (file)
index 0000000..596dfd3
--- /dev/null
@@ -0,0 +1,28 @@
+"use strict";
+
+var path = require("path");
+
+module.exports = function (thePath, potentialParent) {
+    // For inside-directory checking, we want to allow trailing slashes, so normalize.
+    thePath = stripTrailingSep(thePath);
+    potentialParent = stripTrailingSep(potentialParent);
+
+    // Node treats only Windows as case-insensitive in its path module; we follow those conventions.
+    if (process.platform === "win32") {
+        thePath = thePath.toLowerCase();
+        potentialParent = potentialParent.toLowerCase();
+    }
+
+    return thePath.lastIndexOf(potentialParent, 0) === 0 &&
+               (
+                       thePath[potentialParent.length] === path.sep ||
+                       thePath[potentialParent.length] === undefined
+               );
+};
+
+function stripTrailingSep(thePath) {
+    if (thePath[thePath.length - 1] === path.sep) {
+        return thePath.slice(0, -1);
+    }
+    return thePath;
+}