diff --git a/src/packages/tree-view/lib/tree.coffee b/src/packages/tree-view/lib/tree.coffee index f1d50f038..ae2a472d3 100644 --- a/src/packages/tree-view/lib/tree.coffee +++ b/src/packages/tree-view/lib/tree.coffee @@ -2,6 +2,9 @@ module.exports = treeView: null activate: (@state) -> + if @state.attached == undefined and not rootView.pathToOpenIsFile + @state.attached = true + @createView() if @state.attached rootView.command 'tree-view:toggle', => @createView().toggle() rootView.command 'tree-view:reveal-active-file', => @createView().revealActiveFile() diff --git a/src/packages/tree-view/spec/tree-view-spec.coffee b/src/packages/tree-view/spec/tree-view-spec.coffee index 36b83b40f..077ada940 100644 --- a/src/packages/tree-view/spec/tree-view-spec.coffee +++ b/src/packages/tree-view/spec/tree-view-spec.coffee @@ -79,6 +79,14 @@ describe "TreeView", -> expect(treeView.hasParent()).toBeFalsy() expect(treeView.root).toExist() + describe "when the root view is opened to a directory", -> + it "attaches to the root view", -> + rootView.deactivate() + new RootView(require.resolve('fixtures/tree-view')) + treeView = window.loadPackage("tree-view").packageMain.createView() + expect(treeView.hasParent()).toBeTruthy() + expect(treeView.root).toExist() + describe "serialization", -> it "restores expanded directories and selected file when deserialized", -> treeView.find('.directory:contains(dir1)').click()