diff options
author | kylo252 <[email protected]> | 2022-04-20 11:44:36 +0200 |
---|---|---|
committer | GitHub <[email protected]> | 2022-04-20 11:44:36 +0200 |
commit | 3d841425aed288091068bbb8d15376c9908c6cec (patch) | |
tree | d2da49957941797a46caea4ffda59f644a8d0e8d /lua/lvim/utils | |
parent | 1ae89bee93a01f2c64884ae8bed3f28681c2abff (diff) |
feat: lock nvim <0.7 to a specific tag (#2491)
Diffstat (limited to 'lua/lvim/utils')
-rw-r--r-- | lua/lvim/utils/git.lua | 12 | ||||
-rw-r--r-- | lua/lvim/utils/hooks.lua | 17 |
2 files changed, 28 insertions, 1 deletions
diff --git a/lua/lvim/utils/git.lua b/lua/lvim/utils/git.lua index 9848835e..f38a727f 100644 --- a/lua/lvim/utils/git.lua +++ b/lua/lvim/utils/git.lua @@ -72,6 +72,8 @@ function M.update_base_lvim() Log:error "Update failed! Please pull the changes manually instead." return end + + return true end ---Switch Lunarvim to the specified development branch @@ -80,11 +82,19 @@ function M.switch_lvim_branch(branch) if not safe_deep_fetch() then return end - local ret = git_cmd { args = { "switch", branch } } + local args = { "switch", branch } + + if branch:match "^[0-9]" then + -- avoids producing an error for tags + vim.list_extend(args, { "--detach" }) + end + + local ret = git_cmd { args = args } if ret ~= 0 then Log:error "Unable to switch branches! Check the log for further information" return end + return true end ---Get the current Lunarvim development branch diff --git a/lua/lvim/utils/hooks.lua b/lua/lvim/utils/hooks.lua index 932f9c3d..a6b63c96 100644 --- a/lua/lvim/utils/hooks.lua +++ b/lua/lvim/utils/hooks.lua @@ -51,6 +51,23 @@ end function M.run_post_update() Log:debug "Starting post-update hook" + + if vim.fn.has "nvim-0.7" ~= 1 then + local compat_tag = "1.1.3" + vim.notify( + "Please upgrade your Neovim base installation. Newer version of Lunarvim requires v0.7+", + vim.log.levels.WARN + ) + vim.wait(1000, function() + return false + end) + local ret = require_clean("lvim.utils.git").switch_lvim_branch(compat_tag) + if ret then + vim.notify("Reverted to the last known compatibile version: " .. compat_tag, vim.log.levels.WARN) + end + return + end + M.reset_cache() Log:debug "Syncing core plugins" |