summaryrefslogtreecommitdiff
path: root/lua/lvim/plugin-loader.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/lvim/plugin-loader.lua')
-rw-r--r--lua/lvim/plugin-loader.lua40
1 files changed, 23 insertions, 17 deletions
diff --git a/lua/lvim/plugin-loader.lua b/lua/lvim/plugin-loader.lua
index 1f574bba..88c2c0d2 100644
--- a/lua/lvim/plugin-loader.lua
+++ b/lua/lvim/plugin-loader.lua
@@ -69,17 +69,31 @@ local function pcall_packer_command(cmd, kwargs)
end
function plugin_loader.cache_clear()
+ if not utils.is_file(compile_path) then
+ return
+ end
if vim.fn.delete(compile_path) == 0 then
Log:debug "deleted packer_compiled.lua"
end
end
+function plugin_loader.compile()
+ Log:debug "calling packer.compile()"
+ vim.api.nvim_create_autocmd("User", {
+ pattern = "PackerCompileDone",
+ once = true,
+ callback = function()
+ if utils.is_file(compile_path) then
+ Log:debug "finished compiling packer_compiled.lua"
+ end
+ end,
+ })
+ pcall_packer_command "compile"
+end
+
function plugin_loader.recompile()
plugin_loader.cache_clear()
- pcall_packer_command "compile"
- if utils.is_file(compile_path) then
- Log:debug "generated packer_compiled.lua"
- end
+ plugin_loader.compile()
end
function plugin_loader.reload(configurations)
@@ -140,17 +154,10 @@ function plugin_loader.load_snapshot(snapshot_file)
end
function plugin_loader.sync_core_plugins()
- -- problem: rollback() will get stuck if a plugin directory doesn't exist
- -- solution: call sync() beforehand
- -- see https://github.com/wbthomason/packer.nvim/issues/862
- vim.api.nvim_create_autocmd("User", {
- pattern = "PackerComplete",
- once = true,
- callback = function()
- require("lvim.plugin-loader").load_snapshot(default_snapshot)
- end,
- })
- pcall_packer_command "sync"
+ plugin_loader.cache_clear()
+ local core_plugins = plugin_loader.get_core_plugins()
+ Log:trace(string.format("Syncing core plugins: [%q]", table.concat(core_plugins, ", ")))
+ pcall_packer_command("sync", core_plugins)
end
function plugin_loader.ensure_plugins()
@@ -158,8 +165,7 @@ function plugin_loader.ensure_plugins()
pattern = "PackerComplete",
once = true,
callback = function()
- Log:debug "calling packer.clean()"
- pcall_packer_command "clean"
+ plugin_loader.compile()
end,
})
Log:debug "calling packer.install()"