From aa3405cb2b5fe22e5e68b0b3ed7bc1c1937d2928 Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Thu, 1 Nov 2012 14:09:58 -0600 Subject: [PATCH] Cache the memory contents of `Buffer` for better performance --- src/app/buffer.coffee | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/app/buffer.coffee b/src/app/buffer.coffee index 699eba79f..62834a599 100644 --- a/src/app/buffer.coffee +++ b/src/app/buffer.coffee @@ -14,6 +14,7 @@ class Buffer @idCounter = 1 undoManager: null cachedDiskContents: null + cachedMemoryContents: null conflict: false lines: null file: null @@ -96,7 +97,7 @@ class Buffer null getText: -> - @lines.join('\n') + @cachedMemoryContents ?= @lines.join('\n') setText: (text) -> @change(@getRange(), text) @@ -205,6 +206,7 @@ class Buffer replaceLines: (startRow, endRow, newLines) -> @lines[startRow..endRow] = newLines + @cachedMemoryContents = null @conflict = false if @conflict and !@isModified() pushOperation: (operation, editSession) ->