summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorLostNeophyte <[email protected]>2023-01-10 21:18:17 +0100
committerGitHub <[email protected]>2023-01-10 21:18:17 +0100
commitccb80e41ee929505c97e682749c74f8db4609d61 (patch)
tree7fa9c9e025ce17e9c41563940b1f39fa3357d67c /utils
parentfc6873809934917b470bff1b072171879899a36b (diff)
refactor: migrate to lazy.nvim (#3647)
* refactor: convert plugins spec to lazy * refactor(lazy): remove impatient * fix(telescope): no more errors if theme is nil * refactor(lazy): use lazy in plugin_loader * refactor(lazy): pin plugins with packer's snapshot * fix: add plugins to rtp before config:init * fix: fs_stat nil check * feat: lazy cache * feat(lazy): reloading * refactor(lazy): plugin-loader functions * feat(lazy): cache reset * refactor: set runtimepath manually * fix: runtimepath * refactor(rtp) * refactor(lazy): packer -> lazy in various places * fix(lazy): disable tree-sitter ensure installed * refactor(lazy): restore order to bootstrap * refactor(lazy): remove unused impatient profiler * small fixes * `lvim.plugins` deprecation handling * fix: deprecation of `requires` in plugin specs * feat: core plugins pinning * refactor(lazy): plugin loader tests * refactor(lazy): use lazy in scripts * refactor(lazy): which-key keybinds * chore: format * fix: installer * fix: first time setup * feat: changes required for packaging commit 951ac2b7c01b5200b973660c967852d1706cce28 Author: LostNeophyte <[email protected]> Date: Wed Dec 28 13:49:44 2022 +0100 fix: clean folder before copying plugins commit 64e9afa44b8e528ba527e0510d0d8c2d2237a095 Author: LostNeophyte <[email protected]> Date: Wed Dec 28 13:35:41 2022 +0100 feat: copy core plugins on first run commit 2d8e72090c7624f68c09a9aa6582223373a810c1 Author: LostNeophyte <[email protected]> Date: Wed Dec 28 13:11:22 2022 +0100 feat(utils): fs_copy commit 85c1f025a6ba13183e85141f75f60e2eefc77bb5 Author: LostNeophyte <[email protected]> Date: Wed Dec 28 13:04:38 2022 +0100 fix: copy correct example config * fix: packer specs deprecation handling * fix: plugin specs deprecation * feat: pin lazy's version * fix: remove plugins form rtp before loading lazy * fix: plugin-loader test * feat(lazy): add keymappings for profile, log, and debug (#3665) * feat(lazy): Add keymappings for profile, log, and debug * feat(lazy): Add keymap for cleaning * chore: format * pref: lazy load many plugins Co-authored-by: Uzair Aftab <[email protected]> * fix: bootstrap correct version of lazy * fix: also use CmdLineEnter event for cmp * fix: don't use lazy's modules before it's set up * perf: (hack) enable lazy's cache before loading lazy * fix: plugins.lua * fix: plugins bump script * chore: remove debug print * feat: add rounded border for `:Lazy` * fix: bufferline flashing * fix: don't close lazy on startup * fix: load breadcrumbs on startup * fix: don't lazy load bufferline * chore: bump lazy's version * fix: remove site from rtp (fixes treesitter issues) * revert default config copying changes * fix(bootstrap): actually remove plugins dir on windows * chore: bump lazy's version * chore: bump lazy's version Co-authored-by: kylo252 <[email protected]> Co-authored-by: Uzair Aftab <[email protected]> Co-authored-by: Uzair Aftab <[email protected]> Co-authored-by: opalmay <[email protected]>
Diffstat (limited to 'utils')
-rw-r--r--utils/ci/generate_new_lockfile.lua11
-rw-r--r--utils/ci/verify_plugins.lua28
-rw-r--r--utils/installer/config.example.lua1
-rw-r--r--utils/installer/config_win.example.lua1
-rw-r--r--utils/installer/install.ps12
-rwxr-xr-xutils/installer/install.sh23
6 files changed, 32 insertions, 34 deletions
diff --git a/utils/ci/generate_new_lockfile.lua b/utils/ci/generate_new_lockfile.lua
index 8eef5184..2677b202 100644
--- a/utils/ci/generate_new_lockfile.lua
+++ b/utils/ci/generate_new_lockfile.lua
@@ -71,6 +71,7 @@ local function write_lockfile(verbose)
url = url,
commit = commit,
branch = plugin.branch or "HEAD",
+ tag = plugin.tag,
})
end
@@ -86,12 +87,20 @@ local function write_lockfile(verbose)
return
end
local latest_sha = result:gsub("\tHEAD\n", ""):sub(1, 7)
+ if entry.tag then
+ local dereferenced_commit = result:match("\n(.*)\trefs/tags/" .. entry.tag .. "%^{}\n")
+ if dereferenced_commit then
+ latest_sha = dereferenced_commit:sub(1, 7)
+ end
+ end
plugins_list[entry.name] = {
commit = latest_sha,
}
end
- local handle = call_proc("git", { args = { "ls-remote", entry.url, entry.branch } }, on_done)
+ local handle = call_proc("git", {
+ args = { "ls-remote", entry.url, entry.tag and entry.tag .. "*" or entry.branch },
+ }, on_done)
assert(handle)
table.insert(active_jobs, handle)
end
diff --git a/utils/ci/verify_plugins.lua b/utils/ci/verify_plugins.lua
index d009cbda..95d98a1e 100644
--- a/utils/ci/verify_plugins.lua
+++ b/utils/ci/verify_plugins.lua
@@ -24,28 +24,23 @@ local get_default_sha1 = function(spec)
end
local is_directory = require("lvim.utils").is_directory
--- see packer.init()
-local packdir = join_paths(get_runtime_dir(), "site", "pack", "packer")
+local lazydir = join_paths(get_runtime_dir(), "site", "pack", "lazy")
-local verify_packer = function()
- if not is_directory(packdir) then
- io.write "Packer not installed!"
+local verify_lazy = function()
+ if not is_directory(lazydir) then
+ io.write "Lazy.nvim not installed!"
os.exit(1)
end
- local status_ok, packer = pcall(require, "packer")
- if status_ok and packer then
+ local status_ok, lazy = pcall(require, "lazy")
+ if status_ok and lazy then
return
end
- io.write "Packer not installed!"
+ io.write "Lazy.nvim not installed!"
os.exit(1)
end
-local packer_config = { opt_dir = join_paths(packdir, "opt"), start_dir = join_paths(packdir, "start") }
-local is_optional = function(spec)
- return spec.opt or spec.event or spec.cmd or spec.module
-end
local get_install_path = function(spec)
- local prefix = is_optional(spec) and packer_config.opt_dir or packer_config.start_dir
+ local prefix = join_paths(lazydir, "opt")
local path = join_paths(prefix, get_short_name(spec))
return is_directory(path) and path
end
@@ -79,7 +74,9 @@ local function call_proc(process, opts, cb)
{ args = opts.args, cwd = opts.cwd or uv.cwd(), stdio = stdio },
vim.schedule_wrap(function(code)
if code ~= 0 then
+ ---@diagnostic disable-next-line: undefined-field
stdout:read_stop()
+ ---@diagnostic disable-next-line: undefined-field
stderr:read_stop()
end
@@ -106,7 +103,7 @@ end
local function verify_core_plugins(verbose)
for _, spec in pairs(core_plugins) do
local path = get_install_path(spec)
- if not spec.disable and path then
+ if spec.enabled or spec.enabled == nil and path then
table.insert(collection, {
name = get_short_name(spec),
commit = get_default_sha1(spec),
@@ -140,10 +137,11 @@ local function verify_core_plugins(verbose)
end
vim.wait(#active_jobs * 60 * 1000, function()
+ ---@diagnostic disable-next-line: redundant-return-value
return completed == #active_jobs
end)
end
-verify_packer()
+verify_lazy()
verify_core_plugins()
vim.cmd "q"
diff --git a/utils/installer/config.example.lua b/utils/installer/config.example.lua
index b779717d..a1b2c9c9 100644
--- a/utils/installer/config.example.lua
+++ b/utils/installer/config.example.lua
@@ -33,7 +33,6 @@ lvim.keys.normal_mode["<C-s>"] = ":w<cr>"
-- -- Change theme settings
-- lvim.colorscheme = "lunar"
--- After changing plugin config exit and reopen LunarVim, Run :PackerSync
lvim.builtin.alpha.active = true
lvim.builtin.alpha.mode = "dashboard"
lvim.builtin.terminal.active = true
diff --git a/utils/installer/config_win.example.lua b/utils/installer/config_win.example.lua
index eec5ff88..3467c86e 100644
--- a/utils/installer/config_win.example.lua
+++ b/utils/installer/config_win.example.lua
@@ -55,7 +55,6 @@ lvim.keys.normal_mode["<C-s>"] = ":w<cr>"
-- -- Change theme settings
-- lvim.colorscheme = "lunar"
--- After changing plugin config exit and reopen LunarVim, Run :PackerSync
lvim.builtin.alpha.active = true
lvim.builtin.alpha.mode = "dashboard"
lvim.builtin.terminal.active = true
diff --git a/utils/installer/install.ps1 b/utils/installer/install.ps1
index 442d8622..db1427e5 100644
--- a/utils/installer/install.ps1
+++ b/utils/installer/install.ps1
@@ -217,7 +217,7 @@ function setup_lvim() {
$exampleConfig = "$env:LUNARVIM_BASE_DIR\utils\installer\config_win.example.lua"
Copy-Item -Force "$exampleConfig" "$env:LUNARVIM_CONFIG_DIR\config.lua"
- Write-Host "Make sure to run `:PackerSync` at first launch" -ForegroundColor Green
+ Write-Host "Make sure to run `:Lazy sync` at first launch" -ForegroundColor Green
create_alias
diff --git a/utils/installer/install.sh b/utils/installer/install.sh
index d1e17878..5519e8a7 100755
--- a/utils/installer/install.sh
+++ b/utils/installer/install.sh
@@ -222,7 +222,7 @@ function check_neovim_min_version() {
function verify_core_plugins() {
msg "Verifying core plugins"
if ! bash "$LUNARVIM_BASE_DIR/utils/ci/verify_plugins.sh"; then
- echo "[ERROR]: Unable to verify plugins, make sure to manually run ':PackerSync' when starting lvim for the first time."
+ echo "[ERROR]: Unable to verify plugins, make sure to manually run ':Lazy sync' when starting lvim for the first time."
exit 1
fi
echo "Verification complete!"
@@ -412,15 +412,10 @@ function setup_shim() {
}
function remove_old_cache_files() {
- local packer_cache="$LUNARVIM_CONFIG_DIR/plugin/packer_compiled.lua"
- if [ -e "$packer_cache" ]; then
- msg "Removing old packer cache file"
- rm -f "$packer_cache"
- fi
-
- if [ -e "$LUNARVIM_CACHE_DIR/luacache" ] || [ -e "$LUNARVIM_CACHE_DIR/lvim_cache" ]; then
- msg "Removing old startup cache file"
- rm -f "$LUNARVIM_CACHE_DIR/{luacache,lvim_cache}"
+ local lazy_cache="$LUNARVIM_CACHE_DIR/lazy/cache"
+ if [ -e "$lazy_cache" ]; then
+ msg "Removing old lazy cache file"
+ rm -f "$lazy_cache"
fi
}
@@ -435,13 +430,11 @@ function setup_lvim() {
[ ! -f "$LUNARVIM_CONFIG_DIR/config.lua" ] \
&& cp "$LUNARVIM_BASE_DIR/utils/installer/config.example.lua" "$LUNARVIM_CONFIG_DIR/config.lua"
- echo "Preparing Packer setup"
+ echo "Preparing Lazy setup"
- "$INSTALL_PREFIX/bin/lvim" --headless \
- -c 'autocmd User PackerComplete quitall' \
- -c 'PackerSync'
+ "$INSTALL_PREFIX/bin/lvim" --headless -c 'quitall'
- echo "Packer setup complete"
+ echo "Lazy setup complete"
verify_core_plugins
}