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 1/3] 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"] = { From c75a52af3a842302ae4f56438945859b2de476e6 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 18 Jul 2023 02:15:15 +0000 Subject: [PATCH 2/3] chore(lockfile): auto update lazy-lock.json --- lazy-lock.json | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/lazy-lock.json b/lazy-lock.json index 1e36a614b..9f25ecd62 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -2,12 +2,12 @@ "Comment.nvim": { "branch": "master", "commit": "176e85eeb63f1a5970d6b88f1725039d85ca0055" }, "LuaSnip": { "branch": "master", "commit": "45a4e899ca8f54936fe32ead6bba65f2a8d42e12" }, "accelerated-jk.nvim": { "branch": "main", "commit": "8fb5dad4ccc1811766cebf16b544038aeeb7806f" }, - "alpha-nvim": { "branch": "main", "commit": "9e33db324b8bb7a147bce9ea5496686ee859461d" }, + "alpha-nvim": { "branch": "main", "commit": "e4fc5e29b731bdf55d204c5c6a11dc3be70f3b65" }, "autoclose.nvim": { "branch": "main", "commit": "469782b0456f0b4f764378ffda94c18599544e09" }, "better-escape.nvim": { "branch": "master", "commit": "7031dc734add47bb71c010e0551829fa5799375f" }, "bigfile.nvim": { "branch": "main", "commit": "9616b73670ffeb92679677554ded88854ae42cf8" }, - "bufferline.nvim": { "branch": "main", "commit": "cd27a52ecdfed7f14a41b61b7976f155e3d593c7" }, - "catppuccin": { "branch": "refactor/syntax-highlighting", "commit": "aee0f54a7d3c032312d15eff5f34a5e5eb2f2eab" }, + "bufferline.nvim": { "branch": "main", "commit": "09b18b89ad2a2c2258a10bc06747f01bc1a42d0d" }, + "catppuccin": { "branch": "refactor/syntax-highlighting", "commit": "1f76a94691b509acb4bf000cd85ba285c4df1c02" }, "clever-f.vim": { "branch": "master", "commit": "6a3ac5e3688598af9411ab741737f98c47370c22" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-latex-symbols": { "branch": "main", "commit": "165fb66afdbd016eaa1570e41672c4c557b57124" }, @@ -26,17 +26,17 @@ "diffview.nvim": { "branch": "main", "commit": "b0cc22f5708f6b2b4f873b44fbc5eb93020f4e0c" }, "edge": { "branch": "master", "commit": "358cb6688ac577470a4eafcb53bdd63899dfc937" }, "fidget.nvim": { "branch": "legacy", "commit": "90c22e47be057562ee9566bad313ad42d622c1d3" }, - "friendly-snippets": { "branch": "main", "commit": "6153166d5a3dcc7e2809ea4f17f9edb34d026026" }, + "friendly-snippets": { "branch": "main", "commit": "ea84a710262cb2c286d439070bad37d36fd3db25" }, "fzy-lua-native": { "branch": "master", "commit": "820f745b7c442176bcc243e8f38ef4b985febfaf" }, - "gitsigns.nvim": { "branch": "main", "commit": "48c3ae8ec74cb83f9570ceb0c5ab8217db7a2220" }, + "gitsigns.nvim": { "branch": "main", "commit": "1e01b2958aebb79f1c33e7427a1bac131a678e0d" }, "hop.nvim": { "branch": "master", "commit": "31e0e42e629bf16affea747132d9c54f55fb17c8" }, "indent-blankline.nvim": { "branch": "master", "commit": "4541d690816cb99a7fc248f1486aa87f3abce91c" }, - "lazy.nvim": { "branch": "main", "commit": "14d76aac4bd3ff07c1fca074c210f28f766a931e" }, + "lazy.nvim": { "branch": "main", "commit": "25beed5e2e935ebc00d7e3eed1dc502df3c40e39" }, "lsp_signature.nvim": { "branch": "master", "commit": "17ff7a405fea8376b015b8ea7910d2e59958bf68" }, - "lspsaga.nvim": { "branch": "main", "commit": "ce5bffd65e7eb266263ce364950633aeb60c5b8c" }, + "lspsaga.nvim": { "branch": "main", "commit": "95ec55dfd5355c90f1cee834bd415e1d2b5d9854" }, "lualine.nvim": { "branch": "master", "commit": "05d78e9fd0cdfb4545974a5aa14b1be95a86e9c9" }, "markdown-preview.nvim": { "branch": "master", "commit": "02cc3874738bc0f86e4b91f09b8a0ac88aef8e96" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "796008869e67ef27a5aa5ac44c08ce2a60b89f55" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "828a538ac8419f586c010996aefa5df6eb7c250b" }, "mason-null-ls.nvim": { "branch": "main", "commit": "ae0c5fa57468ac65617f1bf821ba0c3a1e251f0c" }, "mason-nvim-dap.nvim": { "branch": "main", "commit": "e4d56b400e9757b1dc77d620fd3069396e92d5fc" }, "mason.nvim": { "branch": "main", "commit": "5ad3e113b0c3fde3caba8630599373046f6197e8" }, @@ -47,24 +47,24 @@ "nvim-bufdel": { "branch": "main", "commit": "96c4f7ab053ddab0025bebe5f7c71e4795430e47" }, "nvim-cmp": { "branch": "main", "commit": "c4e491a87eeacf0408902c32f031d802c7eafce8" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, - "nvim-dap": { "branch": "master", "commit": "3bde6f786057fa29d8356559b2ae3a52d9317fba" }, - "nvim-dap-ui": { "branch": "master", "commit": "c020f660b02772f9f3d11f599fefad3268628a9e" }, - "nvim-lspconfig": { "branch": "master", "commit": "f88fc62d9770e70faab132ddfed680e49fb012f3" }, + "nvim-dap": { "branch": "master", "commit": "d17d1bba23ec72a157bd183c57840c39e323f515" }, + "nvim-dap-ui": { "branch": "master", "commit": "85b16ac2309d85c88577cd8ee1733ce52be8227e" }, + "nvim-lspconfig": { "branch": "master", "commit": "ba3ec2527aa7aae9b989d69966174a22b7d1b1dd" }, "nvim-notify": { "branch": "master", "commit": "ea9c8ce7a37f2238f934e087c255758659948e0f" }, - "nvim-scrollview": { "branch": "main", "commit": "dbd17a6de65c3a149fe5ace10fee311fd8251b06" }, - "nvim-tree.lua": { "branch": "master", "commit": "a708bd2413d467929b5019ec1bce7b1f428438bc" }, + "nvim-scrollview": { "branch": "main", "commit": "9217dba703b43deb0751c08b8e2eeb6dbf2685fd" }, + "nvim-tree.lua": { "branch": "master", "commit": "3b62c6bf2c3f2973036aed609d02fd0ca9c3af35" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "575f5a4b1fcb60c1ac4f560c46a5171454d674ca" }, - "nvim-treesitter-context": { "branch": "master", "commit": "ba8d651017e4c2e8bf11fdf6147a8f13a0116e07" }, + "nvim-treesitter": { "branch": "master", "commit": "44211e7f6e669b8a07e86abc533b292a30c32d62" }, + "nvim-treesitter-context": { "branch": "master", "commit": "6f8f788738b968f24a108ee599c5be0031f94f06" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "52f1f3280d9092bfaee5c45be5962fabee3d9654" }, "nvim-ts-autotag": { "branch": "main", "commit": "6be1192965df35f94b8ea6d323354f7dc7a557e4" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "7f625207f225eea97ef7a6abe7611e556c396d2f" }, - "nvim-web-devicons": { "branch": "master", "commit": "9ab9b0b894b2388a9dbcdee5f00ce72e25d85bf9" }, + "nvim-web-devicons": { "branch": "master", "commit": "efbfed0567ef4bfac3ce630524a0f6c8451c5534" }, "paint.nvim": { "branch": "main", "commit": "6ce64212804f425073c61ab0d9c2b034f0435260" }, "persisted.nvim": { "branch": "main", "commit": "b03c863731eafacd973912383297ea5d8fdb006a" }, - "plenary.nvim": { "branch": "master", "commit": "bda256fab0eb66a15e8190937e417e6a14ee5d72" }, + "plenary.nvim": { "branch": "master", "commit": "267282a9ce242bbb0c5dc31445b6d353bed978bb" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, - "rainbow-delimiters.nvim": { "branch": "master", "commit": "862e0f5e867e1a4c93e3efe73d4c71b7b6d3fec8" }, + "rainbow-delimiters.nvim": { "branch": "master", "commit": "c6c2bda90f9f2d9eb047400f9153893d425bfa3c" }, "rust-tools.nvim": { "branch": "master", "commit": "0cc8adab23117783a0292a0c8a2fbed1005dc645" }, "smartyank.nvim": { "branch": "master", "commit": "7e3905578f646503525b2f7018b8afd17861018c" }, "sniprun": { "branch": "master", "commit": "28d55eeb6786a7037fd3564ced8296a71f1cece7" }, @@ -77,15 +77,15 @@ "telescope-live-grep-args.nvim": { "branch": "master", "commit": "0f75ea809c46af8997c64f49c52e3c641d887885" }, "telescope-undo.nvim": { "branch": "main", "commit": "3dec002ea3e7952071d26fbb5d01e2038a58a554" }, "telescope-zoxide": { "branch": "main", "commit": "68966349aa1b8e9ade403e18479ecf79447389a7" }, - "telescope.nvim": { "branch": "master", "commit": "276362a8020c6e94c7a76d49aa00d4923b0c02f3" }, - "toggleterm.nvim": { "branch": "main", "commit": "83aa231fa414a5dcb72aed97437446a6ca5a81f2" }, - "trouble.nvim": { "branch": "main", "commit": "d99e2abd10808ef91738ce98a5c767e6a51df449" }, + "telescope.nvim": { "branch": "master", "commit": "47c755d737702df7a39b640c8d9c473a728be1df" }, + "toggleterm.nvim": { "branch": "main", "commit": "00c13dccc78c09fa5da4c5edda990a363e75035e" }, + "trouble.nvim": { "branch": "main", "commit": "20d1b30d6925213abece21d35858a16e11d1e9fc" }, "vim-cool": { "branch": "master", "commit": "04bb7f5dade175a81b47abf4e87aeb30b05b33d8" }, "vim-easy-align": { "branch": "master", "commit": "12dd6316974f71ce333e360c0260b4e1f81169c3" }, - "vim-fugitive": { "branch": "master", "commit": "43f18ab9155c853a84ded560c6104e6300ad41da" }, + "vim-fugitive": { "branch": "master", "commit": "b3b838d690f315a503ec4af8c634bdff3b200aaf" }, "vim-go": { "branch": "master", "commit": "12de6c0bc0efce3cedc5e28d4fe0ecc3a4aaeb77" }, "vim-illuminate": { "branch": "master", "commit": "a2907275a6899c570d16e95b9db5fd921c167502" }, "vim-matchup": { "branch": "master", "commit": "17cc05867cb3314761e4baa20115a27120f8e82c" }, - "which-key.nvim": { "branch": "main", "commit": "d871f2b664afd5aed3dc1d1573bef2fb24ce0484" }, + "which-key.nvim": { "branch": "main", "commit": "38b990f6eabf62014018b4aae70a97d7a6c2eb88" }, "wilder.nvim": { "branch": "master", "commit": "679f348dc90d80ff9ba0e7c470c40a4d038dcecf" } } \ No newline at end of file From 173222382c022fefa62dc082a7804f1a83d9a8e6 Mon Sep 17 00:00:00 2001 From: TonyWu20 Date: Tue, 18 Jul 2023 10:54:14 +0800 Subject: [PATCH 3/3] update plugins --- lazy-lock.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lazy-lock.json b/lazy-lock.json index d0c5a7ea9..0a1c4b4d9 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -32,6 +32,7 @@ "gitsigns.nvim": { "branch": "main", "commit": "1e01b2958aebb79f1c33e7427a1bac131a678e0d" }, "hop.nvim": { "branch": "master", "commit": "31e0e42e629bf16affea747132d9c54f55fb17c8" }, "indent-blankline.nvim": { "branch": "master", "commit": "4541d690816cb99a7fc248f1486aa87f3abce91c" }, + "knap": { "branch": "main", "commit": "8c083d333b8a82421a521539eb1c450b06c90eb6" }, "lazy.nvim": { "branch": "main", "commit": "25beed5e2e935ebc00d7e3eed1dc502df3c40e39" }, "lsp_signature.nvim": { "branch": "master", "commit": "17ff7a405fea8376b015b8ea7910d2e59958bf68" }, "lspsaga.nvim": { "branch": "main", "commit": "95ec55dfd5355c90f1cee834bd415e1d2b5d9854" }, @@ -51,6 +52,7 @@ "nvim-dap": { "branch": "master", "commit": "d17d1bba23ec72a157bd183c57840c39e323f515" }, "nvim-dap-ui": { "branch": "master", "commit": "85b16ac2309d85c88577cd8ee1733ce52be8227e" }, "nvim-lspconfig": { "branch": "master", "commit": "ba3ec2527aa7aae9b989d69966174a22b7d1b1dd" }, + "nvim-notify": { "branch": "master", "commit": "ea9c8ce7a37f2238f934e087c255758659948e0f" }, "nvim-scrollview": { "branch": "main", "commit": "9217dba703b43deb0751c08b8e2eeb6dbf2685fd" }, "nvim-tree.lua": { "branch": "master", "commit": "3b62c6bf2c3f2973036aed609d02fd0ca9c3af35" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, @@ -59,8 +61,8 @@ "nvim-treesitter-textobjects": { "branch": "master", "commit": "52f1f3280d9092bfaee5c45be5962fabee3d9654" }, "nvim-ts-autotag": { "branch": "main", "commit": "6be1192965df35f94b8ea6d323354f7dc7a557e4" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "7f625207f225eea97ef7a6abe7611e556c396d2f" }, - "obsidian.nvim": { "branch": "main", "commit": "1982447bd8481bf5b8e6e033519d54feb77a4e41" }, "nvim-web-devicons": { "branch": "master", "commit": "efbfed0567ef4bfac3ce630524a0f6c8451c5534" }, + "obsidian.nvim": { "branch": "main", "commit": "1982447bd8481bf5b8e6e033519d54feb77a4e41" }, "paint.nvim": { "branch": "main", "commit": "6ce64212804f425073c61ab0d9c2b034f0435260" }, "persisted.nvim": { "branch": "main", "commit": "b03c863731eafacd973912383297ea5d8fdb006a" }, "plenary.nvim": { "branch": "master", "commit": "267282a9ce242bbb0c5dc31445b6d353bed978bb" }, @@ -91,4 +93,4 @@ "vimtex": { "branch": "master", "commit": "5e50cc0e96e8a8ffc6fd10d627d65b8d1354b5da" }, "which-key.nvim": { "branch": "main", "commit": "38b990f6eabf62014018b4aae70a97d7a6c2eb88" }, "wilder.nvim": { "branch": "master", "commit": "679f348dc90d80ff9ba0e7c470c40a4d038dcecf" } -} +} \ No newline at end of file