diff --git a/src/window.coffee b/src/window.coffee index b8a3fa2b7..fc8386386 100644 --- a/src/window.coffee +++ b/src/window.coffee @@ -12,7 +12,7 @@ fs = require 'fs' windowAdditions = editor: null - extensions: [] + extensions: {} appRoot: OSX.NSBundle.mainBundle.resourcePath @@ -37,20 +37,20 @@ windowAdditions = "window:" + @path loadExtensions: -> - extension.shutdown() for extension in @extensions - @extensions = [] + extension.shutdown() for name, extension of @extensions + @extensions = {} extensionPaths = fs.list require.resourcePath + "/extensions" for extensionPath in extensionPaths when fs.isDirectory extensionPath try extension = require extensionPath - extensions.push new extension() + @extensions[extension.name] = new extension catch error console.warn "window: Loading Extension '#{fs.base extensionPath}' failed." console.warn error # After all the extensions are created, start them up. - for extension in @extensions + for name, extension of @extensions try extension.startup() catch error @@ -84,7 +84,7 @@ windowAdditions = Event.trigger 'window:open', path close: (path) -> - extension.shutdown() for extension in @extensions + extension.shutdown() for name, extension of @extensions atomController.close Event.trigger 'window:close', path