Added support for modifying specific key values in default configs via chadrc to all plugin configurations with setup table(s)

This commit is contained in:
zbirenbaum 2022-01-20 19:26:05 -05:00 committed by siduck
parent cf7f8a557a
commit c3beea11ee
7 changed files with 137 additions and 39 deletions

View file

@ -5,7 +5,9 @@ if not present then
return return
end end
bufferline.setup { local M = {}
local chad_defaults = {
options = { options = {
offsets = { { filetype = "NvimTree", text = "", padding = 1 } }, offsets = { { filetype = "NvimTree", text = "", padding = 1 } },
buffer_close_icon = "", buffer_close_icon = "",
@ -135,3 +137,12 @@ bufferline.setup {
}, },
}, },
} }
M.setup = function(override_flag)
if override_flag then
chad_defaults = require("core.utils").tbl_override_req("bufferline", chad_defaults)
end
bufferline.setup(chad_defaults)
end
return M

View file

@ -4,9 +4,11 @@ if not present then
return return
end end
local M = {}
vim.opt.completeopt = "menuone,noselect" vim.opt.completeopt = "menuone,noselect"
cmp.setup { local chad_defaults = {
snippet = { snippet = {
expand = function(args) expand = function(args)
require("luasnip").lsp_expand(args.body) require("luasnip").lsp_expand(args.body)
@ -64,3 +66,12 @@ cmp.setup {
{ name = "path" }, { name = "path" },
}, },
} }
M.setup = function (override_flag)
if override_flag then
chad_defaults = require("core.utils").tbl_override_req("nvim_cmp", chad_defaults)
end
cmp.setup(chad_defaults)
end
return M

View file

@ -3,9 +3,11 @@ if not present then
return return
end end
local M = {}
local colors = require("colors").get() local colors = require("colors").get()
icons.setup { local chad_defaults = {
override = { override = {
c = { c = {
icon = "", icon = "",
@ -142,5 +144,15 @@ icons.setup {
color = colors.sun, color = colors.sun,
name = "zip", name = "zip",
}, },
}, }
} }
M.setup = function(override_flag)
if override_flag then
chad_defaults = require("core.utils").tbl_override_req("nvim_web_devicons", chad_defaults)
end
icons.setup(chad_defaults)
end
return M

View file

@ -51,7 +51,7 @@ g.nvim_tree_icons = {
}, },
} }
nvimtree.setup { local chad_defaults = {
filters = { filters = {
dotfiles = false, dotfiles = false,
}, },
@ -71,3 +71,12 @@ nvimtree.setup {
ignore = false, ignore = false,
}, },
} }
M.setup = function (override_flag)
if override_flag then
chad_defaults = require("core.utils").tbl_override_req("nvim_tree", chad_defaults)
end
nvimtree.setup(chad_defaults)
end
return M

View file

@ -2,12 +2,16 @@ local M = {}
local chadrc_config = require("core.utils").load_config() local chadrc_config = require("core.utils").load_config()
M.autopairs = function() M.autopairs = function(override_flag)
local present1, autopairs = pcall(require, "nvim-autopairs") local present1, autopairs = pcall(require, "nvim-autopairs")
local present2, cmp_autopairs = pcall(require, "nvim-autopairs.completion.cmp") local present2, cmp_autopairs = pcall(require, "nvim-autopairs.completion.cmp")
if present1 and present2 then if present1 and present2 then
autopairs.setup({fast_wrap = {}}) local chad_defaults = {fast_wrap = {}}
if override_flag then
chad_defaults = require("core.utils").tbl_override_req("nvim_autopairs", chad_defaults)
end
autopairs.setup(chad_defaults)
local cmp = require "cmp" local cmp = require "cmp"
cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done()) cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done())
@ -21,8 +25,8 @@ M.better_escape = function()
} }
end end
M.blankline = function() M.blankline = function(override_flag)
require("indent_blankline").setup { local chad_defaults = {
indentLine_enabled = 1, indentLine_enabled = 1,
char = "", char = "",
filetype_exclude = { filetype_exclude = {
@ -40,52 +44,72 @@ M.blankline = function()
show_trailing_blankline_indent = false, show_trailing_blankline_indent = false,
show_first_indent_level = false, show_first_indent_level = false,
} }
if override_flag then
chad_defaults = require("core.utils").tbl_override_req("indent_blankline", chad_defaults)
end
require("indent_blankline").setup(chad_defaults)
end end
M.colorizer = function() M.colorizer = function(override_flag)
local present, colorizer = pcall(require, "colorizer") local present, colorizer = pcall(require, "colorizer")
if present then if present then
colorizer.setup({ "*" }, { local chad_defaults = {
RGB = true, -- #RGB hex codes filetypes = {
RRGGBB = true, -- #RRGGBB hex codes "*"
names = false, -- "Name" codes like Blue },
RRGGBBAA = false, -- #RRGGBBAA hex codes user_default_options = {
rgb_fn = false, -- CSS rgb() and rgba() functions RGB = true, -- #RGB hex codes
hsl_fn = false, -- CSS hsl() and hsla() functions RRGGBB = true, -- #RRGGBB hex codes
css = false, -- Enable all CSS features: rgb_fn, hsl_fn, names, RGB, RRGGBB names = false, -- "Name" codes like Blue
css_fn = false, -- Enable all CSS *functions*: rgb_fn, hsl_fn RRGGBBAA = false, -- #RRGGBBAA hex codes
rgb_fn = false, -- CSS rgb() and rgba() functions
hsl_fn = false, -- CSS hsl() and hsla() functions
css = false, -- Enable all CSS features: rgb_fn, hsl_fn, names, RGB, RRGGBB
css_fn = false, -- Enable all CSS *functions*: rgb_fn, hsl_fn
-- Available modes: foreground, background -- Available modes: foreground, background
mode = "background", -- Set the display mode. mode = "background", -- Set the display mode.
}) },
}
if override_flag then
chad_defaults = require("core.utils").tbl_override_req("nvim_colorizer", chad_defaults)
end
colorizer.setup(chad_defaults["filetypes"], chad_defaults["user_default_options"])
vim.cmd "ColorizerReloadAllBuffers" vim.cmd "ColorizerReloadAllBuffers"
end end
end end
M.comment = function() M.comment = function(override_flag)
local present, nvim_comment = pcall(require, "Comment") local present, nvim_comment = pcall(require, "Comment")
if present then if present then
nvim_comment.setup() local chad_defaults = {}
if override_flag then
chad_defaults = require("core.utils").tbl_override_req("nvim_comment", chad_defaults)
end
nvim_comment.setup(chad_defaults)
end end
end end
M.luasnip = function() M.luasnip = function(override_flag)
local present, luasnip = pcall(require, "luasnip") local present, luasnip = pcall(require, "luasnip")
if present then if present then
luasnip.config.set_config { local chad_defaults = {
history = true, history = true,
updateevents = "TextChanged,TextChangedI", updateevents = "TextChanged,TextChangedI",
} }
if override_flag then
chad_defaults = require("core.utils").tbl_override_req("luasnip", chad_defaults)
end
luasnip.config.set_config(chad_defaults)
require("luasnip/loaders/from_vscode").load { paths = chadrc_config.plugins.options.luasnip.snippet_path } require("luasnip/loaders/from_vscode").load { paths = chadrc_config.plugins.options.luasnip.snippet_path }
require("luasnip/loaders/from_vscode").load() require("luasnip/loaders/from_vscode").load()
end end
end end
M.signature = function() M.signature = function(override_flag)
local present, lspsignature = pcall(require, "lsp_signature") local present, lspsignature = pcall(require, "lsp_signature")
if present then if present then
lspsignature.setup { local chad_defaults = {
bind = true, bind = true,
doc_lines = 0, doc_lines = 0,
floating_window = true, floating_window = true,
@ -102,6 +126,10 @@ M.signature = function()
zindex = 200, -- by default it will be on top of all floating windows, set to 50 send it to bottom zindex = 200, -- by default it will be on top of all floating windows, set to 50 send it to bottom
padding = "", -- character to pad on left and right of signature can be ' ', or '|' etc padding = "", -- character to pad on left and right of signature can be ' ', or '|' etc
} }
if override_flag then
chad_defaults = require("core.utils").tbl_override_req("signature", chad_defaults)
end
lspsignature.setup(chad_defaults)
end end
end end
@ -145,10 +173,10 @@ M.lsp_handlers = function()
end end
end end
M.gitsigns = function() M.gitsigns = function(override_flag)
local present, gitsigns = pcall(require, "gitsigns") local present, gitsigns = pcall(require, "gitsigns")
if present then if present then
gitsigns.setup { local chad_defaults = {
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" },
@ -157,6 +185,10 @@ M.gitsigns = function()
changedelete = { hl = "DiffChangeDelete", text = "~", numhl = "GitSignsChangeNr" }, changedelete = { hl = "DiffChangeDelete", text = "~", numhl = "GitSignsChangeNr" },
}, },
} }
if override_flag then
chad_defaults = require("core.utils").tbl_override_req("gitsigns", chad_defaults)
end
gitsigns.setup(chad_defaults)
end end
end end

View file

@ -4,7 +4,9 @@ if not present then
return return
end end
telescope.setup { local M = {}
local chad_defaults = {
defaults = { defaults = {
vimgrep_arguments = { vimgrep_arguments = {
"rg", "rg",
@ -53,10 +55,20 @@ telescope.setup {
}, },
} }
local extensions = { "themes", "terms" } function M.setup(override_flag)
if override_flag then
pcall(function() chad_defaults = require("core.utils").tbl_override_req("telescope", chad_defaults)
for _, ext in ipairs(extensions) do
telescope.load_extension(ext)
end end
end)
telescope.setup(chad_defaults)
local extensions = { "themes", "terms" }
pcall(function()
for _, ext in ipairs(extensions) do
telescope.load_extension(ext)
end
end)
end
return M

View file

@ -4,7 +4,9 @@ if not present then
return return
end end
ts_config.setup { local M = {}
local chad_defaults = {
ensure_installed = { ensure_installed = {
"lua", "lua",
"vim", "vim",
@ -14,3 +16,12 @@ ts_config.setup {
use_languagetree = true, use_languagetree = true,
}, },
} }
M.setup = function (override_flag)
if override_flag then
chad_defaults = require("core.utils").tbl_override_req("nvim_treesitter", chad_defaults)
end
ts_config.setup(chad_defaults)
end
return M