[neovim] Add .vim in a top level of a git repo to runtimepath if it exists
This commit is contained in:
parent
9c31db5929
commit
e779607c5f
1 changed files with 51 additions and 3 deletions
|
@ -1,12 +1,60 @@
|
|||
-- Eryn Wells <eryn@erynwells.me>
|
||||
|
||||
require "os"
|
||||
|
||||
function gitTopLevelDirectory()
|
||||
local handle = io.popen("git rev-parse --show-toplevel")
|
||||
local gitRepoTopLevelDirectoryPath = vim.fn.trim(handle:read("*a"))
|
||||
handle:close()
|
||||
return gitRepoTopLevelDirectoryPath
|
||||
end
|
||||
|
||||
local function _addPathToRuntimePath(path, options)
|
||||
if string.len(path) == 0 then
|
||||
return
|
||||
end
|
||||
|
||||
if vim.fn.isdirectory(path) == 1 then
|
||||
if options.prepend then
|
||||
vim.opt.runtimepath:prepend(path)
|
||||
else
|
||||
vim.opt.runtimepath:append(path)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function addGitTopLevelDirectoryToRuntimePath()
|
||||
local gitTopLevelPath = gitTopLevelDirectory()
|
||||
if string.len(gitTopLevelPath) == 0 then
|
||||
return
|
||||
end
|
||||
|
||||
local repoVimPath = gitTopLevelPath .. "/.vim"
|
||||
if vim.fn.isdirectory(repoVimPath) == 1 then
|
||||
vim.opt.runtimepath:prepend(repoVimPath)
|
||||
end
|
||||
local repoNvimPath = gitTopLevelPath .. "/.nvim"
|
||||
if vim.fn.isdirectory(repoNvimPath) == 1 then
|
||||
vim.opt.runtimepath:prepend(repoNvimPath)
|
||||
end
|
||||
|
||||
local repoVimAfterPath = gitTopLevelPath .. "/.nvim/after"
|
||||
if vim.fn.isdirectory(repoVimAfterPath) == 1 then
|
||||
vim.opt.runtimepath:append(repoVimAfterPath)
|
||||
end
|
||||
local repoNvimAfterPath = gitTopLevelPath .. "/.vim/after"
|
||||
if vim.fn.isdirectory(repoNvimAfterPath) == 1 then
|
||||
vim.opt.runtimepath:append(repoNvimAfterPath)
|
||||
end
|
||||
end
|
||||
|
||||
addGitTopLevelDirectoryToRuntimePath()
|
||||
|
||||
vim.cmd [[
|
||||
source ~/.vimrc.common
|
||||
source ~/.vim/plugins.vim
|
||||
source ~/.vim/plugins.vim
|
||||
]]
|
||||
|
||||
require 'os'
|
||||
|
||||
require "configuration"
|
||||
require "colors"
|
||||
require "keys"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue