nvim 自动备份 lazy lock.json

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
-- backup: lazy-lazy.json
local lazy_cmds = vim.api.nvim_create_augroup('lazy_cmds', {clear = true})
local root = os.getenv("HOME") .. "/.config/nvim/lazy"
local snapshot_dir = root .. '/plugin-snapshot'
os.execute("mkdir " .. snapshot_dir)
local lockfile = root .. '/lazy-lock.json'
vim.api.nvim_create_user_command(
    'BrowseSnapshots',
    'edit ' .. snapshot_dir,
    {}
)
vim.api.nvim_create_autocmd('User', {
    group = lazy_cmds,
    pattern = 'LazyUpdatePre',
    desc = 'Backup lazy.nvim lockfile',
    callback = function(event)
        vim.fn.mkdir(snapshot_dir, 'p')
        local snapshot = snapshot_dir .. os.date('/%Y-%m-%dT%H:%M:%S.lazy-lock.json')
        vim.loop.fs_copyfile(lockfile, snapshot)
    end,
})
  • :Lazy restore
william 支付宝支付宝
william 微信微信
0%