diff --git a/src/packages/fuzzy-finder/lib/fuzzy-finder-view.coffee b/src/packages/fuzzy-finder/lib/fuzzy-finder-view.coffee index 32a4a520f..1fdd3cc12 100644 --- a/src/packages/fuzzy-finder/lib/fuzzy-finder-view.coffee +++ b/src/packages/fuzzy-finder/lib/fuzzy-finder-view.coffee @@ -16,6 +16,7 @@ class FuzzyFinderView extends SelectList maxItems: 10 projectPaths: null reloadProjectPaths: true + filterKey: 'projectRelativePath' initialize: -> super @@ -35,7 +36,7 @@ class FuzzyFinderView extends SelectList @miniEditor.command 'pane:split-up', => @splitOpenPath (pane, session) -> pane.splitUp(session) - itemForElement: (path) -> + itemForElement: ({path, projectRelativePath}) -> $$ -> @li class: 'two-lines', => if git? @@ -60,20 +61,20 @@ class FuzzyFinderView extends SelectList typeClass = 'text-name' @div fsUtils.base(path), class: "primary-line file #{typeClass}" - @div project.relativize(path), class: 'secondary-line path' + @div projectRelativePath, class: 'secondary-line path' openPath: (path) -> rootView.open(path, {@allowActiveEditorChange}) if path splitOpenPath: (fn) -> - path = @getSelectedElement() + {path} = @getSelectedElement() return unless path if pane = rootView.getActivePane() fn(pane, project.open(path)) else @openPath(path) - confirmed : (path) -> + confirmed : ({path}) -> return unless path.length if fsUtils.isFile(path) @cancel() @@ -131,6 +132,14 @@ class FuzzyFinderView extends SelectList @attach() @miniEditor.setText(currentWord) + setArray: (paths) -> + projectRelativePaths = [] + for path in paths + projectRelativePath = project.relativize(path) + projectRelativePaths.push({path, projectRelativePath}) + + super(projectRelativePaths) + populateGitStatusPaths: -> paths = [] paths.push(path) for path, status of git.statuses when fsUtils.isFile(path) diff --git a/src/packages/fuzzy-finder/spec/fuzzy-finder-spec.coffee b/src/packages/fuzzy-finder/spec/fuzzy-finder-spec.coffee index 3182c49e7..6fec9f6fc 100644 --- a/src/packages/fuzzy-finder/spec/fuzzy-finder-spec.coffee +++ b/src/packages/fuzzy-finder/spec/fuzzy-finder-spec.coffee @@ -100,7 +100,7 @@ describe 'FuzzyFinder', -> rootView.trigger 'fuzzy-finder:toggle-file-finder' expectedPath = project.resolve('dir/a') - finderView.confirmed(expectedPath) + finderView.confirmed({path: expectedPath}) expect(finderView.hasParent()).toBeFalsy() expect(editor1.getPath()).not.toBe expectedPath @@ -112,7 +112,7 @@ describe 'FuzzyFinder', -> rootView.attachToDom() path = rootView.getActiveView().getPath() rootView.trigger 'fuzzy-finder:toggle-file-finder' - finderView.confirmed('dir/this/is/not/a/file.txt') + finderView.confirmed({path: 'dir/this/is/not/a/file.txt'}) expect(finderView.hasParent()).toBeTruthy() expect(rootView.getActiveView().getPath()).toBe path expect(finderView.find('.error').text().length).toBeGreaterThan 0 @@ -210,7 +210,7 @@ describe 'FuzzyFinder', -> describe "when the active pane has an item for the selected path", -> it "switches to the item for the selected path", -> expectedPath = project.resolve('sample.txt') - finderView.confirmed(expectedPath) + finderView.confirmed({path: expectedPath}) expect(finderView.hasParent()).toBeFalsy() expect(editor1.getPath()).not.toBe expectedPath @@ -226,7 +226,7 @@ describe 'FuzzyFinder', -> expect(rootView.getActiveView()).toBe editor1 expectedPath = project.resolve('sample.txt') - finderView.confirmed(expectedPath) + finderView.confirmed({path: expectedPath}) expect(finderView.hasParent()).toBeFalsy() expect(editor1.getPath()).toBe expectedPath @@ -449,7 +449,7 @@ describe 'FuzzyFinder', -> spyOn(pane, "splitLeft").andCallThrough() rootView.trigger 'fuzzy-finder:toggle-buffer-finder' - path = finderView.getSelectedElement() + {path} = finderView.getSelectedElement() finderView.miniEditor.trigger 'pane:split-left' expect(rootView.getPanes().length).toBe 2 @@ -462,7 +462,7 @@ describe 'FuzzyFinder', -> spyOn(pane, "splitRight").andCallThrough() rootView.trigger 'fuzzy-finder:toggle-buffer-finder' - path = finderView.getSelectedElement() + {path} = finderView.getSelectedElement() finderView.miniEditor.trigger 'pane:split-right' expect(rootView.getPanes().length).toBe 2 @@ -475,7 +475,7 @@ describe 'FuzzyFinder', -> spyOn(pane, "splitUp").andCallThrough() rootView.trigger 'fuzzy-finder:toggle-buffer-finder' - path = finderView.getSelectedElement() + {path} = finderView.getSelectedElement() finderView.miniEditor.trigger 'pane:split-up' expect(rootView.getPanes().length).toBe 2 @@ -488,7 +488,7 @@ describe 'FuzzyFinder', -> spyOn(pane, "splitDown").andCallThrough() rootView.trigger 'fuzzy-finder:toggle-buffer-finder' - path = finderView.getSelectedElement() + {path} = finderView.getSelectedElement() finderView.miniEditor.trigger 'pane:split-down' expect(rootView.getPanes().length).toBe 2