From c5bb4a27a535d1fec34bf5a2f297a5f9d2fe5100 Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Wed, 29 Jul 2015 11:19:16 -0600 Subject: [PATCH] Add option to make temporary file backups when saving --- package.json | 2 +- src/config-schema.coffee | 4 ++++ src/text-editor.coffee | 4 ++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index d240316f2..3badce906 100644 --- a/package.json +++ b/package.json @@ -57,7 +57,7 @@ "space-pen": "3.8.2", "stacktrace-parser": "0.1.1", "temp": "0.8.1", - "text-buffer": "6.4.0", + "text-buffer": "6.5.0", "theorist": "^1.0.2", "typescript-simple": "1.0.0", "underscore-plus": "^1.6.6", diff --git a/src/config-schema.coffee b/src/config-schema.coffee index 6b45078fb..d46cdf589 100644 --- a/src/config-schema.coffee +++ b/src/config-schema.coffee @@ -173,6 +173,10 @@ module.exports = type: 'boolean' default: true title: 'Confirm Checkout HEAD Revision' + backUpBeforeSaving: + type: 'boolean' + default: false + description: 'Ensure file contents aren\'t lost if there is an I/O error during save by making a temporary backup copy.' invisibles: type: 'object' properties: diff --git a/src/text-editor.coffee b/src/text-editor.coffee index b644ac4e7..8a4e40a11 100644 --- a/src/text-editor.coffee +++ b/src/text-editor.coffee @@ -621,14 +621,14 @@ class TextEditor extends Model # Essential: Saves the editor's text buffer. # # See {TextBuffer::save} for more details. - save: -> @buffer.save() + save: -> @buffer.save(backup: atom.config.get('editor.backUpBeforeSaving')) # Public: 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) + saveAs: (filePath) -> @buffer.saveAs(filePath, backup: atom.config.get('editor.backUpBeforeSaving')) # Determine whether the user should be prompted to save before closing # this editor.