summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lua/lvim/core/log.lua4
-rw-r--r--lua/lvim/plugin-loader.lua7
-rw-r--r--utils/ci/verify_plugins.lua15
-rwxr-xr-xutils/installer/install.sh62
4 files changed, 41 insertions, 47 deletions
diff --git a/lua/lvim/core/log.lua b/lua/lvim/core/log.lua
index a0af3683..c4f727be 100644
--- a/lua/lvim/core/log.lua
+++ b/lua/lvim/core/log.lua
@@ -20,8 +20,6 @@ function Log:set_level(level)
for _, s in ipairs(logger.sinks) do
s.level = log_level
end
- else
- vim.notify_once("Unable to set logger's level to " .. level)
end
local packer_ok, _ = xpcall(function()
@@ -87,7 +85,7 @@ function Log:init()
-- https://github.com/neovim/neovim/blob/685cf398130c61c158401b992a1893c2405cd7d2/runtime/lua/vim/lsp/log.lua#L5
vim_log_level = vim_log_level + 1
end
-
+
self:add_entry(vim_log_level, msg)
end
end
diff --git a/lua/lvim/plugin-loader.lua b/lua/lvim/plugin-loader.lua
index f6cb4651..1f574bba 100644
--- a/lua/lvim/plugin-loader.lua
+++ b/lua/lvim/plugin-loader.lua
@@ -42,11 +42,10 @@ function plugin_loader.init(opts)
end
if not utils.is_directory(install_path) then
- vim.fn.system { "git", "clone", "--depth", "1", "https://github.com/wbthomason/packer.nvim", install_path }
+ print "Initializing first time setup"
+ print "Installing packer"
+ print(vim.fn.system { "git", "clone", "--depth", "1", "https://github.com/wbthomason/packer.nvim", install_path })
vim.cmd "packadd packer.nvim"
- -- IMPORTANT: we only set this the very first time to avoid constantly triggering the rollback function
- -- https://github.com/wbthomason/packer.nvim/blob/c576ab3f1488ee86d60fd340d01ade08dcabd256/lua/packer.lua#L998-L995
- init_opts.snapshot = default_snapshot
end
local status_ok, packer = pcall(require, "packer")
diff --git a/utils/ci/verify_plugins.lua b/utils/ci/verify_plugins.lua
index cecb01db..d009cbda 100644
--- a/utils/ci/verify_plugins.lua
+++ b/utils/ci/verify_plugins.lua
@@ -26,6 +26,20 @@ end
local is_directory = require("lvim.utils").is_directory
-- see packer.init()
local packdir = join_paths(get_runtime_dir(), "site", "pack", "packer")
+
+local verify_packer = function()
+ if not is_directory(packdir) then
+ io.write "Packer not installed!"
+ os.exit(1)
+ end
+ local status_ok, packer = pcall(require, "packer")
+ if status_ok and packer then
+ return
+ end
+ io.write "Packer 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
@@ -130,5 +144,6 @@ local function verify_core_plugins(verbose)
end)
end
+verify_packer()
verify_core_plugins()
vim.cmd "q"
diff --git a/utils/installer/install.sh b/utils/installer/install.sh
index 87f60fd4..872d8403 100755
--- a/utils/installer/install.sh
+++ b/utils/installer/install.sh
@@ -1,6 +1,8 @@
#!/usr/bin/env bash
set -eo pipefail
+OS="$(uname -s)"
+
#Set branch to master unless specified by the user
declare -x LV_BRANCH="${LV_BRANCH:-"master"}"
declare -xr LV_REMOTE="${LV_REMOTE:-lunarvim/lunarvim.git}"
@@ -32,6 +34,7 @@ declare -a __lvim_dirs=(
"$LUNARVIM_CONFIG_DIR"
"$LUNARVIM_RUNTIME_DIR"
"$LUNARVIM_CACHE_DIR"
+ "$LUNARVIM_BASE_DIR"
)
declare -a __npm_deps=(
@@ -135,14 +138,12 @@ function main() {
fi
fi
- backup_old_config
+ remove_old_cache_files
verify_lvim_dirs
if [ "$ARGS_LOCAL" -eq 1 ]; then
link_local_lvim
- elif [ -d "$LUNARVIM_BASE_DIR" ]; then
- validate_lunarvim_files
else
clone_lvim
fi
@@ -156,7 +157,6 @@ function main() {
}
function detect_platform() {
- OS="$(uname -s)"
case "$OS" in
Linux)
if [ -f "/etc/arch-release" ] || [ -f "/etc/artix-release" ]; then
@@ -219,15 +219,6 @@ function verify_core_plugins() {
echo "Verification complete!"
}
-function validate_lunarvim_files() {
- local verify_version_cmd='if v:errmsg != "" | cquit | else | quit | endif'
- if ! "$INSTALL_PREFIX/bin/lvim" --headless -c 'LvimUpdate' -c "$verify_version_cmd" &>/dev/null; then
- msg "Removing old installation files"
- rm -rf "$LUNARVIM_BASE_DIR"
- clone_lvim
- fi
-}
-
function validate_install_prefix() {
local prefix="$1"
case $PATH in
@@ -353,43 +344,37 @@ function install_rust_deps() {
echo "All Rust dependencies are successfully installed"
}
-function verify_lvim_dirs() {
- if [ "$ARGS_OVERWRITE" -eq 1 ]; then
- for dir in "${__lvim_dirs[@]}"; do
- [ -d "$dir" ] && rm -rf "$dir"
- done
- fi
-
- for dir in "${__lvim_dirs[@]}"; do
- mkdir -p "$dir"
- done
-}
-
-function backup_old_config() {
- local src="$LUNARVIM_CONFIG_DIR"
+function __backup_dir() {
+ local src="$1"
if [ ! -d "$src" ]; then
return
fi
mkdir -p "$src.old"
- touch "$src/ignore"
msg "Backing up old $src to $src.old"
if command -v rsync &>/dev/null; then
- rsync --archive -hh --stats --partial --copy-links --cvs-exclude "$src"/ "$src.old"
+ rsync --archive --quiet --backup --partial --copy-links --cvs-exclude "$src"/ "$src.old"
else
- OS="$(uname -s)"
case "$OS" in
- Linux | *BSD)
- cp -r "$src/"* "$src.old/."
- ;;
Darwin)
cp -R "$src/"* "$src.old/."
;;
*)
- echo "OS $OS is not currently supported."
+ cp -r "$src/"* "$src.old/."
;;
esac
fi
- msg "Backup operation complete"
+}
+
+function verify_lvim_dirs() {
+ for dir in "${__lvim_dirs[@]}"; do
+ if [ -d "$dir" ]; then
+ if [ "$ARGS_OVERWRITE" -eq 0 ]; then
+ __backup_dir "$dir"
+ fi
+ rm -rf "$dir"
+ fi
+ mkdir -p "$dir"
+ done
}
function clone_lvim() {
@@ -406,8 +391,8 @@ function link_local_lvim() {
# Detect whether it's a symlink or a folder
if [ -d "$LUNARVIM_BASE_DIR" ]; then
- echo "Removing old installation files"
- rm -rf "$LUNARVIM_BASE_DIR"
+ msg "Moving old files to ${LUNARVIM_BASE_DIR}.old"
+ mv "$LUNARVIM_BASE_DIR" "${LUNARVIM_BASE_DIR}".old
fi
echo " - $BASEDIR -> $LUNARVIM_BASE_DIR"
@@ -433,8 +418,6 @@ function remove_old_cache_files() {
function setup_lvim() {
- remove_old_cache_files
-
msg "Installing LunarVim shim"
setup_shim
@@ -456,7 +439,6 @@ function setup_lvim() {
}
function create_desktop_file() {
- OS="$(uname -s)"
# TODO: Any other OSes that use desktop files?
([ "$OS" != "Linux" ] || ! command -v xdg-desktop-menu &>/dev/null) && return
echo "Creating desktop file"