From 13e0c80873b4d6a48ff792443c40feb014f0cdbb Mon Sep 17 00:00:00 2001 From: Kulvir Singh Date: Fri, 2 May 2025 03:19:13 +0530 Subject: [PATCH] make some plugins load lazily --- .config/nvim/lua/lilJ/plugins/blink.lua | 12 +--- .config/nvim/lua/lilJ/plugins/indent_line.lua | 1 + .config/nvim/lua/lilJ/plugins/lint.lua | 59 ++++++------------- .config/nvim/lua/lilJ/plugins/mdx.lua | 1 + .config/nvim/lua/lilJ/plugins/mini.lua | 1 + .../nvim/lua/lilJ/plugins/tmux-navigator.lua | 4 -- .../nvim/lua/lilJ/plugins/todo-comments.lua | 2 +- 7 files changed, 24 insertions(+), 56 deletions(-) diff --git a/.config/nvim/lua/lilJ/plugins/blink.lua b/.config/nvim/lua/lilJ/plugins/blink.lua index 912217d..3c534d5 100644 --- a/.config/nvim/lua/lilJ/plugins/blink.lua +++ b/.config/nvim/lua/lilJ/plugins/blink.lua @@ -1,13 +1,9 @@ return { "saghen/blink.cmp", - event = "VimEnter", + event = "InsertEnter", -- use a release tag to download pre-built binaries version = "1.*", - -- AND/OR build from source, requires nightly: https://rust-lang.github.io/rustup/concepts/channels.html#working-with-nightly-rust - -- build = 'cargo build --release', - -- If you use nix, you can build from source using latest nightly rust with: - -- build = 'nix run .#build-plugin', dependencies = { "folke/lazydev.nvim", }, @@ -22,7 +18,6 @@ return { nerd_font_variant = "mono", }, - -- (Default) Only show the documentation popup when manually triggered completion = { documentation = { auto_show = true, auto_show_delay_ms = 500, window = { border = "rounded" } }, @@ -47,11 +42,6 @@ return { }, }, - -- (Default) Rust fuzzy matcher for typo resistance and significantly better performance - -- You may use a lua implementation instead by using `implementation = "lua"` or fallback to the lua implementation, - -- when the Rust fuzzy matcher is not available, by using `implementation = "prefer_rust"` - -- - -- See the fuzzy documentation for more information fuzzy = { implementation = "prefer_rust_with_warning" }, -- Shows a signature help window while you type arguments for a function diff --git a/.config/nvim/lua/lilJ/plugins/indent_line.lua b/.config/nvim/lua/lilJ/plugins/indent_line.lua index fb5be9d..7040a8b 100644 --- a/.config/nvim/lua/lilJ/plugins/indent_line.lua +++ b/.config/nvim/lua/lilJ/plugins/indent_line.lua @@ -1,6 +1,7 @@ return { "lukas-reineke/indent-blankline.nvim", main = "ibl", + event = "BufReadPre", opts = { indent = { char = "┊" }, whitespace = { highlight = { "Whitespace", "NonText" } }, diff --git a/.config/nvim/lua/lilJ/plugins/lint.lua b/.config/nvim/lua/lilJ/plugins/lint.lua index fcd7959..5513dfe 100644 --- a/.config/nvim/lua/lilJ/plugins/lint.lua +++ b/.config/nvim/lua/lilJ/plugins/lint.lua @@ -1,44 +1,23 @@ return { - { - "mfussenegger/nvim-lint", - event = { "BufReadPre", "BufNewFile" }, - config = function() - local lint = require "lint" + "mfussenegger/nvim-lint", + event = { "BufReadPre", "BufNewFile" }, + config = function() + local lint = require "lint" - lint.linters_by_ft = { - json = { "jsonlint" }, - -- typescript = { "eslint" }, - -- typescriptreact = { "eslint" }, - } + lint.linters_by_ft = { + json = { "jsonlint" }, + -- typescript = { "eslint" }, + -- typescriptreact = { "eslint" }, + } - -- To allow other plugins to add linters to require('lint').linters_by_ft, - -- instead set linters_by_ft like this: - -- lint.linters_by_ft = lint.linters_by_ft or {} - -- lint.linters_by_ft['markdown'] = { 'markdownlint' } - -- - -- However, note that this will enable a set of default linters, - -- which will cause errors unless these tools are available: - -- { - -- dockerfile = { "hadolint" }, - -- json = { "jsonlint" }, - -- markdown = { "vale" }, - -- text = { "vale" } - -- } - -- - -- You can disable the default linters by setting their filetypes to nil: - -- lint.linters_by_ft['dockerfile'] = nil - -- lint.linters_by_ft['json'] = nil - -- lint.linters_by_ft['text'] = nil - - -- Create autocommand which carries out the actual linting - -- on the specified events. - local lint_augroup = vim.api.nvim_create_augroup("lint", { clear = true }) - vim.api.nvim_create_autocmd({ "BufEnter", "BufWritePost", "InsertLeave" }, { - group = lint_augroup, - callback = function() - require("lint").try_lint() - end, - }) - end, - }, + -- Create autocommand which carries out the actual linting + -- on the specified events. + local lint_augroup = vim.api.nvim_create_augroup("lint", { clear = true }) + vim.api.nvim_create_autocmd({ "BufEnter", "BufWritePost", "InsertLeave" }, { + group = lint_augroup, + callback = function() + require("lint").try_lint() + end, + }) + end, } diff --git a/.config/nvim/lua/lilJ/plugins/mdx.lua b/.config/nvim/lua/lilJ/plugins/mdx.lua index b17f816..0f8ec5c 100644 --- a/.config/nvim/lua/lilJ/plugins/mdx.lua +++ b/.config/nvim/lua/lilJ/plugins/mdx.lua @@ -1,5 +1,6 @@ return { "davidmh/mdx.nvim", config = true, + ft = "mdx", dependencies = { "nvim-treesitter/nvim-treesitter" }, } diff --git a/.config/nvim/lua/lilJ/plugins/mini.lua b/.config/nvim/lua/lilJ/plugins/mini.lua index e7426a6..d5209cb 100644 --- a/.config/nvim/lua/lilJ/plugins/mini.lua +++ b/.config/nvim/lua/lilJ/plugins/mini.lua @@ -1,5 +1,6 @@ return { "echasnovski/mini.nvim", + config = function() local statusline = require "mini.statusline" statusline.setup { use_icons = vim.g.have_nerd_font } diff --git a/.config/nvim/lua/lilJ/plugins/tmux-navigator.lua b/.config/nvim/lua/lilJ/plugins/tmux-navigator.lua index 04655a3..69304dc 100644 --- a/.config/nvim/lua/lilJ/plugins/tmux-navigator.lua +++ b/.config/nvim/lua/lilJ/plugins/tmux-navigator.lua @@ -1,11 +1,7 @@ return { "alexghergh/nvim-tmux-navigation", - - lazy = false, - config = function() local nvim_tmux_nav = require "nvim-tmux-navigation" - nvim_tmux_nav.setup { disable_when_zoomed = true, } diff --git a/.config/nvim/lua/lilJ/plugins/todo-comments.lua b/.config/nvim/lua/lilJ/plugins/todo-comments.lua index 17de629..342a485 100644 --- a/.config/nvim/lua/lilJ/plugins/todo-comments.lua +++ b/.config/nvim/lua/lilJ/plugins/todo-comments.lua @@ -1,6 +1,6 @@ return { "folke/todo-comments.nvim", - event = "VimEnter", + event = "BufRead", dependencies = { "nvim-lua/plenary.nvim" }, opts = { signs = false }, }