forked from ntk148v/neovim-config
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinit.lua
More file actions
50 lines (43 loc) · 1.47 KB
/
init.lua
File metadata and controls
50 lines (43 loc) · 1.47 KB
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
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