diff options
author | kylo252 <[email protected]> | 2022-03-24 16:16:38 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2022-03-24 16:16:38 +0100 |
commit | 08d3df2cd3515878309906c2791d1b934425d78f (patch) | |
tree | 1fa487649e33329add38c5c3a8abb12acdfd41d2 /lua/lvim/utils | |
parent | 1ea836e3601b7ed0ed0496888dc14683bfbcce75 (diff) |
feat(plugins): add support for packer snapshots (#2351)
Diffstat (limited to 'lua/lvim/utils')
-rw-r--r-- | lua/lvim/utils/git.lua | 18 | ||||
-rw-r--r-- | lua/lvim/utils/hooks.lua | 24 |
2 files changed, 16 insertions, 26 deletions
diff --git a/lua/lvim/utils/git.lua b/lua/lvim/utils/git.lua index ce323160..9848835e 100644 --- a/lua/lvim/utils/git.lua +++ b/lua/lvim/utils/git.lua @@ -113,22 +113,4 @@ function M.get_lvim_current_sha() return abbrev_version end -function M.generate_plugins_sha(output) - local list = {} - output = output or "commits.lua" - - local core_plugins = require "lvim.plugins" - for _, plugin in pairs(core_plugins) do - local name = plugin[1]:match "/(%S*)" - local url = "https://github.com/" .. plugin[1] - print("checking: " .. name .. ", at: " .. url) - local retval, latest_sha = git_cmd { args = { "ls-remote", url, "origin", "HEAD" } } - if retval == 0 then - -- replace dashes, remove postfixes and use lowercase - local normalize_name = (name:gsub("-", "_"):gsub("%.%S+", "")):lower() - list[normalize_name] = latest_sha[1]:gsub("\tHEAD", "") - end - end - require("lvim.utils").write_file(output, "local commit = " .. vim.inspect(list), "w") -end return M diff --git a/lua/lvim/utils/hooks.lua b/lua/lvim/utils/hooks.lua index b40f2c23..8b057884 100644 --- a/lua/lvim/utils/hooks.lua +++ b/lua/lvim/utils/hooks.lua @@ -12,17 +12,25 @@ function M.run_pre_reload() end function M.run_on_packer_complete() - if not in_headless then - -- manually trigger event to fix colors - vim.cmd [[ doautocmd ColorScheme ]] - end - Log:info "Reloaded configuration" + vim.schedule(function() + if not in_headless then + -- colorscheme must get called after plugins are loaded or it will break new installs. + vim.g.colors_name = lvim.colorscheme + vim.cmd("colorscheme " .. lvim.colorscheme) + else + Log:debug "Packer operation complete" + end + end) end function M.run_post_reload() Log:debug "Starting post-reload hook" - require("lvim.plugin-loader").ensure_installed() M.reset_cache() + vim.schedule(function() + if not in_headless then + Log:info "Reloaded configuration" + end + end) end ---Reset any startup cache files used by Packer and Impatient @@ -48,8 +56,8 @@ function M.run_post_update() Log:debug "Starting post-update hook" M.reset_cache() - Log:debug "Updating core plugins" - require("lvim.plugin-loader").ensure_installed() + Log:debug "Syncing core plugins" + require("lvim.plugin-loader").sync_core_plugins() if not in_headless then vim.schedule(function() |