refactor : separate lspconfig setups

This commit is contained in:
siduck76 2021-09-30 09:51:00 +05:30
parent 0b55d45845
commit 1756c92609
4 changed files with 35 additions and 42 deletions

View file

@ -57,7 +57,7 @@ M.ui = {
-- these are plugin related options -- these are plugin related options
M.plugins = { M.plugins = {
-- enable and disable plugins (false for disable) -- enable and disable plugins (false for disable)
plugin_status = { status = {
autosave = false, -- to autosave files autosave = false, -- to autosave files
blankline = true, -- show code scope with symbols blankline = true, -- show code scope with symbols
bufferline = true, -- list open buffers up the top, easy switching too bufferline = true, -- list open buffers up the top, easy switching too
@ -76,7 +76,7 @@ M.plugins = {
}, },
options = { options = {
lspconfig = { lspconfig = {
servers = {}, -- eg: "html" setup_lspconf = "", -- path of file containing setups of different lsps
}, },
nvimtree = { nvimtree = {
enable_git = 0, enable_git = 0,

View file

@ -57,21 +57,6 @@ capabilities.textDocument.completion.completionItem.resolveSupport = {
}, },
} }
local servers = require("core.utils").load_config().plugins.options.lspconfig.servers
for _, lsp in ipairs(servers) do
nvim_lsp[lsp].setup {
on_attach = on_attach,
capabilities = capabilities,
-- root_dir = vim.loop.cwd,
flags = {
debounce_text_changes = 150,
},
}
end
-- require("anyfile").setup_luaLsp(on_attach, capabilities) -- this will be removed soon after the custom hooks PR
-- replace the default lsp diagnostic symbols -- replace the default lsp diagnostic symbols
local function lspSymbol(name, icon) local function lspSymbol(name, icon)
vim.fn.sign_define("LspDiagnosticsSign" .. name, { text = icon, numhl = "LspDiagnosticsDefault" .. name }) vim.fn.sign_define("LspDiagnosticsSign" .. name, { text = icon, numhl = "LspDiagnosticsDefault" .. name })
@ -113,3 +98,11 @@ vim.notify = function(msg, log_level, _opts)
vim.api.nvim_echo({ { msg } }, true, {}) vim.api.nvim_echo({ { msg } }, true, {})
end end
end end
-- requires a file containing user's lspconfigs
local addlsp_confs = require("core.utils").load_config().plugins.options.lspconfig.setup_lspconf
if string.len(addlsp_confs) ~= 0 then
require(addlsp_confs).setup_lsp(on_attach, capabilities)
end

View file

@ -11,7 +11,7 @@ vim.o.termguicolors = true
g.nvim_tree_add_trailing = 0 -- append a trailing slash to folder names g.nvim_tree_add_trailing = 0 -- append a trailing slash to folder names
g.nvim_tree_git_hl = git_status g.nvim_tree_git_hl = git_status
g.nvim_tree_gitignore = git_status g.nvim_tree_gitignore = 0
g.nvim_tree_hide_dotfiles = 0 g.nvim_tree_hide_dotfiles = 0
g.nvim_tree_highlight_opened_files = 0 g.nvim_tree_highlight_opened_files = 0
g.nvim_tree_indent_markers = 1 g.nvim_tree_indent_markers = 1

View file

@ -7,7 +7,7 @@ end
local use = packer.use local use = packer.use
return packer.startup(function() return packer.startup(function()
local plugin_status = require("core.utils").load_config().plugins.plugin_status local status = require("core.utils").load_config().plugins.status
-- FUNCTION: override_req, use `chadrc` plugin config override if present -- FUNCTION: override_req, use `chadrc` plugin config override if present
-- name = name inside `default_config` / `chadrc` -- name = name inside `default_config` / `chadrc`
@ -64,14 +64,14 @@ return packer.startup(function()
use { use {
"famiu/feline.nvim", "famiu/feline.nvim",
disable = not plugin_status.feline, disable = not status.feline,
after = "nvim-web-devicons", after = "nvim-web-devicons",
config = override_req("feline", "plugins.configs.statusline"), config = override_req("feline", "plugins.configs.statusline"),
} }
use { use {
"akinsho/bufferline.nvim", "akinsho/bufferline.nvim",
disable = not plugin_status.bufferline, disable = not status.bufferline,
after = "nvim-web-devicons", after = "nvim-web-devicons",
config = override_req("bufferline", "plugins.configs.bufferline"), config = override_req("bufferline", "plugins.configs.bufferline"),
setup = function() setup = function()
@ -81,14 +81,14 @@ return packer.startup(function()
use { use {
"lukas-reineke/indent-blankline.nvim", "lukas-reineke/indent-blankline.nvim",
disable = not plugin_status.blankline, disable = not status.blankline,
event = "BufRead", event = "BufRead",
config = override_req("indent_blankline", "(plugins.configs.others).blankline()"), config = override_req("indent_blankline", "(plugins.configs.others).blankline()"),
} }
use { use {
"norcalli/nvim-colorizer.lua", "norcalli/nvim-colorizer.lua",
disable = not plugin_status.colorizer, disable = not status.colorizer,
event = "BufRead", event = "BufRead",
config = override_req("nvim_colorizer", "(plugins.configs.others).colorizer()"), config = override_req("nvim_colorizer", "(plugins.configs.others).colorizer()"),
} }
@ -103,7 +103,7 @@ return packer.startup(function()
-- git stuff -- git stuff
use { use {
"lewis6991/gitsigns.nvim", "lewis6991/gitsigns.nvim",
disable = not plugin_status.gitsigns, disable = not status.gitsigns,
opt = true, opt = true,
config = override_req("gitsigns", "plugins.configs.gitsigns"), config = override_req("gitsigns", "plugins.configs.gitsigns"),
setup = function() setup = function()
@ -114,7 +114,7 @@ return packer.startup(function()
-- smooth scroll -- smooth scroll
use { use {
"karb94/neoscroll.nvim", "karb94/neoscroll.nvim",
disable = not plugin_status.neoscroll, disable = not status.neoscroll,
opt = true, opt = true,
config = override_req("neoscroll", "(plugins.configs.others).neoscroll()"), config = override_req("neoscroll", "(plugins.configs.others).neoscroll()"),
setup = function() setup = function()
@ -139,14 +139,14 @@ return packer.startup(function()
use { use {
"ray-x/lsp_signature.nvim", "ray-x/lsp_signature.nvim",
disable = not plugin_status.lspsignature, disable = not status.lspsignature,
after = "nvim-lspconfig", after = "nvim-lspconfig",
config = override_req("signature", "(plugins.configs.others).signature()"), config = override_req("signature", "(plugins.configs.others).signature()"),
} }
use { use {
"andymass/vim-matchup", "andymass/vim-matchup",
disable = not plugin_status.vim_matchup, disable = not status.vim_matchup,
opt = true, opt = true,
setup = function() setup = function()
require("core.utils").packer_lazy_load "vim-matchup" require("core.utils").packer_lazy_load "vim-matchup"
@ -155,7 +155,7 @@ return packer.startup(function()
-- load autosave only if its globally enabled -- load autosave only if its globally enabled
use { use {
disable = not plugin_status.autosave, disable = not status.autosave,
"Pocco81/AutoSave.nvim", "Pocco81/AutoSave.nvim",
config = override_req("autosave", "(plugins.configs.others).autosave()"), config = override_req("autosave", "(plugins.configs.others).autosave()"),
cond = function() cond = function()
@ -165,7 +165,7 @@ return packer.startup(function()
use { use {
"max397574/better-escape.nvim", "max397574/better-escape.nvim",
disable = not plugin_status.esc_insertmode, disable = not status.esc_insertmode,
event = "InsertEnter", event = "InsertEnter",
config = override_req("better_escape", "(plugins.configs.others).better_escape()"), config = override_req("better_escape", "(plugins.configs.others).better_escape()"),
} }
@ -174,20 +174,20 @@ return packer.startup(function()
use { use {
"rafamadriz/friendly-snippets", "rafamadriz/friendly-snippets",
disable = not plugin_status.cmp, disable = not status.cmp,
event = "InsertEnter", event = "InsertEnter",
} }
use { use {
"hrsh7th/nvim-cmp", "hrsh7th/nvim-cmp",
disable = not plugin_status.cmp, disable = not status.cmp,
after = "friendly-snippets", after = "friendly-snippets",
config = override_req("nvim_cmp", "plugins.configs.cmp"), config = override_req("nvim_cmp", "plugins.configs.cmp"),
} }
use { use {
"L3MON4D3/LuaSnip", "L3MON4D3/LuaSnip",
disable = not plugin_status.cmp, disable = not status.cmp,
wants = "friendly-snippets", wants = "friendly-snippets",
after = "nvim-cmp", after = "nvim-cmp",
config = override_req("luasnip", "(plugins.configs.others).luasnip()"), config = override_req("luasnip", "(plugins.configs.others).luasnip()"),
@ -195,44 +195,44 @@ return packer.startup(function()
use { use {
"saadparwaiz1/cmp_luasnip", "saadparwaiz1/cmp_luasnip",
disable = not plugin_status.cmp, disable = not status.cmp,
after = "LuaSnip", after = "LuaSnip",
} }
use { use {
"hrsh7th/cmp-nvim-lua", "hrsh7th/cmp-nvim-lua",
disable = not plugin_status.cmp, disable = not status.cmp,
after = "cmp_luasnip", after = "cmp_luasnip",
} }
use { use {
"hrsh7th/cmp-nvim-lsp", "hrsh7th/cmp-nvim-lsp",
disable = not plugin_status.cmp, disable = not status.cmp,
after = "cmp-nvim-lua", after = "cmp-nvim-lua",
} }
use { use {
"hrsh7th/cmp-buffer", "hrsh7th/cmp-buffer",
disable = not plugin_status.cmp, disable = not status.cmp,
after = "cmp-nvim-lsp", after = "cmp-nvim-lsp",
} }
use { use {
"hrsh7th/cmp-path", "hrsh7th/cmp-path",
disable = not plugin_status.cmp, disable = not status.cmp,
after = "cmp-buffer", after = "cmp-buffer",
} }
-- misc plugins -- misc plugins
use { use {
"windwp/nvim-autopairs", "windwp/nvim-autopairs",
disable = not plugin_status.cmp, disable = not status.cmp,
after = "nvim-cmp", after = "nvim-cmp",
config = override_req("nvim_autopairs", "(plugins.configs.others).autopairs()"), config = override_req("nvim_autopairs", "(plugins.configs.others).autopairs()"),
} }
use { use {
"glepnir/dashboard-nvim", "glepnir/dashboard-nvim",
disable = not plugin_status.dashboard, disable = not status.dashboard,
config = override_req("dashboard", "plugins.configs.dashboard"), config = override_req("dashboard", "plugins.configs.dashboard"),
setup = function() setup = function()
require("core.mappings").dashboard() require("core.mappings").dashboard()
@ -241,7 +241,7 @@ return packer.startup(function()
use { use {
"terrortylor/nvim-comment", "terrortylor/nvim-comment",
disable = not plugin_status.comment, disable = not status.comment,
cmd = "CommentToggle", cmd = "CommentToggle",
config = override_req("nvim_comment", "(plugins.configs.others).comment()"), config = override_req("nvim_comment", "(plugins.configs.others).comment()"),
setup = function() setup = function()
@ -270,7 +270,7 @@ return packer.startup(function()
}, },
{ {
"nvim-telescope/telescope-media-files.nvim", "nvim-telescope/telescope-media-files.nvim",
disable = not plugin_status.telescope_media, disable = not status.telescope_media,
setup = function() setup = function()
require("core.mappings").telescope_media() require("core.mappings").telescope_media()
end, end,
@ -284,7 +284,7 @@ return packer.startup(function()
use { use {
"Pocco81/TrueZen.nvim", "Pocco81/TrueZen.nvim",
disable = not plugin_status.truezen, disable = not status.truezen,
cmd = { cmd = {
"TZAtaraxis", "TZAtaraxis",
"TZMinimalist", "TZMinimalist",