From 0ce3c496889a2aa9a4938671edd34a064ceb4897 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Thu, 26 Feb 2015 10:50:43 +0100 Subject: [PATCH] Batch returns the function value * Emit only one event for nested batches --- src/text-editor.coffee | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/text-editor.coffee b/src/text-editor.coffee index a25f98496..f828a6b06 100644 --- a/src/text-editor.coffee +++ b/src/text-editor.coffee @@ -1146,9 +1146,13 @@ class TextEditor extends Model @batch => @buffer.transact(groupingInterval, fn) batch: (fn) -> - @emitter.emit "will-start-batch-operation" - fn() - @emitter.emit "did-finish-batch-operation" + @batchCount++ + @emitter.emit "will-start-batch-operation" if @batchCount == 1 + value = fn() + @emitter.emit "did-finish-batch-operation" if @batchCount == 1 + @batchCount-- + + value onWillStartBatchOperation: (callback) -> @emitter.on "will-start-batch-operation", callback