Merge branch 'master' into ns-workspace-custom-elements

Conflicts:
	spec/pane-view-spec.coffee
	spec/workspace-view-spec.coffee
	src/workspace-view.coffee
	src/workspace.coffee
This commit is contained in:
Nathan Sobo
2014-10-01 11:49:23 -06:00
53 changed files with 2057 additions and 726 deletions

View File

@@ -6,7 +6,7 @@ Q = require 'q'
Serializable = require 'serializable'
Delegator = require 'delegato'
{Emitter, Disposable, CompositeDisposable} = require 'event-kit'
CommandInstaller = require './command-installer'
Grim = require 'grim'
TextEditor = require './text-editor'
PaneContainer = require './pane-container'
Pane = require './pane'
@@ -47,7 +47,7 @@ class Workspace extends Model
@subscribeToActiveItem()
@registerOpener (filePath) =>
@addOpener (filePath) =>
switch filePath
when 'atom://.atom/stylesheet'
@open(atom.themes.getUserStylesheetPath())
@@ -107,7 +107,7 @@ class Workspace extends Model
subscribeToActiveItem: ->
@updateWindowTitle()
@updateDocumentEdited()
atom.project.on 'path-changed', @updateWindowTitle
atom.project.onDidChangePaths @updateWindowTitle
@observeActivePaneItem (item) =>
@updateWindowTitle()
@@ -136,7 +136,7 @@ class Workspace extends Model
# Updates the application's title and proxy icon based on whichever file is
# open.
updateWindowTitle: =>
if projectPath = atom.project?.getPath()
if projectPath = atom.project?.getPaths()[0]
if item = @getActivePaneItem()
document.title = "#{item.getTitle?() ? 'untitled'} - #{projectPath}"
atom.setRepresentedFilename(item.getPath?() ? projectPath)
@@ -414,8 +414,6 @@ class Workspace extends Model
if uri = @destroyedItemUris.pop()
@openSync(uri)
# TODO: make ::registerOpener() return a disposable
# Public: Register an opener for a uri.
#
# An {TextEditor} will be used if no openers return a value.
@@ -423,17 +421,24 @@ class Workspace extends Model
# ## Examples
#
# ```coffee
# atom.project.registerOpener (uri) ->
# atom.project.addOpener (uri) ->
# if path.extname(uri) is '.toml'
# return new TomlEditor(uri)
# ```
#
# * `opener` A {Function} to be called when a path is being opened.
registerOpener: (opener) ->
#
# Returns a {Disposable} on which `.dispose()` can be called to remove the
# opener.
addOpener: (opener) ->
@openers.push(opener)
new Disposable => _.remove(@openers, opener)
registerOpener: (opener) ->
Grim.deprecate("Call Workspace::addOpener instead")
@addOpener(opener)
# Unregister an opener registered with {::registerOpener}.
unregisterOpener: (opener) ->
Grim.deprecate("Call .dispose() on the Disposable returned from ::addOpener instead")
_.remove(@openers, opener)
getOpeners: ->