From 34cdcdce4aa0898a59f56282cbc6562d023ea63a Mon Sep 17 00:00:00 2001 From: Corey Johnson Date: Wed, 14 Sep 2011 11:42:35 -0700 Subject: [PATCH] on launch, reopen files. --- plugins/project/project.coffee | 31 ++++++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/plugins/project/project.coffee b/plugins/project/project.coffee index 7a4a3f14b..8838c66d9 100644 --- a/plugins/project/project.coffee +++ b/plugins/project/project.coffee @@ -19,9 +19,32 @@ class Project extends Pane initialize: -> @reload(File.workingDirectory()) + @editor = activeWindow.document + + @editor.ace.on 'open', ({filename}) => + if File.isDirectory filename + @reload filename + else + openedPaths = @get 'openPaths', [] + if not openedPaths.indexOf filename + openedPaths.push filename + @set 'openPaths', openedPaths - activeWindow.document.ace.on 'open', ({filename}) => - @reload filename if File.isDirectory filename + @editor.ace.on 'close', ({filename}) => + if File.isFile filename + openedPaths = _.without @get('openPaths', []), filename + @set 'openPaths', openedPaths + + @editor.ace.on 'loaded', => + # Reopen files (remove ones that no longer exist) + openedPaths = @get 'openPaths', [] + for path in openedPaths + if File.exists path + @editor.open path + else + openedPaths = _.without(openedPaths, path) + @set "openedPaths", openedPaths + $('#project li').live 'click', (event) => $('#project .active').removeClass 'active' @@ -57,7 +80,9 @@ class Project extends Pane createList: (dir) -> paths = File.list dir - visibleDirs = @get('visibleDirs') or {} + + # BUG: need to clear visibleDirs that don't exist anymore + visibleDirs = @get('visibleDirs', {}) list = $('