diff options
author | Raymaekers Luca <raymaekers.luca@gmail.com> | 2024-08-15 18:53:47 +0200 |
---|---|---|
committer | Raymaekers Luca <raymaekers.luca@gmail.com> | 2024-08-15 18:53:47 +0200 |
commit | 4073294204effdf65e1182d1769120a5fcd9d348 (patch) | |
tree | a1a961e382a74a032dfe48ace0cb53bd89234a29 /config/essentials/vis/backup.lua | |
parent | 93bdfbb5d7b16a44cb23e6ee2bffd3eef368f8fc (diff) |
checkpoint
Diffstat (limited to 'config/essentials/vis/backup.lua')
-rw-r--r-- | config/essentials/vis/backup.lua | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/config/essentials/vis/backup.lua b/config/essentials/vis/backup.lua deleted file mode 100644 index 2c8f0b8..0000000 --- a/config/essentials/vis/backup.lua +++ /dev/null @@ -1,63 +0,0 @@ ---[[ -Based on https://github.com/roguh/vis-backup -Changes made: -- stylua -- file path ---]] - -local backup = {} - --- Return the backup path concatenated with the filename, replace / with % -backup.entire_path_with_double_percentage_signs = function(backup_dir, path) - return backup_dir .. "/" .. string.gsub(path, "/", "%%") -end - --- Return the backup path concatenated with the filename, replace / with % --- and append the current time using time_format -backup.entire_path_with_double_percentage_signs_and_timestamp = function(backup_dir, path) - return backup_dir .. "/" .. os.date(backup.time_format) .. string.gsub(path, "/", "%%") -end - --- Before saving the file, copy the current contents of the file to a backup file -vis.events.subscribe(vis.events.FILE_SAVE_PRE, function(file, path) - if file == nil then - return - end - - if file.size > backup.byte_limit then - return - end - - -- E.g. when editing stdin as an interactive filter - -- `vis -` - if path == nil then - return - end - - local backup_path = backup.get_fname(backup.directory, path) - - local backup_file = io.open(backup_path, "w") - local current_file = io.open(path) - if backup_file == nil or current_file == nil then - return - end - - for line in current_file:lines() do - backup_file:write(line .. "\n") - end - - backup_file:close() -end) - --- Set defaults -backup.directory = (os.getenv("XDG_DATA_HOME") or (os.getenv("HOME") .. "/.local/share")) .. "/Trash/vis-backups" - -backup.get_fname = backup.entire_path_with_double_percentage_signs - -backup.time_format = "%H-%M-" - --- Do not make backups if the file is greater than this --- 1MB by default -backup.byte_limit = 1000000 - -return backup |