Merge branch 'master' into dh-async-repo

This commit is contained in:
joshaber
2015-12-09 15:39:26 -05:00
14 changed files with 123 additions and 15 deletions

View File

@@ -109,6 +109,9 @@ class ApplicationDelegate
setRepresentedFilename: (filename) ->
ipc.send("call-window-method", "setRepresentedFilename", filename)
addRecentDocument: (filename) ->
ipc.send("add-recent-document", filename)
setRepresentedDirectoryPaths: (paths) ->
loadSettings = getWindowLoadSettings()
loadSettings['initialPaths'] = paths

View File

@@ -885,6 +885,8 @@ class AtomEnvironment extends Model
else
@project.addPath(pathToOpen)
@applicationDelegate.addRecentDocument(pathToOpen)
unless fs.isDirectorySync(pathToOpen)
@workspace?.open(pathToOpen, {initialLine, initialColumn})

View File

@@ -281,6 +281,9 @@ class AtomApplication
ipc.on 'write-to-stderr', (event, output) ->
process.stderr.write(output)
ipc.on 'add-recent-document', (event, filename) ->
app.addRecentDocument(filename)
setupDockMenu: ->
if process.platform is 'darwin'
dockMenu = Menu.buildFromTemplate [

View File

@@ -171,6 +171,8 @@ function prepareStackTraceWithRawStackAssignment (error, frames) {
}
}
Error.stackTraceLimit = 30
Object.defineProperty(Error, 'prepareStackTrace', {
get: function () {
return prepareStackTraceWithRawStackAssignment

View File

@@ -827,6 +827,7 @@ class Config
allSettings = {'*': @settings}
allSettings = _.extend allSettings, @scopedSettingsStore.propertiesForSource(@getUserConfigPath())
allSettings = sortObject(allSettings)
try
CSON.writeFileSync(@configFilePath, allSettings)
catch error
@@ -1190,6 +1191,13 @@ Config.addSchemaEnforcers
isPlainObject = (value) ->
_.isObject(value) and not _.isArray(value) and not _.isFunction(value) and not _.isString(value) and not (value instanceof Color)
sortObject = (value) ->
return value unless isPlainObject(value)
result = {}
for key in Object.keys(value).sort()
result[key] = sortObject(value[key])
result
withoutEmptyObjects = (object) ->
resultObject = undefined
if isPlainObject(object)

View File

@@ -32,7 +32,7 @@ KeymapManager::loadUserKeymap = ->
return unless fs.isFileSync(userKeymapPath)
try
@loadKeymap(userKeymapPath, watch: true, suppressErrors: true)
@loadKeymap(userKeymapPath, watch: true, suppressErrors: true, priority: 100)
catch error
if error.message.indexOf('Unable to watch path') > -1
message = """

View File

@@ -47,6 +47,7 @@ class PackageManager
@packagesCache = require('../package.json')?._atomPackages ? {}
@loadedPackages = {}
@activePackages = {}
@activatingPackages = {}
@packageStates = {}
@serviceHub = new ServiceHub
@@ -62,6 +63,7 @@ class PackageManager
reset: ->
@serviceHub.clear()
@deactivatePackages()
@loadedPackages = {}
@packageStates = {}
###
@@ -436,9 +438,12 @@ class PackageManager
if pack = @getActivePackage(name)
Promise.resolve(pack)
else if pack = @loadPackage(name)
@activatingPackages[pack.name] = pack
pack.activate().then =>
@activePackages[pack.name] = pack
@emitter.emit 'did-activate-package', pack
if @activatingPackages[pack.name]?
delete @activatingPackages[pack.name]
@activePackages[pack.name] = pack
@emitter.emit 'did-activate-package', pack
pack
else
Promise.reject(new Error("Failed to load package '#{name}'"))
@@ -474,6 +479,7 @@ class PackageManager
@setPackageState(pack.name, state) if state = pack.serialize?()
pack.deactivate()
delete @activePackages[pack.name]
delete @activatingPackages[pack.name]
@emitter.emit 'did-deactivate-package', pack
handleMetadataError: (error, packagePath) ->

View File

@@ -14,6 +14,7 @@ class ThemePackage extends Package
load: ->
@loadTime = 0
@configSchemaRegisteredOnLoad = @registerConfigSchemaFromMetadata()
this
activate: ->