Move handling of backUpBeforeSaving to TextEditorRegistry

This commit is contained in:
Max Brunsfeld
2016-07-11 17:16:41 -07:00
parent cdc9bdea61
commit 6f764f86cf
3 changed files with 19 additions and 2 deletions

View File

@@ -338,5 +338,17 @@ describe('TextEditorRegistry', function () {
atom.config.set('editor.preferredLineLength', 80)
expect(editor.getPreferredLineLength()).toBe(80)
})
it('enables or disables back-up-before-save based on the config', function () {
editor.setBackUpBeforeSaving(true)
expect(editor.doesBackUpBeforeSaving()).toBe(true)
atom.config.set('editor.backUpBeforeSaving', false)
registry.maintainConfig(editor)
expect(editor.doesBackUpBeforeSaving()).toBe(false)
atom.config.set('editor.backUpBeforeSaving', true)
expect(editor.doesBackUpBeforeSaving()).toBe(true)
})
})
})

View File

@@ -13,6 +13,7 @@ const EDITOR_SETTER_NAMES_BY_SETTING_KEY = [
['editor.softWrapHangingIndent', 'setSoftWrapIndentLength'],
['editor.softWrapAtPreferredLineLength', 'setSoftWrapAtPreferredLineLength'],
['editor.preferredLineLength', 'setPreferredLineLength'],
['editor.backUpBeforeSaving', 'setBackUpBeforeSaving'],
]
// Experimental: This global registry tracks registered `TextEditors`.

View File

@@ -728,17 +728,21 @@ class TextEditor extends Model
Section: File Operations
###
setBackUpBeforeSaving: (@backUpBeforeSaving) ->
doesBackUpBeforeSaving: -> @backUpBeforeSaving
# Essential: Saves the editor's text buffer.
#
# See {TextBuffer::save} for more details.
save: -> @buffer.save(backup: @config.get('editor.backUpBeforeSaving'))
save: -> @buffer.save(backup: @backUpBeforeSaving)
# Essential: Saves the editor's text buffer as the given path.
#
# See {TextBuffer::saveAs} for more details.
#
# * `filePath` A {String} path.
saveAs: (filePath) -> @buffer.saveAs(filePath, backup: @config.get('editor.backUpBeforeSaving'))
saveAs: (filePath) -> @buffer.saveAs(filePath, backup: @backUpBeforeSaving)
# Determine whether the user should be prompted to save before closing
# this editor.