add back client side watcher handling for rename

pull/314/merge
nightwing 2016-06-17 15:57:39 +04:00
rodzic d07f5e1feb
commit 7b9bd4ef2a
1 zmienionych plików z 21 dodań i 2 usunięć

Wyświetl plik

@ -46,10 +46,29 @@ define(function(require, exports, module) {
}
}
function unwatchChildren(e) {
e.watchers = [];
Object.keys(handlers).forEach(function(path) {
if (path == e.path || path.startsWith(e.path + "/")) {
if (unwatch(path))
e.watchers.push(path.slice(e.path.length));
}
});
ignoreHandler(e);
}
function rewatchChildren(e) {
doneHandler(e);
var toPath = e.result[0] ? e.path : e.args[1];
e.watchers.forEach(function(path) {
watch(toPath + path);
});
}
fs.on("beforeWriteFile", ignoreHandler, plugin);
fs.on("afterWriteFile", doneHandler, plugin);
fs.on("beforeRename", ignoreHandler, plugin);
fs.on("afterRename", doneHandler, plugin);
fs.on("beforeRename", unwatchChildren, plugin);
fs.on("afterRename", rewatchChildren, plugin);
fs.on("beforeMkdir", ignoreHandler, plugin);
fs.on("afterMkdir", doneHandler, plugin);
fs.on("beforeMkdirP", ignoreHandler, plugin);