diff --git a/src/project.coffee b/src/project.coffee index 522fbfbc7..0dbbecda5 100644 --- a/src/project.coffee +++ b/src/project.coffee @@ -360,9 +360,13 @@ class Project extends Model else @buildBuffer(absoluteFilePath) + shouldDestroyBufferOnFileDelete: -> + atom.config.get('core.closeDeletedFileTabs') + # Still needed when deserializing a tokenized buffer buildBufferSync: (absoluteFilePath) -> buffer = new TextBuffer({filePath: absoluteFilePath}) + buffer.setConfigCallbacks(@shouldDestroyBufferOnFileDelete) if buffer.setConfigCallbacks? @addBuffer(buffer) buffer.loadSync() buffer @@ -375,6 +379,7 @@ class Project extends Model # Returns a {Promise} that resolves to the {TextBuffer}. buildBuffer: (absoluteFilePath) -> buffer = new TextBuffer({filePath: absoluteFilePath}) + buffer.setConfigCallbacks(@shouldDestroyBufferOnFileDelete) if buffer.setConfigCallbacks? @addBuffer(buffer) buffer.load() .then((buffer) -> buffer) diff --git a/src/text-editor-element.coffee b/src/text-editor-element.coffee index 8c9792916..60286015b 100644 --- a/src/text-editor-element.coffee +++ b/src/text-editor-element.coffee @@ -107,8 +107,10 @@ class TextEditorElement extends HTMLElement @model ? @buildModel() buildModel: -> + newBuffer = new TextBuffer(@textContent) + newBuffer.setConfigCallbacks(-> atom.config.get('core.closeDeletedFileTabs')) if newBuffer.setConfigCallbacks? @setModel(@workspace.buildTextEditor( - buffer: new TextBuffer(@textContent) + buffer: newBuffer softWrapped: false tabLength: 2 softTabs: true diff --git a/src/text-editor.coffee b/src/text-editor.coffee index 821322e22..5d55679d9 100644 --- a/src/text-editor.coffee +++ b/src/text-editor.coffee @@ -160,6 +160,7 @@ class TextEditor extends Model @preferredLineLength ?= 80 @buffer ?= new TextBuffer + @buffer.setConfigCallbacks(-> atom.config.get('core.closeDeletedFileTabs')) if @buffer.setConfigCallbacks? @tokenizedBuffer ?= new TokenizedBuffer({ grammar, tabLength, @buffer, @largeFileMode, @assert })