From 871b7406cd457ade45667d240faf43543e00c9da Mon Sep 17 00:00:00 2001 From: Ben Ogle Date: Thu, 19 Dec 2013 15:41:29 -0800 Subject: [PATCH] Terminate the old search if another is run. --- src/project.coffee | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/project.coffee b/src/project.coffee index a5eb712db..16ddb91d7 100644 --- a/src/project.coffee +++ b/src/project.coffee @@ -275,14 +275,19 @@ class Project extends Model excludeVcsIgnores: atom.config.get('core.excludeVcsIgnoredPaths') exclusions: atom.config.get('core.ignoredNames') - task = Task.once require.resolve('./scan-handler'), @getPath(), regex.source, searchOptions, -> + if @scanTask? + console.log 'terminating!' + @scanTask.terminate() + + @scanTask = Task.once require.resolve('./scan-handler'), @getPath(), regex.source, searchOptions, => + @scanTask = null deferred.resolve() - task.on 'scan:result-found', (result) => + @scanTask.on 'scan:result-found', (result) => iterator(result) unless @isPathModified(result.filePath) if _.isFunction(options.onPathsSearched) - task.on 'scan:paths-searched', (numberOfPathsSearched) -> + @scanTask.on 'scan:paths-searched', (numberOfPathsSearched) -> options.onPathsSearched(numberOfPathsSearched) for buffer in @buffers.getValues() when buffer.isModified()