diff --git a/src/pane-view.coffee b/src/pane-view.coffee index 03ca52558..4474d2d3b 100644 --- a/src/pane-view.coffee +++ b/src/pane-view.coffee @@ -119,7 +119,6 @@ class PaneView extends View deprecate 'Please return a Disposable object from your ::onDidChangeTitle method!' unless disposable?.dispose? @activeItemDisposables.add(disposable) if disposable?.dispose? else if item.on? - deprecate 'If you would like your pane item to support title change behavior, please implement a ::onDidChangeTitle() method. ::on methods for items are no longer supported. If not, ignore this message.' disposable = item.on('title-changed', @activeItemTitleChanged) @activeItemDisposables.add(disposable) if disposable?.dispose? @@ -128,7 +127,6 @@ class PaneView extends View deprecate 'Please return a Disposable object from your ::onDidChangeModified method!' unless disposable?.dispose? @activeItemDisposables.add(disposable) if disposable?.dispose? else if item.on? - deprecate 'If you would like your pane item to support modified behavior, please implement a ::onDidChangeModified() method. If not, ignore this message. ::on methods for items are no longer supported.' item.on('modified-status-changed', @activeItemModifiedChanged) @activeItemDisposables.add(disposable) if disposable?.dispose? diff --git a/src/workspace.coffee b/src/workspace.coffee index c094aaf92..50c4117fb 100644 --- a/src/workspace.coffee +++ b/src/workspace.coffee @@ -486,6 +486,10 @@ class Workspace extends Model item = opener(uri, options) if item? and typeof item.getUri is 'function' and typeof item.getURI isnt 'function' Grim.deprecate("Pane item with class `#{item.constructor.name}` should implement `::getURI` instead of `::getUri`.", {packageName}) + if item? and typeof item.on is 'function' and typeof item.onDidChangeTitle isnt 'function' + Grim.deprecate("If you would like your pane item with class `#{item.constructor.name}` to support title change behavior, please implement a `::onDidChangeTitle()` method. `::on` methods for items are no longer supported. If not, ignore this message.", {packageName}) + if item? and typeof item.on is 'function' and typeof item.onDidChangeModified isnt 'function' + Grim.deprecate("If you would like your pane item with class `#{item.constructor.name}` to support modified behavior, please implement a `::onDidChangeModified()` method. If not, ignore this message. `::on` methods for items are no longer supported.", {packageName}) item @openers.push(wrappedOpener)