From 8de3f4e84c5f4c41db3b3142734929cc89ed5b45 Mon Sep 17 00:00:00 2001 From: siduck Date: Sun, 14 Nov 2021 06:49:33 +0530 Subject: [PATCH] restructure init.lua | lspconfig --- init.lua | 22 ++++++++++++++--- lua/core/custom.lua | 5 ---- lua/core/init.lua | 16 ------------ lua/core/utils.lua | 18 +++++++------- lua/plugins/configs/lspconfig.lua | 41 ++----------------------------- lua/plugins/configs/others.lua | 39 +++++++++++++++++++++++++++++ 6 files changed, 69 insertions(+), 72 deletions(-) delete mode 100644 lua/core/custom.lua delete mode 100644 lua/core/init.lua diff --git a/init.lua b/init.lua index 6ea9843..23322bd 100644 --- a/init.lua +++ b/init.lua @@ -1,5 +1,21 @@ -local ok, err = pcall(require, "core") +local userconf = pcall(require, "custom") -if not ok then - error("Error loading core" .. "\n\n" .. err) +if userconf then + require "custom" end + +local core_modules = { + "core.options", + "core.autocmds", + "core.mappings", +} + +for _, module in ipairs(core_modules) do + local ok, err = pcall(require, module) + if not ok then + error("Error loading " .. module .. "\n\n" .. err) + end +end + +-- non plugin mappings +require("core.mappings").misc() diff --git a/lua/core/custom.lua b/lua/core/custom.lua deleted file mode 100644 index 44c1696..0000000 --- a/lua/core/custom.lua +++ /dev/null @@ -1,5 +0,0 @@ -local moduleExists = pcall(require, "custom") - -if moduleExists then - require "custom" -end diff --git a/lua/core/init.lua b/lua/core/init.lua deleted file mode 100644 index 634087f..0000000 --- a/lua/core/init.lua +++ /dev/null @@ -1,16 +0,0 @@ -local core_modules = { - "core.custom", - "core.options", - "core.autocmds", - "core.mappings", -} - -for _, module in ipairs(core_modules) do - local ok, err = pcall(require, module) - if not ok then - error("Error loading " .. module .. "\n\n" .. err) - end -end - --- set all the non plugin mappings -require("core.mappings").misc() diff --git a/lua/core/utils.lua b/lua/core/utils.lua index d3e0df5..37ffa68 100644 --- a/lua/core/utils.lua +++ b/lua/core/utils.lua @@ -258,13 +258,13 @@ M.merge_table = function(into, from, nodes_to_replace) -- function that will be executed with loadstring local replace_fn = function(node) local base_fn = [[ -return function(table1, table2) - local t1, t2 = table1_node or false , table2_node or false - if t1 and t2 then - table1_node = table2_node - end - return table1 -end]] + return function(table1, table2) + local t1, t2 = table1_node or false , table2_node or false + if t1 and t2 then + table1_node = table2_node + end + return table1 + end]] -- replace the _node in base_fn to actual given node value local fn = base_fn:gsub("_node", node) @@ -374,9 +374,9 @@ M.override_req = function(name, default_req) result = result:sub(2) result = result:gsub("%)%.", "').", 1) return "require('" .. result - else - return "require('" .. result .. "')" end + + return "require('" .. result .. "')" end return M diff --git a/lua/plugins/configs/lspconfig.lua b/lua/plugins/configs/lspconfig.lua index 76fe1b0..391a9fb 100644 --- a/lua/plugins/configs/lspconfig.lua +++ b/lua/plugins/configs/lspconfig.lua @@ -50,48 +50,11 @@ capabilities.textDocument.completion.completionItem.resolveSupport = { }, } --- replace the default lsp diagnostic symbols -local function lspSymbol(name, icon) - vim.fn.sign_define("LspDiagnosticsSign" .. name, { text = icon, numhl = "LspDiagnosticsDefault" .. name }) -end - -lspSymbol("Error", "") -lspSymbol("Information", "") -lspSymbol("Hint", "") -lspSymbol("Warning", "") - -vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, { - virtual_text = { - prefix = "", - spacing = 0, - }, - signs = true, - underline = true, - update_in_insert = false, -- update diagnostics insert mode -}) -vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, { - border = "single", -}) -vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(vim.lsp.handlers.signature_help, { - border = "single", -}) - --- suppress error messages from lang servers -vim.notify = function(msg, log_level, _opts) - if msg:match "exit code" then - return - end - if log_level == vim.log.levels.ERROR then - vim.api.nvim_err_writeln(msg) - else - vim.api.nvim_echo({ { msg } }, true, {}) - end -end - -- requires a file containing user's lspconfigs - local addlsp_confs = require("core.utils").load_config().plugins.options.lspconfig.setup_lspconf if #addlsp_confs ~= 0 then require(addlsp_confs).setup_lsp(on_attach, capabilities) end + +require("plugins.configs.others").lsp_handlers() diff --git a/lua/plugins/configs/others.lua b/lua/plugins/configs/others.lua index af24c60..9a55fab 100644 --- a/lua/plugins/configs/others.lua +++ b/lua/plugins/configs/others.lua @@ -107,4 +107,43 @@ M.signature = function() end end +M.lsp_handlers = function() + local function lspSymbol(name, icon) + vim.fn.sign_define("LspDiagnosticsSign" .. name, { text = icon, numhl = "LspDiagnosticsDefault" .. name }) + end + + lspSymbol("Error", "") + lspSymbol("Information", "") + lspSymbol("Hint", "") + lspSymbol("Warning", "") + + vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, { + virtual_text = { + prefix = "", + spacing = 0, + }, + signs = true, + underline = true, + update_in_insert = false, -- update diagnostics insert mode + }) + vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, { + border = "single", + }) + vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(vim.lsp.handlers.signature_help, { + border = "single", + }) + + -- suppress error messages from lang servers + vim.notify = function(msg, log_level, _opts) + if msg:match "exit code" then + return + end + if log_level == vim.log.levels.ERROR then + vim.api.nvim_err_writeln(msg) + else + vim.api.nvim_echo({ { msg } }, true, {}) + end + end +end + return M