Explorar o código

fix: set runtime directories correctly (#1354)

* fix: set runtime directories correctly

This also simplifies the way to invoke LunarVim to just be:
`nvim -u "$LUNARVIM_RUNTIME_DIR/lvim/init.lua"`

Fixes #1352

* use libuv to get homedir path
kylo252 %!s(int64=3) %!d(string=hai) anos
pai
achega
33640834e4
Modificáronse 2 ficheiros con 20 adicións e 13 borrados
  1. 17 12
      init.lua
  2. 3 1
      utils/bin/lvim

+ 17 - 12
init.lua

@@ -1,16 +1,21 @@
-vim.cmd [[
-  set packpath-=~/.config/nvim
-  set packpath-=~/.config/nvim/after
-  set packpath-=~/.local/share/nvim/site
-  set packpath^=~/.local/share/lunarvim/site
-  set packpath^=~/.config/lvim
+-- {{{ Bootstrap
+local home_dir = vim.loop.os_homedir()
 
-  set runtimepath-=~/.config/nvim
-  set runtimepath-=~/.config/nvim/after
-  set runtimepath+=~/.config/lvim
-  set runtimepath^=~/.local/share/lunarvim/lvim/after
-]]
--- vim.opt.rtp:append() instead of vim.cmd ?
+vim.opt.rtp:append(home_dir .. "/.local/share/lunarvim/lvim")
+
+vim.opt.rtp:remove(home_dir .. "/.config/nvim")
+vim.opt.rtp:remove(home_dir .. "/.config/nvim/after")
+vim.opt.rtp:append(home_dir .. "/.config/lvim")
+vim.opt.rtp:append(home_dir .. "/.config/lvim/after")
+
+vim.opt.rtp:remove(home_dir .. "/.local/share/nvim/site")
+vim.opt.rtp:remove(home_dir .. "/.local/share/nvim/site/after")
+vim.opt.rtp:append(home_dir .. "/.local/share/lunarvim/site")
+vim.opt.rtp:append(home_dir .. "/.local/share/lunarvim/site/after")
+
+-- TODO: we need something like this: vim.opt.packpath = vim.opt.rtp
+vim.cmd [[let &packpath = &runtimepath]]
+-- }}}
 
 local function file_exists(name)
   local f = io.open(name, "r")

+ 3 - 1
utils/bin/lvim

@@ -1,3 +1,5 @@
 #!/bin/sh
 
-exec nvim -u ~/.local/share/lunarvim/lvim/init.lua --cmd "set runtimepath+=~/.local/share/lunarvim/lvim" "$@"
+LUNARVIM_RUNTIME_DIR=${LUNARVIM_RUNTIME_DIR:-"$HOME/.local/share/lunarvim"}
+
+exec nvim -u "$LUNARVIM_RUNTIME_DIR"/lvim/init.lua "$@"