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 | |
| parent | 1ae89bee93a01f2c64884ae8bed3f28681c2abff (diff) | |
feat: lock nvim <0.7 to a specific tag (#2491)
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/lvim/bootstrap.lua | 10 | ||||
| -rw-r--r-- | lua/lvim/utils/git.lua | 12 | ||||
| -rw-r--r-- | lua/lvim/utils/hooks.lua | 17 | 
3 files changed, 34 insertions, 5 deletions
| diff --git a/lua/lvim/bootstrap.lua b/lua/lvim/bootstrap.lua index c324055a..83536335 100644 --- a/lua/lvim/bootstrap.lua +++ b/lua/lvim/bootstrap.lua @@ -1,7 +1,7 @@  local M = {} -if vim.fn.has "nvim-0.6.1" ~= 1 then -  vim.notify("Please upgrade your Neovim base installation. Lunarvim requires v0.6.1+", vim.log.levels.WARN) +if vim.fn.has "nvim-0.7" ~= 1 then +  vim.notify("Please upgrade your Neovim base installation. Lunarvim requires v0.7+", vim.log.levels.WARN)    vim.wait(5000, function()      return false    end) @@ -115,8 +115,10 @@ end  ---pulls the latest changes from github and, resets the startup cache  function M:update()    require_clean("lvim.utils.hooks").run_pre_update() -  require_clean("lvim.utils.git").update_base_lvim() -  require_clean("lvim.utils.hooks").run_post_update() +  local ret = require_clean("lvim.utils.git").update_base_lvim() +  if ret then +    require_clean("lvim.utils.hooks").run_post_update() +  end  end  return M 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" | 
