[1/4] Refactor: plugins: Add seperate config for each plugins

first commit of Refactor

handle require errors

move config from other places to proper files

don't create a pseudo config function for no reason

https://github.com/siduck76/NvChad/pull/156#issuecomment-881453546
This commit is contained in:
Akianonymus 2021-07-15 21:13:17 +05:30
parent 0d7345bc44
commit d16ffabcfd
19 changed files with 847 additions and 725 deletions

19
lua/plugins/autopairs.lua Normal file
View File

@ -0,0 +1,19 @@
local autopairs, autopairs_completion
if
not pcall(
function()
autopairs = require "nvim-autopairs"
autopairs_completion = require "nvim-autopairs.completion.compe"
end
)
then
return
end
autopairs.setup()
autopairs_completion.setup(
{
map_cr = true,
map_complete = true -- insert () func completion
}
)

27
lua/plugins/autosave.lua Normal file
View File

@ -0,0 +1,27 @@
-- autosave.nvim plugin disabled by default
local autosave
if
not pcall(
function()
func = require "autosave"
end
)
then
return
end
autosave.setup(
{
enabled = vim.g.auto_save, -- takes boolean value from init.lua
execution_message = "autosaved at : " .. vim.fn.strftime("%H:%M:%S"),
events = {"InsertLeave", "TextChanged"},
conditions = {
exists = true,
filetype_is_not = {},
modifiable = true
},
write_all_buffers = true,
on_off_commands = true,
clean_command_line_interval = 2500
}
)

View File

@ -0,0 +1,9 @@
-- blankline config
vim.g.indentLine_enabled = 1
vim.g.indent_blankline_char = ""
vim.g.indent_blankline_filetype_exclude = {"help", "terminal", "dashboard"}
vim.g.indent_blankline_buftype_exclude = {"terminal"}
vim.g.indent_blankline_show_trailing_blankline_indent = false
vim.g.indent_blankline_show_first_indent_level = false

View File

@ -1,7 +1,18 @@
local global_theme = "themes/" .. vim.g.nvchad_theme local global_theme = "themes/" .. vim.g.nvchad_theme
local colors = require(global_theme) local colors = require(global_theme)
require "bufferline".setup { local bufferline
if
not pcall(
function()
bufferline = require "bufferline"
end
)
then
return
end
bufferline.setup {
options = { options = {
offsets = {{filetype = "NvimTree", text = "", padding = 1}}, offsets = {{filetype = "NvimTree", text = "", padding = 1}},
buffer_close_icon = "", buffer_close_icon = "",

13
lua/plugins/colorizer.lua Normal file
View File

@ -0,0 +1,13 @@
local colorizer
if
not pcall(
function()
colorizer = require("colorizer")
end
)
then
return
end
colorizer.setup()
vim.cmd("ColorizerReloadAllBuffers")

5
lua/plugins/comment.lua Normal file
View File

@ -0,0 +1,5 @@
pcall(
function()
require("nvim_comment").setup()
end
)

View File

@ -1,7 +1,15 @@
local M = {} local compe
if
not pcall(
function()
compe = require "compe"
end
)
then
return
end
M.config = function() compe.setup {
require "compe".setup {
enabled = true, enabled = true,
autocomplete = true, autocomplete = true,
debug = false, debug = false,
@ -21,18 +29,3 @@ M.config = function()
nvim_lua = true nvim_lua = true
} }
} }
end
M.snippets = function()
local ls = require("luasnip")
ls.config.set_config(
{
history = true,
updateevents = "TextChanged,TextChangedI"
}
)
require("luasnip/loaders/from_vscode").load()
end
return M

View File

@ -1,6 +1,3 @@
local M = {}
M.config = function()
local g = vim.g local g = vim.g
local fn = vim.fn local fn = vim.fn
@ -41,6 +38,3 @@ M.config = function()
-- "NvChad Loaded " .. plugins_count .. " plugins", -- "NvChad Loaded " .. plugins_count .. " plugins",
"NvChad v0.5" "NvChad v0.5"
} }
end
return M

View File

@ -1,7 +1,15 @@
local M = {} local gitsigns
if
not pcall(
function()
gitsigns = require "gitsigns"
end
)
then
return
end
M.config = function() gitsigns.setup {
require("gitsigns").setup {
signs = { signs = {
add = {hl = "DiffAdd", text = "", numhl = "GitSignsAddNr"}, add = {hl = "DiffAdd", text = "", numhl = "GitSignsAddNr"},
change = {hl = "DiffChange", text = "", numhl = "GitSignsChangeNr"}, change = {hl = "DiffChange", text = "", numhl = "GitSignsChangeNr"},
@ -28,6 +36,3 @@ M.config = function()
sign_priority = 5, sign_priority = 5,
status_formatter = nil -- Use default status_formatter = nil -- Use default
} }
end
return M

View File

@ -1,10 +1,18 @@
local M = {} local icons
if
not pcall(
function()
icons = require "nvim-web-devicons"
end
)
then
return
end
M.config = function()
local global_theme = "themes/" .. vim.g.nvchad_theme local global_theme = "themes/" .. vim.g.nvchad_theme
local colors = require(global_theme) local colors = require(global_theme)
require "nvim-web-devicons".setup { icons.setup {
override = { override = {
html = { html = {
icon = "", icon = "",
@ -118,6 +126,3 @@ M.config = function()
} }
} }
} }
end
return M

View File

@ -1,7 +1,14 @@
local M = {} local lspconfig, lspinstall
if
M.config = function() not pcall(
local lspconf = require("lspconfig") function()
lspconfig = require "lspconfig"
lspinstall = require "lspinstall"
end
)
then
return
end
local function on_attach(client, bufnr) local function on_attach(client, bufnr)
vim.api.nvim_buf_set_option(bufnr, "omnifunc", "v:lua.vim.lsp.omnifunc") vim.api.nvim_buf_set_option(bufnr, "omnifunc", "v:lua.vim.lsp.omnifunc")
@ -44,18 +51,18 @@ M.config = function()
-- lspInstall + lspconfig stuff -- lspInstall + lspconfig stuff
local function setup_servers() local function setup_servers()
require "lspinstall".setup() lspinstall.setup()
local servers = require "lspinstall".installed_servers() local servers = lspinstall.installed_servers()
for _, lang in pairs(servers) do for _, lang in pairs(servers) do
if lang ~= "lua" then if lang ~= "lua" then
lspconf[lang].setup { lspconfig[lang].setup {
on_attach = on_attach, on_attach = on_attach,
capabilities = capabilities, capabilities = capabilities,
root_dir = vim.loop.cwd root_dir = vim.loop.cwd
} }
elseif lang == "lua" then elseif lang == "lua" then
lspconf[lang].setup { lspconfig[lang].setup {
root_dir = vim.loop.cwd, root_dir = vim.loop.cwd,
settings = { settings = {
Lua = { Lua = {
@ -83,7 +90,7 @@ M.config = function()
setup_servers() setup_servers()
-- Automatically reload after `:LspInstall <server>` so we don't have to restart neovim -- Automatically reload after `:LspInstall <server>` so we don't have to restart neovim
require "lspinstall".post_install_hook = function() lspinstall.post_install_hook = function()
setup_servers() -- reload installed servers setup_servers() -- reload installed servers
vim.cmd("bufdo e") -- triggers FileType autocmd that starts the server vim.cmd("bufdo e") -- triggers FileType autocmd that starts the server
end end
@ -93,6 +100,3 @@ M.config = function()
vim.fn.sign_define("LspDiagnosticsSignWarning", {text = "", numhl = "LspDiagnosticsDefaultWarning"}) vim.fn.sign_define("LspDiagnosticsSignWarning", {text = "", numhl = "LspDiagnosticsDefaultWarning"})
vim.fn.sign_define("LspDiagnosticsSignInformation", {text = "", numhl = "LspDiagnosticsDefaultInformation"}) vim.fn.sign_define("LspDiagnosticsSignInformation", {text = "", numhl = "LspDiagnosticsDefaultInformation"})
vim.fn.sign_define("LspDiagnosticsSignHint", {text = "", numhl = "LspDiagnosticsDefaultHint"}) vim.fn.sign_define("LspDiagnosticsSignHint", {text = "", numhl = "LspDiagnosticsDefaultHint"})
end
return M

5
lua/plugins/lspkind.lua Normal file
View File

@ -0,0 +1,5 @@
pcall(
function()
require("lspkind").init()
end
)

18
lua/plugins/luasnip.lua Normal file
View File

@ -0,0 +1,18 @@
local luasnip
if
not pcall(
function()
luasnip = require "luasnip"
end
)
then
return
end
luasnip.config.set_config(
{
history = true,
updateevents = "TextChanged,TextChangedI"
}
)
require("luasnip/loaders/from_vscode").load()

View File

@ -0,0 +1,5 @@
pcall(
function()
require("neoscroll").setup()
end
)

View File

@ -1,6 +1,14 @@
local M = {} local tree_cb
if
not pcall(
function()
tree_cb = require "nvim-tree.config".nvim_tree_callback
end
)
then
return
end
M.config = function()
local g = vim.g local g = vim.g
vim.o.termguicolors = true vim.o.termguicolors = true
@ -57,8 +65,6 @@ M.config = function()
} }
} }
local tree_cb = require "nvim-tree.config".nvim_tree_callback
g.nvim_tree_bindings = { g.nvim_tree_bindings = {
{key = {"<CR>", "o", "<2-LeftMouse>"}, cb = tree_cb("edit")}, {key = {"<CR>", "o", "<2-LeftMouse>"}, cb = tree_cb("edit")},
{key = {"<2-RightMouse>", "<C-}>"}, cb = tree_cb("cd")}, {key = {"<2-RightMouse>", "<C-}>"}, cb = tree_cb("cd")},
@ -92,6 +98,3 @@ M.config = function()
{key = "q", cb = tree_cb("close")}, {key = "q", cb = tree_cb("close")},
{key = "g?", cb = tree_cb("toggle_help")} {key = "g?", cb = tree_cb("toggle_help")}
} }
end
return M

View File

@ -1,9 +1,16 @@
local M = {} local gl, condition
if
not pcall(
function()
gl = require "galaxyline"
condition = require "galaxyline.condition"
end
)
then
return
end
M.config = function()
local gl = require("galaxyline")
local gls = gl.section local gls = gl.section
local condition = require("galaxyline.condition")
gl.short_line_list = {" "} gl.short_line_list = {" "}
@ -208,5 +215,3 @@ M.config = function()
highlight = {colors.green, colors.lightbg} highlight = {colors.green, colors.lightbg}
} }
} }
end
return M

View File

@ -1,7 +1,16 @@
local M = {} local telescope
if
not pcall(
function()
telescope = require("telescope")
end
)
then
return
end
M.config = function() telescope.setup(
require("telescope").setup { {
defaults = { defaults = {
vimgrep_arguments = { vimgrep_arguments = {
"rg", "rg",
@ -32,9 +41,9 @@ M.config = function()
height = 0.80, height = 0.80,
preview_cutoff = 120 preview_cutoff = 120
}, },
file_sorter = require "telescope.sorters".get_fuzzy_file, file_sorter = require("telescope.sorters").get_fuzzy_file,
file_ignore_patterns = {}, file_ignore_patterns = {},
generic_sorter = require "telescope.sorters".get_generic_fuzzy_sorter, generic_sorter = require("telescope.sorters").get_generic_fuzzy_sorter,
path_display = shorten, path_display = shorten,
winblend = 0, winblend = 0,
border = {}, border = {},
@ -42,11 +51,11 @@ M.config = function()
color_devicons = true, color_devicons = true,
use_less = true, use_less = true,
set_env = {["COLORTERM"] = "truecolor"}, -- default = nil, set_env = {["COLORTERM"] = "truecolor"}, -- default = nil,
file_previewer = require "telescope.previewers".vim_buffer_cat.new, file_previewer = require("telescope.previewers").vim_buffer_cat.new,
grep_previewer = require "telescope.previewers".vim_buffer_vimgrep.new, grep_previewer = require("telescope.previewers").vim_buffer_vimgrep.new,
qflist_previewer = require "telescope.previewers".vim_buffer_qflist.new, qflist_previewer = require("telescope.previewers").vim_buffer_qflist.new,
-- Developer configurations: Not meant for general override -- Developer configurations: Not meant for general override
buffer_previewer_maker = require "telescope.previewers".buffer_previewer_maker buffer_previewer_maker = require("telescope.previewers").buffer_previewer_maker
}, },
extensions = { extensions = {
fzf = { fzf = {
@ -62,9 +71,16 @@ M.config = function()
} }
} }
} }
)
require("telescope").load_extension("fzf") if
require("telescope").load_extension("media_files") not pcall(
function()
telescope.load_extension("fzf")
telescope.load_extension("media_files")
end
)
then
-- This should only trigger when in need of PackerSync, so better do it
vim.cmd("PackerSync")
end end
return M

View File

@ -1,7 +1,13 @@
local M = {} local ts_config
if
M.config = function() not pcall(
local ts_config = require("nvim-treesitter.configs") function()
ts_config = require "nvim-treesitter.configs"
end
)
then
return
end
ts_config.setup { ts_config.setup {
ensure_installed = { ensure_installed = {
@ -20,6 +26,3 @@ M.config = function()
use_languagetree = true use_languagetree = true
} }
} }
end
return M

View File

@ -1,9 +1,15 @@
-- plugins made by @Pocco81 =) -- plugins made by @Pocco81 =)
local M = {} local true_zen
if
M.config = function() not pcall(
local true_zen = require("true-zen") function()
true_zen = require "true-zen"
end
)
then
return
end
true_zen.setup( true_zen.setup(
{ {
@ -55,27 +61,3 @@ M.config = function()
} }
} }
) )
end
-- autosave.nvim plugin disabled by default
M.autoSave = function()
local autosave = require("autosave")
autosave.setup(
{
enabled = vim.g.auto_save, -- takes boolean value from init.lua
execution_message = "autosaved at : " .. vim.fn.strftime("%H:%M:%S"),
events = {"InsertLeave", "TextChanged"},
conditions = {
exists = true,
filetype_is_not = {},
modifiable = true
},
write_all_buffers = true,
on_off_commands = true,
clean_command_line_interval = 2500
}
)
end
return M