mirror of
https://github.com/LunarVim/LunarVim.git
synced 2025-08-31 15:19:26 +02:00
fix(install): avoid data-races for on_packer_complete
(#2157)
This commit is contained in:
parent
66e8facb15
commit
ec1e4140fa
3 changed files with 13 additions and 19 deletions
|
@ -42,6 +42,10 @@ end
|
|||
---The files are generated to a runtimepath: "$LUNARVIM_RUNTIME_DIR/site/after/ftplugin/template.lua"
|
||||
---@param servers_names table list of servers to be enabled. Will add all by default
|
||||
function M.generate_templates(servers_names)
|
||||
for _, client in pairs(vim.lsp.get_active_clients()) do
|
||||
client:stop()
|
||||
end
|
||||
|
||||
servers_names = servers_names or {}
|
||||
|
||||
Log:debug "Templates installation in progress"
|
||||
|
|
|
@ -43,8 +43,10 @@ function plugin_loader.init(opts)
|
|||
},
|
||||
}
|
||||
|
||||
if not in_headless then
|
||||
vim.cmd [[autocmd User PackerComplete lua require('lvim.utils.hooks').run_on_packer_complete()]]
|
||||
end
|
||||
end
|
||||
|
||||
-- packer expects a space separated list
|
||||
local function pcall_packer_command(cmd, kwargs)
|
||||
|
@ -113,7 +115,6 @@ function plugin_loader.sync_core_plugins()
|
|||
end
|
||||
|
||||
function plugin_loader.ensure_installed()
|
||||
plugin_loader.cache_clear()
|
||||
local all_plugins = _G.packer_plugins or plugin_loader.get_core_plugins()
|
||||
Log:trace(string.format("Syncing core plugins: [%q]", table.concat(all_plugins, ", ")))
|
||||
pcall_packer_command("install", all_plugins)
|
||||
|
|
|
@ -5,33 +5,25 @@ local in_headless = #vim.api.nvim_list_uis() == 0
|
|||
|
||||
function M.run_pre_update()
|
||||
Log:debug "Starting pre-update hook"
|
||||
if package.loaded["lspconfig"] then
|
||||
vim.cmd [[ LspStop ]]
|
||||
end
|
||||
end
|
||||
|
||||
function M.run_pre_reload()
|
||||
Log:debug "Starting pre-reload hook"
|
||||
if package.loaded["lspconfig"] then
|
||||
vim.cmd [[ LspStop ]]
|
||||
end
|
||||
end
|
||||
|
||||
function M.run_on_packer_complete()
|
||||
require("lvim.plugin-loader").recompile()
|
||||
-- forcefully activate nvim-web-devicons
|
||||
require("nvim-web-devicons").set_up_highlights()
|
||||
if package.loaded["lspconfig"] then
|
||||
vim.cmd [[ LspStart ]]
|
||||
end
|
||||
-- manually trigger event to fix colors
|
||||
vim.cmd [[ doautocmd ColorScheme ]]
|
||||
Log:info "Reloaded configuration"
|
||||
end
|
||||
|
||||
function M.run_post_reload()
|
||||
Log:debug "Starting post-reload hook"
|
||||
|
||||
M.reset_cache()
|
||||
require("lvim.plugin-loader").ensure_installed()
|
||||
M.reset_cache()
|
||||
if package.loaded["lspconfig"] then
|
||||
pcall(vim.cmd, "LspRestart")
|
||||
end
|
||||
end
|
||||
|
||||
---Reset any startup cache files used by Packer and Impatient
|
||||
|
@ -67,9 +59,6 @@ function M.run_post_update()
|
|||
end
|
||||
-- TODO: add a changelog
|
||||
vim.notify("Update complete", vim.log.levels.INFO)
|
||||
if package.loaded["lspconfig"] then
|
||||
vim.cmd [[ LspStart ]]
|
||||
end
|
||||
end)
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue