From 1165861a38680c979a0c07690fbaa9e17a66b3c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=86=B7=E9=85=94=E9=96=91=E5=90=9F?= <50296129+Jint-lzxy@users.noreply.github.com> Date: Mon, 17 Jul 2023 19:43:04 +0800 Subject: [PATCH] perf!: consolidated updates to address performance issues (#868) * perf!: consolidated updates to address performance issues This fixes #866 and closes #867. * fixup! perf!: consolidated updates to address performance issues * revert: `nvim-bufdel` shall always be available (API calls) * feat(rainbow_delims): line detections for c/cpp --------- Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com> Co-authored-by: Layton --- lua/modules/configs/completion/lsp.lua | 2 ++ lua/modules/configs/completion/lspsaga.lua | 2 +- lua/modules/configs/editor/rainbow_delims.lua | 20 ++++++++++++++++++- lua/modules/plugins/completion.lua | 2 +- lua/modules/plugins/editor.lua | 6 +++--- lua/modules/plugins/tool.lua | 4 ++-- lua/modules/plugins/ui.lua | 4 ++-- 7 files changed, 30 insertions(+), 10 deletions(-) diff --git a/lua/modules/configs/completion/lsp.lua b/lua/modules/configs/completion/lsp.lua index 2bb53acd2..6bd0436c2 100644 --- a/lua/modules/configs/completion/lsp.lua +++ b/lua/modules/configs/completion/lsp.lua @@ -146,4 +146,6 @@ return function() local final_opts = vim.tbl_deep_extend("keep", _opts, opts) nvim_lsp.dartls.setup(final_opts) end + + vim.api.nvim_command([[LspStart]]) -- Start LSPs end diff --git a/lua/modules/configs/completion/lspsaga.lua b/lua/modules/configs/completion/lspsaga.lua index 92ddaae0c..47e2fb9ca 100644 --- a/lua/modules/configs/completion/lspsaga.lua +++ b/lua/modules/configs/completion/lspsaga.lua @@ -94,7 +94,7 @@ return function() in_select = false, auto_save = false, keys = { - quit = "", + quit = "", select = "x", exec = "", }, diff --git a/lua/modules/configs/editor/rainbow_delims.lua b/lua/modules/configs/editor/rainbow_delims.lua index 820c80f98..037a81397 100644 --- a/lua/modules/configs/editor/rainbow_delims.lua +++ b/lua/modules/configs/editor/rainbow_delims.lua @@ -1,7 +1,25 @@ return function() + local function init_strategy(check_lines) + return function() + local errors = 200 + vim.treesitter.get_parser():for_each_tree(function(lt) + if lt:root():has_error() and errors >= 0 then + errors = errors - 1 + end + end) + if errors < 0 then + return nil + end + return (check_lines and vim.fn.line("$") > 450) and require("rainbow-delimiters").strategy["global"] + or require("rainbow-delimiters").strategy["local"] + end + end + vim.g.rainbow_delimiters = { strategy = { - [""] = require("rainbow-delimiters").strategy["local"], + [""] = init_strategy(false), + c = init_strategy(true), + cpp = init_strategy(true), }, query = { [""] = "rainbow-delimiters", diff --git a/lua/modules/plugins/completion.lua b/lua/modules/plugins/completion.lua index 1a4d06632..759137bca 100644 --- a/lua/modules/plugins/completion.lua +++ b/lua/modules/plugins/completion.lua @@ -2,7 +2,7 @@ local completion = {} completion["neovim/nvim-lspconfig"] = { lazy = true, - event = { "BufReadPost", "BufAdd", "BufNewFile" }, + event = { "CursorHold", "CursorHoldI" }, config = require("completion.lsp"), dependencies = { { "williamboman/mason.nvim" }, diff --git a/lua/modules/plugins/editor.lua b/lua/modules/plugins/editor.lua index af5c0655b..5de346cad 100644 --- a/lua/modules/plugins/editor.lua +++ b/lua/modules/plugins/editor.lua @@ -36,11 +36,11 @@ editor["LunarVim/bigfile.nvim"] = { } editor["ojroques/nvim-bufdel"] = { lazy = true, - event = "BufReadPost", + event = "BufReadPre", } editor["rhysd/clever-f.vim"] = { lazy = true, - event = { "BufReadPost", "BufAdd", "BufNewFile" }, + event = { "CursorHold", "CursorHoldI" }, config = require("editor.cleverf"), } editor["numToStr/Comment.nvim"] = { @@ -87,7 +87,7 @@ editor["nvim-treesitter/nvim-treesitter"] = { vim.api.nvim_command("TSUpdate") end end, - event = "BufReadPre", + event = "BufReadPost", config = require("editor.treesitter"), dependencies = { { "nvim-treesitter/nvim-treesitter-textobjects" }, diff --git a/lua/modules/plugins/tool.lua b/lua/modules/plugins/tool.lua index 02f7ef2aa..5e7916d42 100644 --- a/lua/modules/plugins/tool.lua +++ b/lua/modules/plugins/tool.lua @@ -32,7 +32,7 @@ tool["michaelb/sniprun"] = { -- You need to cd to `~/.local/share/nvim/site/lazy/sniprun/` and execute `bash ./install.sh`, -- if you encountered error about no executable sniprun found. build = "bash ./install.sh", - cmd = { "SnipRun" }, + cmd = "SnipRun", config = require("tool.sniprun"), } tool["akinsho/toggleterm.nvim"] = { @@ -77,7 +77,7 @@ tool["nvim-telescope/telescope.nvim"] = { { "debugloop/telescope-undo.nvim" }, { "ahmedkhalf/project.nvim", - event = "BufReadPost", + event = { "CursorHold", "CursorHoldI" }, config = require("tool.project"), }, { "nvim-telescope/telescope-fzf-native.nvim", build = "make" }, diff --git a/lua/modules/plugins/ui.lua b/lua/modules/plugins/ui.lua index 4230ea31f..c6865acc2 100644 --- a/lua/modules/plugins/ui.lua +++ b/lua/modules/plugins/ui.lua @@ -48,7 +48,7 @@ ui["zbirenbaum/neodim"] = { } ui["karb94/neoscroll.nvim"] = { lazy = true, - event = "BufReadPost", + event = { "CursorHold", "CursorHoldI" }, config = require("ui.neoscroll"), } ui["shaunsingh/nord.nvim"] = { @@ -67,7 +67,7 @@ ui["folke/paint.nvim"] = { } ui["dstein64/nvim-scrollview"] = { lazy = true, - event = "BufReadPost", + event = { "BufReadPost", "BufAdd", "BufNewFile" }, config = require("ui.scrollview"), } ui["edluffy/specs.nvim"] = {