diff --git a/src/atom-package.coffee b/src/atom-package.coffee index b37e5d66d..9d6503da9 100644 --- a/src/atom-package.coffee +++ b/src/atom-package.coffee @@ -60,19 +60,34 @@ class AtomPackage extends Package @grammars = [] @scopedProperties = [] - activate: ({immediate}={}) -> + activate: -> return @activationDeferred.promise if @activationDeferred? @activationDeferred = Q.defer() @measure 'activateTime', => @activateResources() - if @metadata.activationEvents? and not immediate + if @metadata.activationEvents? @subscribeToActivationEvents() else @activateNow() @activationDeferred.promise + # Deprecated + activateSync: ({immediate}={}) -> + @activateResources() + if @metadata.activationEvents? and not immediate + @subscribeToActivationEvents() + else + try + @activateConfig() + @activateStylesheets() + if @requireMainModule() + @mainModule.activate(atom.packages.getPackageState(@name) ? {}) + @mainActivated = true + catch e + console.warn "Failed to activate package named '#{@name}'", e.stack + activateNow: -> try @activateConfig() diff --git a/src/package-manager.coffee b/src/package-manager.coffee index 5cfa58c5e..3523474ea 100644 --- a/src/package-manager.coffee +++ b/src/package-manager.coffee @@ -98,11 +98,12 @@ class PackageManager @activePackages[pack.name] = pack pack + # Deprecated activatePackageSync: (name, options) -> return pack if pack = @getActivePackage(name) if pack = @loadPackage(name) @activePackages[pack.name] = pack - pack.activate(options) + pack.activateSync(options) pack # Private: Deactivate all packages