diff options
author | LostNeophyte <[email protected]> | 2023-01-10 21:18:17 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2023-01-10 21:18:17 +0100 |
commit | ccb80e41ee929505c97e682749c74f8db4609d61 (patch) | |
tree | 7fa9c9e025ce17e9c41563940b1f39fa3357d67c /utils | |
parent | fc6873809934917b470bff1b072171879899a36b (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.lua | 11 | ||||
-rw-r--r-- | utils/ci/verify_plugins.lua | 28 | ||||
-rw-r--r-- | utils/installer/config.example.lua | 1 | ||||
-rw-r--r-- | utils/installer/config_win.example.lua | 1 | ||||
-rw-r--r-- | utils/installer/install.ps1 | 2 | ||||
-rwxr-xr-x | utils/installer/install.sh | 23 |
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 } |