.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / read-pkg-up / node_modules / find-up / index.js
diff --git a/.config/coc/extensions/node_modules/coc-prettier/node_modules/read-pkg-up/node_modules/find-up/index.js b/.config/coc/extensions/node_modules/coc-prettier/node_modules/read-pkg-up/node_modules/find-up/index.js
new file mode 100644 (file)
index 0000000..7ff0e2b
--- /dev/null
@@ -0,0 +1,53 @@
+'use strict';
+var path = require('path');
+var pathExists = require('path-exists');
+var Promise = require('pinkie-promise');
+
+function splitPath(x) {
+       return path.resolve(x || '').split(path.sep);
+}
+
+function join(parts, filename) {
+       return path.resolve(parts.join(path.sep) + path.sep, filename);
+}
+
+module.exports = function (filename, opts) {
+       opts = opts || {};
+
+       var parts = splitPath(opts.cwd);
+
+       return new Promise(function (resolve) {
+               (function find() {
+                       var fp = join(parts, filename);
+
+                       pathExists(fp).then(function (exists) {
+                               if (exists) {
+                                       resolve(fp);
+                               } else if (parts.pop()) {
+                                       find();
+                               } else {
+                                       resolve(null);
+                               }
+                       });
+               })();
+       });
+};
+
+module.exports.sync = function (filename, opts) {
+       opts = opts || {};
+
+       var parts = splitPath(opts.cwd);
+       var len = parts.length;
+
+       while (len--) {
+               var fp = join(parts, filename);
+
+               if (pathExists.sync(fp)) {
+                       return fp;
+               }
+
+               parts.pop();
+       }
+
+       return null;
+};