From 99a14c07f5241b83a07958282632324686abb60a Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Tue, 30 Sep 2014 14:13:50 -0600 Subject: [PATCH 1/2] Return a Disposable from Workspace::registerOpener --- src/workspace.coffee | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/workspace.coffee b/src/workspace.coffee index 65bf5895f..660244e12 100644 --- a/src/workspace.coffee +++ b/src/workspace.coffee @@ -5,7 +5,7 @@ _ = require 'underscore-plus' Q = require 'q' Serializable = require 'serializable' Delegator = require 'delegato' -{Emitter} = require 'event-kit' +{Emitter, Disposable} = require 'event-kit' TextEditor = require './text-editor' PaneContainer = require './pane-container' Pane = require './pane' @@ -363,11 +363,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: -> From 276102e19730aea961462d4ab4dcd5500a491a96 Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Tue, 30 Sep 2014 14:24:47 -0600 Subject: [PATCH 2/2] Require grim --- src/workspace.coffee | 1 + 1 file changed, 1 insertion(+) diff --git a/src/workspace.coffee b/src/workspace.coffee index 660244e12..1d890c217 100644 --- a/src/workspace.coffee +++ b/src/workspace.coffee @@ -6,6 +6,7 @@ Q = require 'q' Serializable = require 'serializable' Delegator = require 'delegato' {Emitter, Disposable} = require 'event-kit' +Grim = require 'grim' TextEditor = require './text-editor' PaneContainer = require './pane-container' Pane = require './pane'