-
Notifications
You must be signed in to change notification settings - Fork 0
/
init.lua
64 lines (51 loc) · 2.26 KB
/
init.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
do
-- Specifies where to install/use rocks.nvim
local install_location = vim.fs.joinpath(vim.fn.stdpath('data'), 'rocks')
local luarocks_path = vim.fn.exepath('luarocks')
-- Set up configuration options related to rocks.nvim (recommended to leave as default)
local rocks_config = {
rocks_path = vim.fs.normalize(install_location),
luarocks_binary = luarocks_path,
}
vim.g.rocks_nvim = rocks_config
-- Configure the package path (so that plugin code can be found)
local luarocks_path = {
vim.fs.joinpath(rocks_config.rocks_path, 'share', 'lua', '5.1', '?.lua'),
vim.fs.joinpath(rocks_config.rocks_path, 'share', 'lua', '5.1', '?', 'init.lua'),
}
package.path = package.path .. ';' .. table.concat(luarocks_path, ';')
-- Configure the C path (so that e.g. tree-sitter parsers can be found)
local luarocks_cpath = {
vim.fs.joinpath(rocks_config.rocks_path, 'lib', 'lua', '5.1', '?.so'),
vim.fs.joinpath(rocks_config.rocks_path, 'lib64', 'lua', '5.1', '?.so'),
}
package.cpath = package.cpath .. ';' .. table.concat(luarocks_cpath, ';')
-- Load all installed plugins, including rocks.nvim itself
vim.opt.runtimepath:append(
vim.fs.joinpath(rocks_config.rocks_path, 'lib', 'luarocks', 'rocks-5.1', 'rocks.nvim', '*')
)
end
-- If rocks.nvim is not installed then install it!
if not pcall(require, 'rocks') then
local rocks_location = vim.fs.joinpath(vim.fn.stdpath('cache'), 'rocks.nvim')
if not vim.uv.fs_stat(rocks_location) then
-- Pull down rocks.nvim
vim.fn.system({
'git',
'clone',
'--filter=blob:none',
'https://github.com/nvim-neorocks/rocks.nvim',
rocks_location,
})
end
-- If the clone was successful then source the bootstrapping script
assert(vim.v.shell_error == 0, 'rocks.nvim installation failed. Try exiting and re-entering Neovim!')
vim.cmd.source(vim.fs.joinpath(rocks_location, 'bootstrap.lua'))
vim.fn.delete(rocks_location, 'rf')
end
local fmt = string.format
local success, _ = pcall(require, 'settings')
if not success then
vim.notify(fmt('Error loading settings: %s', vim.inspect(success)), vim.log.levels.WARN)
end
require('mappings')