From 456fc0da594b102c8b3c6e1b34e32149c33b0553 Mon Sep 17 00:00:00 2001 From: Martin Larsson Date: Fri, 12 Jul 2024 23:00:01 +0200 Subject: [PATCH] Optimize startup time and make some minor refactorings --- home/.config/nvim/lua/plugs/arrow.lua | 2 ++ home/.config/nvim/lua/plugs/cmp.lua | 1 + home/.config/nvim/lua/plugs/codesnap.lua | 2 ++ home/.config/nvim/lua/plugs/colorizer.lua | 2 ++ home/.config/nvim/lua/plugs/copilot.lua | 1 + home/.config/nvim/lua/plugs/devicons.lua | 2 ++ home/.config/nvim/lua/plugs/flit.lua | 2 ++ home/.config/nvim/lua/plugs/incline.lua | 3 +- .../nvim/lua/plugs/indent_blankline.lua | 1 + home/.config/nvim/lua/plugs/leap.lua | 2 ++ home/.config/nvim/lua/plugs/lspsaga.lua | 2 ++ home/.config/nvim/lua/plugs/lualine.lua | 2 ++ home/.config/nvim/lua/plugs/mason_lsp.lua | 31 ++++++++++++++++--- home/.config/nvim/lua/plugs/neogit.lua | 4 +-- home/.config/nvim/lua/plugs/neorg.lua | 4 ++- home/.config/nvim/lua/plugs/noice.lua | 3 +- home/.config/nvim/lua/plugs/oil.lua | 2 ++ home/.config/nvim/lua/plugs/plenary.lua | 4 +++ home/.config/nvim/lua/plugs/reactive.lua | 2 ++ home/.config/nvim/lua/plugs/surround.lua | 1 + home/.config/nvim/lua/plugs/telescope.lua | 3 +- home/.config/nvim/lua/plugs/trouble.lua | 2 ++ home/.config/nvim/lua/plugs/undotree.lua | 2 ++ 23 files changed, 69 insertions(+), 11 deletions(-) create mode 100644 home/.config/nvim/lua/plugs/plenary.lua diff --git a/home/.config/nvim/lua/plugs/arrow.lua b/home/.config/nvim/lua/plugs/arrow.lua index 164fb59..e5e1e49 100644 --- a/home/.config/nvim/lua/plugs/arrow.lua +++ b/home/.config/nvim/lua/plugs/arrow.lua @@ -1,5 +1,7 @@ return { "otavioschwanck/arrow.nvim", + event = "VeryLazy", + lazy = true, opts = { show_icons = true, leader_key = ",", diff --git a/home/.config/nvim/lua/plugs/cmp.lua b/home/.config/nvim/lua/plugs/cmp.lua index a54badb..513a2f4 100644 --- a/home/.config/nvim/lua/plugs/cmp.lua +++ b/home/.config/nvim/lua/plugs/cmp.lua @@ -6,6 +6,7 @@ return { "hrsh7th/cmp-path", "hrsh7th/cmp-cmdline", }, + event = "InsertEnter", config = function() local cmp = require("cmp") diff --git a/home/.config/nvim/lua/plugs/codesnap.lua b/home/.config/nvim/lua/plugs/codesnap.lua index eeb0d0d..28d9fd4 100644 --- a/home/.config/nvim/lua/plugs/codesnap.lua +++ b/home/.config/nvim/lua/plugs/codesnap.lua @@ -1,6 +1,8 @@ return { "mistricky/codesnap.nvim", build = "make", + event = "VeryLazy", + lazy = true, config = function() require("codesnap").setup({ mac_window_bar = true, diff --git a/home/.config/nvim/lua/plugs/colorizer.lua b/home/.config/nvim/lua/plugs/colorizer.lua index a0c815f..cbd4414 100644 --- a/home/.config/nvim/lua/plugs/colorizer.lua +++ b/home/.config/nvim/lua/plugs/colorizer.lua @@ -1,5 +1,7 @@ return { "norcalli/nvim-colorizer.lua", + event = "VeryLazy", + lazy = true, opts = { DEFAULT_OPTIONS = { RGB = true, diff --git a/home/.config/nvim/lua/plugs/copilot.lua b/home/.config/nvim/lua/plugs/copilot.lua index c59d48c..f46cbb3 100644 --- a/home/.config/nvim/lua/plugs/copilot.lua +++ b/home/.config/nvim/lua/plugs/copilot.lua @@ -1,3 +1,4 @@ return { "github/copilot.vim", + event = "InsertEnter", } diff --git a/home/.config/nvim/lua/plugs/devicons.lua b/home/.config/nvim/lua/plugs/devicons.lua index b8e98b8..6f638c8 100644 --- a/home/.config/nvim/lua/plugs/devicons.lua +++ b/home/.config/nvim/lua/plugs/devicons.lua @@ -1,3 +1,5 @@ return { "nvim-tree/nvim-web-devicons", + event = "VeryLazy", + lazy = true, } diff --git a/home/.config/nvim/lua/plugs/flit.lua b/home/.config/nvim/lua/plugs/flit.lua index cd08c84..7b40d6d 100644 --- a/home/.config/nvim/lua/plugs/flit.lua +++ b/home/.config/nvim/lua/plugs/flit.lua @@ -1,5 +1,7 @@ return { "ggandor/flit.nvim", + event = "VeryLazy", + lazy = true, opts = { keys = { f = "f", F = "F", t = "t", T = "T" }, labeled_modes = "v", diff --git a/home/.config/nvim/lua/plugs/incline.lua b/home/.config/nvim/lua/plugs/incline.lua index ac9c345..904b3af 100644 --- a/home/.config/nvim/lua/plugs/incline.lua +++ b/home/.config/nvim/lua/plugs/incline.lua @@ -3,6 +3,8 @@ return { dependencies = { "lewis6991/gitsigns.nvim" }, + event = "VeryLazy", + lazy = true, config = function() require("gitsigns").setup({}) local devicons = require("nvim-web-devicons") @@ -89,5 +91,4 @@ return { }) }) end, - event = "VeryLazy", } diff --git a/home/.config/nvim/lua/plugs/indent_blankline.lua b/home/.config/nvim/lua/plugs/indent_blankline.lua index 8d81f35..b068bc9 100644 --- a/home/.config/nvim/lua/plugs/indent_blankline.lua +++ b/home/.config/nvim/lua/plugs/indent_blankline.lua @@ -1,6 +1,7 @@ return { "lukas-reineke/indent-blankline.nvim", main = "ibl", + event = "BufRead", opts = { debounce = 100, scope = { diff --git a/home/.config/nvim/lua/plugs/leap.lua b/home/.config/nvim/lua/plugs/leap.lua index 4b68565..6fa348f 100644 --- a/home/.config/nvim/lua/plugs/leap.lua +++ b/home/.config/nvim/lua/plugs/leap.lua @@ -22,6 +22,8 @@ return { dependencies = { "tpope/vim-repeat", }, + event = "VeryLazy", + lazy = true, config = function() local leap = require("leap") leap.opts.safe_labels = {} diff --git a/home/.config/nvim/lua/plugs/lspsaga.lua b/home/.config/nvim/lua/plugs/lspsaga.lua index bb131e8..fafb0f4 100644 --- a/home/.config/nvim/lua/plugs/lspsaga.lua +++ b/home/.config/nvim/lua/plugs/lspsaga.lua @@ -1,9 +1,11 @@ return { "nvimdev/lspsaga.nvim", event = "LspAttach", + lazy = true, dependencies = { "nvim-tree/nvim-web-devicons", }, + after = "nvim-lspconfig", config = function() require("lspsaga").setup({ symbol_in_winbar = { diff --git a/home/.config/nvim/lua/plugs/lualine.lua b/home/.config/nvim/lua/plugs/lualine.lua index ccb2106..fa2e904 100644 --- a/home/.config/nvim/lua/plugs/lualine.lua +++ b/home/.config/nvim/lua/plugs/lualine.lua @@ -13,6 +13,8 @@ return { dependencies = { "nvim-tree/nvim-web-devicons" }, + event = "VeryLazy", + lazy = true, config = function() local catppuccin_theme = require("lualine.themes.catppuccin") local slightly_darker_surface0 = "#2c3045" diff --git a/home/.config/nvim/lua/plugs/mason_lsp.lua b/home/.config/nvim/lua/plugs/mason_lsp.lua index 65c0cde..9a5acbd 100644 --- a/home/.config/nvim/lua/plugs/mason_lsp.lua +++ b/home/.config/nvim/lua/plugs/mason_lsp.lua @@ -87,10 +87,19 @@ local function setup_dap() require("nvim-dap-repl-highlights").setup() require("nvim-dap-virtual-text").setup() + local dap = require("dap") utils.add_keymaps({ n = { - ["dr"] = { cmd = ":lua require(\"dap\").continue()" }, - ["db"] = { cmd = ":lua require(\"dap\").toggle_breakpoint()" }, + ["dr"] = { + cmd = function() + dap.continue() + end + }, + ["db"] = { + cmd = function() + dap.toggle_breakpoint() + end + }, ["ds"] = { cmd = function() dap.disconnect({ terminateDebuggee = true }) @@ -98,9 +107,21 @@ local function setup_dap() dapui.close() end }, - [""] = { cmd = ":lua require(\"dap\").step_over()" }, - [""] = { cmd = ":lua require(\"dap\").step_into()" }, - [""] = { cmd = ":lua require(\"dap\").step_out()" }, + [""] = { + cmd = function() + dap.step_over() + end + }, + [""] = { + cmd = function() + dap.step_into() + end + }, + [""] = { + cmd = function() + dap.step_out() + end + }, } }) end diff --git a/home/.config/nvim/lua/plugs/neogit.lua b/home/.config/nvim/lua/plugs/neogit.lua index 110451a..636771b 100644 --- a/home/.config/nvim/lua/plugs/neogit.lua +++ b/home/.config/nvim/lua/plugs/neogit.lua @@ -1,9 +1,9 @@ return { "NeogitOrg/neogit", dependencies = { - "nvim-lua/plenary.nvim", "sindrets/diffview.nvim", - "nvim-telescope/telescope.nvim", }, + event = "VeryLazy", + lazy = true, config = true } diff --git a/home/.config/nvim/lua/plugs/neorg.lua b/home/.config/nvim/lua/plugs/neorg.lua index 5256580..afd45c7 100644 --- a/home/.config/nvim/lua/plugs/neorg.lua +++ b/home/.config/nvim/lua/plugs/neorg.lua @@ -1,4 +1,6 @@ return { "nvim-neorg/neorg", - opts = {} + opts = {}, + event = "VeryLazy", + lazy = true, } diff --git a/home/.config/nvim/lua/plugs/noice.lua b/home/.config/nvim/lua/plugs/noice.lua index c26dad7..2c1cced 100644 --- a/home/.config/nvim/lua/plugs/noice.lua +++ b/home/.config/nvim/lua/plugs/noice.lua @@ -1,8 +1,9 @@ return { "folke/noice.nvim", event = "VeryLazy", + lazy = true, dependencies = { - "MunifTanjim/nui.nvim", + { "MunifTanjim/nui.nvim", lazy = true }, { "rcarriga/nvim-notify", opts = { diff --git a/home/.config/nvim/lua/plugs/oil.lua b/home/.config/nvim/lua/plugs/oil.lua index ac30f9a..9da01ac 100644 --- a/home/.config/nvim/lua/plugs/oil.lua +++ b/home/.config/nvim/lua/plugs/oil.lua @@ -30,6 +30,8 @@ end return { "stevearc/oil.nvim", + event = "VeryLazy", + lazy = true, config = function() oil = require("oil") oil.setup({ diff --git a/home/.config/nvim/lua/plugs/plenary.lua b/home/.config/nvim/lua/plugs/plenary.lua new file mode 100644 index 0000000..0c63989 --- /dev/null +++ b/home/.config/nvim/lua/plugs/plenary.lua @@ -0,0 +1,4 @@ +return { + "nvim-lua/plenary.nvim", + lazy = true, +} diff --git a/home/.config/nvim/lua/plugs/reactive.lua b/home/.config/nvim/lua/plugs/reactive.lua index 567a5de..71c2236 100644 --- a/home/.config/nvim/lua/plugs/reactive.lua +++ b/home/.config/nvim/lua/plugs/reactive.lua @@ -1,5 +1,7 @@ return { "rasulomaroff/reactive.nvim", + event = "VeryLazy", + lazy = true, opts = { load = { "catppuccin-macchiato-cursor", diff --git a/home/.config/nvim/lua/plugs/surround.lua b/home/.config/nvim/lua/plugs/surround.lua index 050008b..db3be7f 100644 --- a/home/.config/nvim/lua/plugs/surround.lua +++ b/home/.config/nvim/lua/plugs/surround.lua @@ -2,6 +2,7 @@ return { "kylechui/nvim-surround", version = "*", event = "VeryLazy", + lazy = true, opts = { -- Make sure that we never get whitespaces when adding surroundings surrounds = { diff --git a/home/.config/nvim/lua/plugs/telescope.lua b/home/.config/nvim/lua/plugs/telescope.lua index 5f43d43..0d4f540 100644 --- a/home/.config/nvim/lua/plugs/telescope.lua +++ b/home/.config/nvim/lua/plugs/telescope.lua @@ -1,13 +1,14 @@ return { "nvim-telescope/telescope.nvim", dependencies = { - "nvim-lua/plenary.nvim", { "nvim-telescope/telescope-fzf-native.nvim", build = "cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build", } }, + event = "VeryLazy", + lazy = true, config = function() require("telescope").setup({ extensions = { diff --git a/home/.config/nvim/lua/plugs/trouble.lua b/home/.config/nvim/lua/plugs/trouble.lua index 30b0dfb..34d2333 100644 --- a/home/.config/nvim/lua/plugs/trouble.lua +++ b/home/.config/nvim/lua/plugs/trouble.lua @@ -80,6 +80,8 @@ end return { "folke/trouble.nvim", + event = "VeryLazy", + lazy = true, config = function() local trouble = require("trouble") trouble.setup({}) diff --git a/home/.config/nvim/lua/plugs/undotree.lua b/home/.config/nvim/lua/plugs/undotree.lua index bd9ce7b..b46fb54 100644 --- a/home/.config/nvim/lua/plugs/undotree.lua +++ b/home/.config/nvim/lua/plugs/undotree.lua @@ -1,5 +1,7 @@ return { "mbbill/undotree", + event = "VeryLazy", + lazy = true, config = function() require("utils").add_keymaps({ n = {