mirror of
https://github.com/atom/atom.git
synced 2026-02-08 13:45:09 -05:00
window.extensions is a map of loaded extension instances
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user