mirror of
https://github.com/atom/atom.git
synced 2026-01-24 06:18:03 -05:00
Track packages to preload in Atom class
This commit is contained in:
@@ -250,6 +250,13 @@ class Atom extends Model
|
||||
storeWindowDimensions: ->
|
||||
@state.windowDimensions = @getWindowDimensions()
|
||||
|
||||
storeGrammarsForOpenEditors: ->
|
||||
packageNames = []
|
||||
for editor in @workspace.getEditors()
|
||||
{packageName} = editor.getGrammar()
|
||||
packageNames.push(packageName) if packageName
|
||||
@state.packagesWithActiveGrammars = _.uniq(packageNames)
|
||||
|
||||
# Public: Get the load settings for the current window.
|
||||
#
|
||||
# Returns an object containing all the load setting key/value pairs.
|
||||
@@ -272,6 +279,11 @@ class Atom extends Model
|
||||
@packages.packageStates = @state.packageStates ? {}
|
||||
delete @state.packageStates
|
||||
|
||||
preloadGrammarsForOpenEditors: ->
|
||||
packagesWithActiveGrammars = @state.packagesWithActiveGrammars ? []
|
||||
for packageName in packagesWithActiveGrammars
|
||||
@packages.getLoadedPackage(packageName)?.loadGrammarsSync()
|
||||
|
||||
deserializeEditorWindow: ->
|
||||
@deserializePackageStates()
|
||||
@deserializeProject()
|
||||
@@ -293,6 +305,7 @@ class Atom extends Model
|
||||
@keymaps.loadBundledKeymaps()
|
||||
@themes.loadBaseStylesheets()
|
||||
@packages.loadPackages()
|
||||
@preloadGrammarsForOpenEditors()
|
||||
@deserializeEditorWindow()
|
||||
@packages.activate()
|
||||
@keymaps.loadUserKeymap()
|
||||
|
||||
@@ -47,18 +47,8 @@ class TokenizedBuffer extends Model
|
||||
@reloadGrammar()
|
||||
|
||||
serializeParams: ->
|
||||
packageNameForScope = (scope) ->
|
||||
atom.packages.getPackageForGrammarScopeName(scopeName)?.name
|
||||
|
||||
scopeName = @grammar.scopeName
|
||||
packageName = packageNameForScope(@grammar.scopeName)
|
||||
grammars = [{scopeName, packageName}]
|
||||
for scopeName in @grammar.includedGrammarScopes
|
||||
grammars.push {scopeName, packageName: packageNameForScope(scopeName)}
|
||||
|
||||
bufferPath: @buffer.getPath()
|
||||
tabLength: @tabLength
|
||||
grammars: grammars
|
||||
|
||||
deserializeParams: (params) ->
|
||||
if params.grammars?
|
||||
|
||||
@@ -42,6 +42,7 @@ class WindowEventHandler
|
||||
|
||||
@subscribe $(window), 'unload', ->
|
||||
atom.storeWindowDimensions()
|
||||
atom.storeGrammarsForOpenEditors()
|
||||
|
||||
@subscribeToCommand $(window), 'window:toggle-full-screen', -> atom.toggleFullScreen()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user