.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / fast-glob / node_modules / glob-parent / index.js
diff --git a/.config/coc/extensions/node_modules/coc-prettier/node_modules/fast-glob/node_modules/glob-parent/index.js b/.config/coc/extensions/node_modules/coc-prettier/node_modules/fast-glob/node_modules/glob-parent/index.js
new file mode 100644 (file)
index 0000000..3a14a53
--- /dev/null
@@ -0,0 +1,24 @@
+'use strict';
+
+var path = require('path');
+var isglob = require('is-glob');
+var pathDirname = require('path-dirname');
+var isWin32 = require('os').platform() === 'win32';
+
+module.exports = function globParent(str) {
+       // flip windows path separators
+       if (isWin32 && str.indexOf('/') < 0) str = str.split('\\').join('/');
+
+       // special case for strings ending in enclosure containing path separator
+       if (/[\{\[].*[\/]*.*[\}\]]$/.test(str)) str += '/';
+
+       // preserves full path in case of trailing path separator
+       str += 'a';
+
+       // remove path parts that are globby
+       do {str = pathDirname.posix(str)}
+       while (isglob(str) || /(^|[^\\])([\{\[]|\([^\)]+$)/.test(str));
+
+       // remove escape chars and return result
+       return str.replace(/\\([\*\?\|\[\]\(\)\{\}])/g, '$1');
+};