From 136836e6151d575cffef0e2649884fecc3948bf9 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Fri, 9 Aug 2013 10:29:28 -0700 Subject: [PATCH] Allow non-existent files to be opened from fuzzy finder The previous isFileSync check prevented unsaved buffers with a path to a non-existent file from being opened from the fuzzy finder. Now an error is only displayed if the selected path is a directory. Closes #686 --- src/packages/fuzzy-finder/lib/fuzzy-finder-view.coffee | 8 ++++---- src/packages/fuzzy-finder/spec/fuzzy-finder-spec.coffee | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/packages/fuzzy-finder/lib/fuzzy-finder-view.coffee b/src/packages/fuzzy-finder/lib/fuzzy-finder-view.coffee index 2003d54cf..17769ebd9 100644 --- a/src/packages/fuzzy-finder/lib/fuzzy-finder-view.coffee +++ b/src/packages/fuzzy-finder/lib/fuzzy-finder-view.coffee @@ -98,13 +98,13 @@ class FuzzyFinderView extends SelectList confirmed : ({filePath}) -> return unless filePath - if fsUtils.isFileSync(filePath) + if fsUtils.isDirectorySync(filePath) + @setError('Selected path is a directory') + setTimeout((=> @setError()), 2000) + else lineNumber = @getLineNumber() @cancel() @openPath(filePath, lineNumber) - else - @setError('Selected path does not exist') - setTimeout((=> @setError()), 2000) toggleFileFinder: -> @finderMode = 'file' diff --git a/src/packages/fuzzy-finder/spec/fuzzy-finder-spec.coffee b/src/packages/fuzzy-finder/spec/fuzzy-finder-spec.coffee index c918bc3d2..18a496eee 100644 --- a/src/packages/fuzzy-finder/spec/fuzzy-finder-spec.coffee +++ b/src/packages/fuzzy-finder/spec/fuzzy-finder-spec.coffee @@ -109,12 +109,12 @@ describe 'FuzzyFinder', -> expect(editor2.getPath()).toBe expectedPath expect(editor2.isFocused).toBeTruthy() - describe "when the selected path isn't a file that exists", -> + describe "when the selected path is a directory", -> it "leaves the the tree view open, doesn't open the path in the editor, and displays an error", -> rootView.attachToDom() editorPath = rootView.getActiveView().getPath() rootView.trigger 'fuzzy-finder:toggle-file-finder' - finderView.confirmed({filePath: 'dir/this/is/not/a/file.txt'}) + finderView.confirmed({filePath: project.resolve('dir')}) expect(finderView.hasParent()).toBeTruthy() expect(rootView.getActiveView().getPath()).toBe editorPath expect(finderView.error.text().length).toBeGreaterThan 0