From 97c81feae4ceeff669662fff765351364c5e442a Mon Sep 17 00:00:00 2001 From: zigomir Date: Sat, 28 Mar 2015 00:52:32 +0100 Subject: [PATCH 1/2] Add option to preserve last search query --- lib/fuzzy-finder-view.coffee | 10 ++++++++++ lib/main.coffee | 3 +++ 2 files changed, 13 insertions(+) diff --git a/lib/fuzzy-finder-view.coffee b/lib/fuzzy-finder-view.coffee index 3ff79136..847ceb20 100644 --- a/lib/fuzzy-finder-view.coffee +++ b/lib/fuzzy-finder-view.coffee @@ -28,6 +28,16 @@ class FuzzyFinderView extends SelectListView getFilterKey: -> 'projectRelativePath' + cancel: -> + if atom.config.get('fuzzy-finder.preserveLastSearch') + lastSearch = @getFilterQuery() + super + + @filterEditorView.setText(lastSearch) + @filterEditorView.getModel().selectAll() + else + super + destroy: -> @cancel() @panel?.destroy() diff --git a/lib/main.coffee b/lib/main.coffee index 987beaed..52ca84fa 100644 --- a/lib/main.coffee +++ b/lib/main.coffee @@ -6,6 +6,9 @@ module.exports = traverseIntoSymlinkDirectories: type: 'boolean' default: false + preserveLastSearch: + type: 'boolean' + default: false activate: (state) -> atom.commands.add 'atom-workspace', From 9dcf51909289eca6d17230aeef5bca603d1f4047 Mon Sep 17 00:00:00 2001 From: zigomir Date: Tue, 7 Apr 2015 09:22:40 +0200 Subject: [PATCH 2/2] add "preserve last search" config specs --- spec/fuzzy-finder-spec.coffee | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/spec/fuzzy-finder-spec.coffee b/spec/fuzzy-finder-spec.coffee index a354d78e..24140568 100644 --- a/spec/fuzzy-finder-spec.coffee +++ b/spec/fuzzy-finder-spec.coffee @@ -679,6 +679,33 @@ describe 'FuzzyFinder', -> expect(atom.workspace.getActiveTextEditor().getPath()).toBe editor1.getPath() expect(atom.workspace.getActiveTextEditor().getCursorBufferPosition()).toEqual [3, 4] + describe "Preserve last search", -> + it "does not preserve last search by default", -> + dispatchCommand('toggle-file-finder') + expect(atom.workspace.panelForItem(projectView).isVisible()).toBe true + projectView.filterEditorView.getModel().insertText('this should not show up next time we open finder') + + dispatchCommand('toggle-file-finder') + expect(atom.workspace.panelForItem(projectView).isVisible()).toBe false + + dispatchCommand('toggle-file-finder') + expect(atom.workspace.panelForItem(projectView).isVisible()).toBe true + expect(projectView.filterEditorView.getText()).toBe '' + + it "preserves last search when config is set", -> + atom.config.set("fuzzy-finder.preserveLastSearch", true) + + dispatchCommand('toggle-file-finder') + expect(atom.workspace.panelForItem(projectView).isVisible()).toBe true + projectView.filterEditorView.getModel().insertText('this should show up next time we open finder') + + dispatchCommand('toggle-file-finder') + expect(atom.workspace.panelForItem(projectView).isVisible()).toBe false + + dispatchCommand('toggle-file-finder') + expect(atom.workspace.panelForItem(projectView).isVisible()).toBe true + expect(projectView.filterEditorView.getText()).toBe 'this should show up next time we open finder' + describe "Git integration", -> [projectPath, gitRepository, gitDirectory] = []