From 6d3f8b2183d7aa2ab4f552e43ba30f8ae4e0b7f3 Mon Sep 17 00:00:00 2001 From: LostNeophyte Date: Sun, 7 May 2023 10:36:42 +0200 Subject: [PATCH] fix: correct runtimepath order (#4124) --- init.lua | 2 +- lua/lvim/plugin-loader.lua | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/init.lua b/init.lua index 3fdf2a4e..f794b16c 100644 --- a/init.lua +++ b/init.lua @@ -5,7 +5,7 @@ local base_dir = vim.env.LUNARVIM_BASE_DIR end)() if not vim.tbl_contains(vim.opt.rtp:get(), base_dir) then - vim.opt.rtp:append(base_dir) + vim.opt.rtp:prepend(base_dir) end require("lvim.bootstrap"):init(base_dir) diff --git a/lua/lvim/plugin-loader.lua b/lua/lvim/plugin-loader.lua index ddb6c179..485b8b3a 100644 --- a/lua/lvim/plugin-loader.lua +++ b/lua/lvim/plugin-loader.lua @@ -42,8 +42,19 @@ function plugin_loader.init(opts) vim.api.nvim_create_autocmd("User", { pattern = "LazyDone", callback = require("lvim.lsp").setup }) end - vim.opt.runtimepath:append(lazy_install_dir) - vim.opt.runtimepath:append(join_paths(plugins_dir, "*")) + local rtp = vim.opt.rtp:get() + local base_dir = (vim.env.LUNARVIM_BASE_DIR or get_runtime_dir() .. "/lvim"):gsub("\\", "/") + local idx_base = #rtp + 1 + for i, path in ipairs(rtp) do + path = path:gsub("\\", "/") + if path == base_dir then + idx_base = i + 1 + break + end + end + table.insert(rtp, idx_base, lazy_install_dir) + table.insert(rtp, idx_base + 1, join_paths(plugins_dir, "*")) + vim.opt.rtp = rtp pcall(function() -- set a custom path for lazy's cache