mirror of
https://github.com/LunarVim/LunarVim.git
synced 2024-09-20 18:45:08 +02:00
feat: enable global installation (#3161)
This commit is contained in:
parent
40e2d5a171
commit
f6402563ab
8 changed files with 43 additions and 19 deletions
1
.github/workflows/format.yaml
vendored
1
.github/workflows/format.yaml
vendored
|
@ -22,6 +22,7 @@ jobs:
|
||||||
with:
|
with:
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
# CLI arguments
|
# CLI arguments
|
||||||
|
version: 0.15.1
|
||||||
args: --check .
|
args: --check .
|
||||||
|
|
||||||
shfmt-check:
|
shfmt-check:
|
||||||
|
|
7
init.lua
7
init.lua
|
@ -1,5 +1,8 @@
|
||||||
local init_path = debug.getinfo(1, "S").source:sub(2)
|
local base_dir = vim.env.LUNARVIM_BASE_DIR
|
||||||
local base_dir = init_path:match("(.*[/\\])"):sub(1, -2)
|
or (function()
|
||||||
|
local init_path = debug.getinfo(1, "S").source
|
||||||
|
return init_path:sub(2):match("(.*[/\\])"):sub(1, -2)
|
||||||
|
end)()
|
||||||
|
|
||||||
if not vim.tbl_contains(vim.opt.rtp:get(), base_dir) then
|
if not vim.tbl_contains(vim.opt.rtp:get(), base_dir) then
|
||||||
vim.opt.rtp:append(base_dir)
|
vim.opt.rtp:append(base_dir)
|
||||||
|
|
|
@ -118,7 +118,11 @@ function M:load(config_path)
|
||||||
if utils.is_file(user_config_file) then
|
if utils.is_file(user_config_file) then
|
||||||
Log:warn("Invalid configuration: " .. err)
|
Log:warn("Invalid configuration: " .. err)
|
||||||
else
|
else
|
||||||
vim.notify_once(string.format("Unable to find configuration file [%s]", config_path), vim.log.levels.WARN)
|
vim.notify_once(
|
||||||
|
string.format("User-configuration not found. Creating an example configuration in %s", config_path)
|
||||||
|
)
|
||||||
|
local example_config = join_paths(get_lvim_base_dir(), "utils", "installer", "config.example.lua")
|
||||||
|
vim.loop.fs_copyfile(example_config, config_path)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
local Log = require "lvim.core.log"
|
local Log = require "lvim.core.log"
|
||||||
|
local fmt = string.format
|
||||||
local if_nil = vim.F.if_nil
|
local if_nil = vim.F.if_nil
|
||||||
|
|
||||||
local function git_cmd(opts)
|
local function git_cmd(opts)
|
||||||
|
@ -43,9 +44,16 @@ local function safe_deep_fetch()
|
||||||
local fetch_mode = result[1] == "true" and "--unshallow" or "--all"
|
local fetch_mode = result[1] == "true" and "--unshallow" or "--all"
|
||||||
ret = git_cmd { args = { "fetch", fetch_mode } }
|
ret = git_cmd { args = { "fetch", fetch_mode } }
|
||||||
if ret ~= 0 then
|
if ret ~= 0 then
|
||||||
Log:error("Git fetch failed! Please pull the changes manually in " .. get_lvim_base_dir())
|
Log:error(fmt "Git fetch %s failed! Please pull the changes manually in %s", fetch_mode, get_lvim_base_dir())
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
if fetch_mode == "--unshallow" then
|
||||||
|
ret = git_cmd { args = { "remote", "set-branches", "origin", "*" } }
|
||||||
|
if ret ~= 0 then
|
||||||
|
Log:error(fmt "Git fetch %s failed! Please pull the changes manually in %s", fetch_mode, get_lvim_base_dir())
|
||||||
|
return
|
||||||
|
end
|
||||||
|
end
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -53,6 +61,11 @@ end
|
||||||
function M.update_base_lvim()
|
function M.update_base_lvim()
|
||||||
Log:info "Checking for updates"
|
Log:info "Checking for updates"
|
||||||
|
|
||||||
|
if not vim.loop.fs_access(get_lvim_base_dir(), "w") then
|
||||||
|
Log:warn(fmt("Lunarvim update aborted! cannot write to %s", get_lvim_base_dir()))
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
if not safe_deep_fetch() then
|
if not safe_deep_fetch() then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
|
@ -10,4 +10,4 @@ $env:LUNARVIM_CONFIG_DIR = $env:LUNARVIM_CONFIG_DIR ?? "$env:XDG_CONFIG_HOME\lvi
|
||||||
$env:LUNARVIM_CACHE_DIR = $env:LUNARVIM_CACHE_DIR ?? "$env:XDG_CACHE_HOME\lvim"
|
$env:LUNARVIM_CACHE_DIR = $env:LUNARVIM_CACHE_DIR ?? "$env:XDG_CACHE_HOME\lvim"
|
||||||
$env:LUNARVIM_BASE_DIR = $env:LUNARVIM_BASE_DIR ?? "$env:LUNARVIM_RUNTIME_DIR\lvim"
|
$env:LUNARVIM_BASE_DIR = $env:LUNARVIM_BASE_DIR ?? "$env:LUNARVIM_RUNTIME_DIR\lvim"
|
||||||
|
|
||||||
nvim -u "$env:LUNARVIM_RUNTIME_DIR\lvim\init.lua" @args
|
nvim -u "$env:LUNARVIM_BASE_DIR\init.lua" @args
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
#!/bin/sh
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
export LUNARVIM_RUNTIME_DIR="${LUNARVIM_RUNTIME_DIR:-RUNTIME_DIR_VAR}"
|
export LUNARVIM_RUNTIME_DIR="${LUNARVIM_RUNTIME_DIR:-RUNTIME_DIR_VAR}"
|
||||||
export LUNARVIM_CONFIG_DIR="${LUNARVIM_CONFIG_DIR:-CONFIG_DIR_VAR}"
|
export LUNARVIM_CONFIG_DIR="${LUNARVIM_CONFIG_DIR:-CONFIG_DIR_VAR}"
|
||||||
export LUNARVIM_CACHE_DIR="${LUNARVIM_CACHE_DIR:-CACHE_DIR_VAR}"
|
export LUNARVIM_CACHE_DIR="${LUNARVIM_CACHE_DIR:-CACHE_DIR_VAR}"
|
||||||
|
|
||||||
exec nvim -u "$LUNARVIM_RUNTIME_DIR/lvim/init.lua" "$@"
|
export LUNARVIM_BASE_DIR="${LUNARVIM_BASE_DIR:-BASE_DIR_VAR}"
|
||||||
|
|
||||||
|
exec -a lvim nvim -u "$LUNARVIM_BASE_DIR/init.lua" "$@"
|
||||||
|
|
|
@ -2,20 +2,20 @@
|
||||||
set -eo pipefail
|
set -eo pipefail
|
||||||
|
|
||||||
#Set branch to master unless specified by the user
|
#Set branch to master unless specified by the user
|
||||||
declare LV_BRANCH="${LV_BRANCH:-"master"}"
|
declare -x LV_BRANCH="${LV_BRANCH:-"master"}"
|
||||||
declare -r LV_REMOTE="${LV_REMOTE:-lunarvim/lunarvim.git}"
|
declare -xr LV_REMOTE="${LV_REMOTE:-lunarvim/lunarvim.git}"
|
||||||
declare -r INSTALL_PREFIX="${INSTALL_PREFIX:-"$HOME/.local"}"
|
declare -xr INSTALL_PREFIX="${INSTALL_PREFIX:-"$HOME/.local"}"
|
||||||
|
|
||||||
declare -r XDG_DATA_HOME="${XDG_DATA_HOME:-"$HOME/.local/share"}"
|
declare -xr XDG_DATA_HOME="${XDG_DATA_HOME:-"$HOME/.local/share"}"
|
||||||
declare -r XDG_CACHE_HOME="${XDG_CACHE_HOME:-"$HOME/.cache"}"
|
declare -xr XDG_CACHE_HOME="${XDG_CACHE_HOME:-"$HOME/.cache"}"
|
||||||
declare -r XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-"$HOME/.config"}"
|
declare -xr XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-"$HOME/.config"}"
|
||||||
|
|
||||||
declare -r LUNARVIM_RUNTIME_DIR="${LUNARVIM_RUNTIME_DIR:-"$XDG_DATA_HOME/lunarvim"}"
|
declare -xr LUNARVIM_RUNTIME_DIR="${LUNARVIM_RUNTIME_DIR:-"$XDG_DATA_HOME/lunarvim"}"
|
||||||
declare -r LUNARVIM_CONFIG_DIR="${LUNARVIM_CONFIG_DIR:-"$XDG_CONFIG_HOME/lvim"}"
|
declare -xr LUNARVIM_CONFIG_DIR="${LUNARVIM_CONFIG_DIR:-"$XDG_CONFIG_HOME/lvim"}"
|
||||||
declare -r LUNARVIM_CACHE_DIR="${LUNARVIM_CACHE_DIR:-"$XDG_CACHE_HOME/lvim"}"
|
declare -xr LUNARVIM_CACHE_DIR="${LUNARVIM_CACHE_DIR:-"$XDG_CACHE_HOME/lvim"}"
|
||||||
declare -r LUNARVIM_BASE_DIR="${LUNARVIM_BASE_DIR:-"$LUNARVIM_RUNTIME_DIR/lvim"}"
|
declare -xr LUNARVIM_BASE_DIR="${LUNARVIM_BASE_DIR:-"$LUNARVIM_RUNTIME_DIR/lvim"}"
|
||||||
|
|
||||||
declare -r LUNARVIM_LOG_LEVEL="${LUNARVIM_LOG_LEVEL:-warn}"
|
declare -xr LUNARVIM_LOG_LEVEL="${LUNARVIM_LOG_LEVEL:-warn}"
|
||||||
|
|
||||||
declare BASEDIR
|
declare BASEDIR
|
||||||
BASEDIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)"
|
BASEDIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)"
|
||||||
|
|
|
@ -26,7 +26,8 @@ function setup_shim() {
|
||||||
|
|
||||||
sed -e s"#RUNTIME_DIR_VAR#\"${LUNARVIM_RUNTIME_DIR}\"#"g \
|
sed -e s"#RUNTIME_DIR_VAR#\"${LUNARVIM_RUNTIME_DIR}\"#"g \
|
||||||
-e s"#CONFIG_DIR_VAR#\"${LUNARVIM_CONFIG_DIR}\"#"g \
|
-e s"#CONFIG_DIR_VAR#\"${LUNARVIM_CONFIG_DIR}\"#"g \
|
||||||
-e s"#CACHE_DIR_VAR#\"${LUNARVIM_CACHE_DIR}\"#"g "$src" \
|
-e s"#CACHE_DIR_VAR#\"${LUNARVIM_CACHE_DIR}\"#"g \
|
||||||
|
-e s"#BASE_DIR_VAR#\"${LUNARVIM_BASE_DIR}\"#"g "$src" \
|
||||||
| tee "$dst" >/dev/null
|
| tee "$dst" >/dev/null
|
||||||
|
|
||||||
chmod u+x "$dst"
|
chmod u+x "$dst"
|
||||||
|
|
Loading…
Reference in a new issue