-
-
Notifications
You must be signed in to change notification settings - Fork 69
/
init.lua
53 lines (46 loc) · 1.47 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
if vim.fn.has('nvim-0.8') == 0 then
error('Need Neovim 0.8+ in order to use this config')
end
for _, cmd in ipairs({ "git", "rg", { "fd", "fdfind" } }) do
local name = type(cmd) == "string" and cmd or vim.inspect(cmd)
local commands = type(cmd) == "string" and { cmd } or cmd
---@cast commands string[]
local found = false
for _, c in ipairs(commands) do
if vim.fn.executable(c) == 1 then
name = c
found = true
end
end
if not found then
error(("`%s` is not installed"):format(name))
end
end
vim.opt.termguicolors = true -- enable 24-bit RGB colors
-- Disable annoying deprecated message
vim.deprecate = function() end
-- bootstrap lazy and all plugins
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
vim.fn.system(
{ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", -- latest stable release
lazypath })
end
vim.opt.rtp:prepend(lazypath)
-- Load default configurations and plugins
for _, source in ipairs({
"plugins",
"options",
"mappings",
"autocmds"
}) do
local ok, fault = pcall(require, source)
if not ok then
vim.api.nvim_err_writeln("Failed to load " .. source .. "\n\n" .. fault)
end
end
-- Load custom configurations
local exist, custom = pcall(require, "custom")
if exist and type(custom) == "table" and custom.configs then
custom.configs()
end