mirror of
https://github.com/atom/atom.git
synced 2026-04-06 03:02:13 -04:00
Activate atom.directory-provider services before deserialization
Signed-off-by: Nathan Sobo <nathan@github.com>
This commit is contained in:
committed by
Nathan Sobo
parent
7929e261a0
commit
3aaa738944
@@ -85,6 +85,7 @@ class Package
|
||||
@loadMenus()
|
||||
@loadStylesheets()
|
||||
@registerDeserializerMethods()
|
||||
@activateCoreStartupServices()
|
||||
@configSchemaRegisteredOnLoad = @registerConfigSchemaFromMetadata()
|
||||
@settingsPromise = @loadSettings()
|
||||
if @shouldRequireMainModuleOnLoad() and not @mainModule?
|
||||
@@ -290,6 +291,17 @@ class Package
|
||||
@mainModule[methodName](state, atomEnvironment)
|
||||
return
|
||||
|
||||
activateCoreStartupServices: ->
|
||||
if directoryProviderService = @metadata.providedServices?['atom.directory-provider']
|
||||
@requireMainModule()
|
||||
servicesByVersion = {}
|
||||
for version, methodName of directoryProviderService.versions
|
||||
if typeof @mainModule[methodName] is 'function'
|
||||
servicesByVersion[version] = @mainModule[methodName]()
|
||||
|
||||
disposable = @packageManager.serviceHub.provide('atom.directory-provider', servicesByVersion)
|
||||
@activationDisposables.add(disposable)
|
||||
|
||||
registerViewProviders: ->
|
||||
if @metadata.viewProviders? and not @registeredViewProviders
|
||||
@requireMainModule()
|
||||
|
||||
Reference in New Issue
Block a user