diff --git a/src/workspace.coffee b/src/workspace.coffee index 65bf5895f..1d890c217 100644 --- a/src/workspace.coffee +++ b/src/workspace.coffee @@ -5,7 +5,8 @@ _ = require 'underscore-plus' Q = require 'q' Serializable = require 'serializable' Delegator = require 'delegato' -{Emitter} = require 'event-kit' +{Emitter, Disposable} = require 'event-kit' +Grim = require 'grim' TextEditor = require './text-editor' PaneContainer = require './pane-container' Pane = require './pane' @@ -363,11 +364,16 @@ class Workspace extends Model # ``` # # * `opener` A {Function} to be called when a path is being opened. + # + # Returns a {Disposable} on which `.dispose()` can be called to remove the + # opener. registerOpener: (opener) -> @openers.push(opener) + new Disposable => _.remove(@openers, opener) # Unregister an opener registered with {::registerOpener}. unregisterOpener: (opener) -> + Grim.deprecate("Call .dispose() on the Disposable returned from ::registerOpener instead") _.remove(@openers, opener) getOpeners: ->