From 7bb5d36e1e39816856ed37826b527d2e210c5b09 Mon Sep 17 00:00:00 2001 From: Henrik Hautakoski Date: Tue, 15 Oct 2024 08:46:54 +0200 Subject: [PATCH] nvim: lazy load some plugins. --- nvim/lua/user/plugins/editor.lua | 6 +- nvim/lua/user/plugins/editor/gitsigns.lua | 2 +- nvim/lua/user/plugins/editor/treesitter.lua | 200 ++++++++++---------- 3 files changed, 109 insertions(+), 99 deletions(-) diff --git a/nvim/lua/user/plugins/editor.lua b/nvim/lua/user/plugins/editor.lua index 54fab91..a3d90f2 100644 --- a/nvim/lua/user/plugins/editor.lua +++ b/nvim/lua/user/plugins/editor.lua @@ -1,6 +1,9 @@ return { { import = "user.plugins.editor.treesitter" }, - "mbbill/undotree", + { + "mbbill/undotree", + event = { "BufReadPre", "BufNewFile" }, + }, -- color highlight in documents { 'brenoprata10/nvim-highlight-colors', @@ -48,6 +51,7 @@ return { -- Better status column { "luukvbaal/statuscol.nvim", + event = { "BufReadPre", "BufNewFile", "BufAdd" }, opts = function() local builtin = require("statuscol.builtin") return { diff --git a/nvim/lua/user/plugins/editor/gitsigns.lua b/nvim/lua/user/plugins/editor/gitsigns.lua index 4899603..c2912e5 100644 --- a/nvim/lua/user/plugins/editor/gitsigns.lua +++ b/nvim/lua/user/plugins/editor/gitsigns.lua @@ -2,6 +2,7 @@ local icons = require('user.icons').diff_gutter return { "lewis6991/gitsigns.nvim", + event = { "BufReadPre", "BufNewFile" }, dependencies = { { "folke/which-key.nvim", @@ -13,7 +14,6 @@ return { }, }, }, - lazy = false, opts = { signs = { add = { text = icons.add }, diff --git a/nvim/lua/user/plugins/editor/treesitter.lua b/nvim/lua/user/plugins/editor/treesitter.lua index 238d85b..269ac56 100644 --- a/nvim/lua/user/plugins/editor/treesitter.lua +++ b/nvim/lua/user/plugins/editor/treesitter.lua @@ -1,107 +1,113 @@ return { - "nvim-treesitter/nvim-treesitter", - build = function() - require("nvim-treesitter.install").update({ with_sync = true }) - end, - dependencies = { - "nvim-treesitter/nvim-treesitter-textobjects", - { - "windwp/nvim-ts-autotag", - opts = {} + { + "nvim-treesitter/nvim-treesitter", + build = function() + require("nvim-treesitter.install").update({ with_sync = true }) + end, + dependencies = { + "nvim-treesitter/nvim-treesitter-textobjects", }, - }, - opts_extend = { "ensure_installed" }, - opts = { - -- Default parsers. - ensure_installed = { - -- VIM stuff - "vim", - "vimdoc", - "query", + opts_extend = { "ensure_installed" }, + opts = { + -- Default parsers. + ensure_installed = { + -- VIM stuff + "vim", + "vimdoc", + "query", - -- Common config languages - "json", - "jsonc", - "yaml", - "toml", - "xml", - "kdl", - }, + -- Common config languages + "json", + "jsonc", + "yaml", + "toml", + "xml", + "kdl", + }, - auto_install = true, + auto_install = true, - highlight = { - enable = true, - additional_vim_regex_highlighting = false, - }, - - indent = { - enable = true, - }, - - textobjects = { - select = { + highlight = { enable = true, - lookahead = true, - keymaps = { - -- Functions/Methods - ["af"] = { query = "@function.outer", desc = "outer function"}, - ["if"] = { query = "@function.inner", desc = "inner function"}, - -- Class - ["ac"] = { query = "@class.outer", desc = "around class" }, - ["ic"] = { query = "@class.inner", desc = "inner class" }, - -- Parameters/arguments - ["av"] = { query = "@parameter.outer", desc = "around parameter" }, - ["iv"] = { query = "@parameter.inner", desc = "inner parameter" }, + additional_vim_regex_highlighting = false, + }, + + indent = { + enable = true, + }, + + textobjects = { + select = { + enable = true, + lookahead = true, + keymaps = { + -- Functions/Methods + ["af"] = { query = "@function.outer", desc = "outer function" }, + ["if"] = { query = "@function.inner", desc = "inner function" }, + -- Class + ["ac"] = { query = "@class.outer", desc = "around class" }, + ["ic"] = { query = "@class.inner", desc = "inner class" }, + -- Parameters/arguments + ["av"] = { query = "@parameter.outer", desc = "around parameter" }, + ["iv"] = { query = "@parameter.inner", desc = "inner parameter" }, + } + }, + swap = { + enable = true, + swap_next = { + ["]"] = { query = "@parameter.inner", desc = "Swap next parameter with the one under cursor" }, + }, + swap_previous = { + ["["] = { query = "@parameter.inner", desc = "Swap previous parameter with the one under cursor" }, + }, + }, + move = { + enable = true, + set_jumps = true, + goto_next_start = { + ["]f"] = { query = "@function.outer", desc = "Goto the beginning of the next function" }, + ["]c"] = { query = "@class.outer", desc = "Goto the beginning of the next class" }, + ["]v"] = { query = "@parameter.inner", desc = "Goto the beginning of the next parameter" }, + }, + goto_next_end = { + ["]F"] = { query = "@function.outer", desc = "Goto the end of the next function" }, + ["]C"] = { query = "@class.outer", desc = "Goto the end of the next class" }, + ["]V"] = { query = "@parameter.inner", desc = "Goto the end of the next parameter" }, + }, + goto_previous_start = { + ["[f"] = { query = "@function.outer", desc = "Goto the beginning of the previous function" }, + ["[c"] = { query = "@class.outer", desc = "Goto the beginning of the previous class" }, + ["[v"] = { query = "@parameter.inner", desc = "Goto the beginning of the previous parameter" }, + }, + goto_previous_end = { + ["[F"] = { query = "@function.outer", desc = "Goto the end of the previous function" }, + ["[C"] = { query = "@class.outer", desc = "Goto the end of the previous class" }, + ["[V"] = { query = "@parameter.inner", desc = "Goto the end of the previous parameter" }, + }, } - }, - swap = { - enable = true, - swap_next = { - ["]"] = { query = "@parameter.inner", desc = "Swap next parameter with the one under cursor"}, - }, - swap_previous = { - ["["] = { query = "@parameter.inner", desc = "Swap previous parameter with the one under cursor"}, - }, - }, - move = { - enable = true, - set_jumps = true, - goto_next_start = { - ["]f"] = { query = "@function.outer", desc = "Goto the beginning of the next function" }, - ["]c"] = { query = "@class.outer", desc = "Goto the beginning of the next class" }, - ["]v"] = { query = "@parameter.inner", desc = "Goto the beginning of the next parameter" }, - }, - goto_next_end = { - ["]F"] = { query = "@function.outer", desc = "Goto the end of the next function" }, - ["]C"] = { query = "@class.outer", desc = "Goto the end of the next class" }, - ["]V"] = { query = "@parameter.inner", desc = "Goto the end of the next parameter" }, - }, - goto_previous_start = { - ["[f"] = { query = "@function.outer", desc = "Goto the beginning of the previous function" }, - ["[c"] = { query = "@class.outer", desc = "Goto the beginning of the previous class" }, - ["[v"] = { query = "@parameter.inner", desc = "Goto the beginning of the previous parameter" }, - }, - goto_previous_end = { - ["[F"] = { query = "@function.outer", desc = "Goto the end of the previous function" }, - ["[C"] = { query = "@class.outer", desc = "Goto the end of the previous class" }, - ["[V"] = { query = "@parameter.inner", desc = "Goto the end of the previous parameter" }, - }, } - } + }, + config = function(_, opts) + local parser_config = require("nvim-treesitter.parsers").get_parser_configs() + + parser_config.blade = { + install_info = { + url = "https://github.com/EmranMR/tree-sitter-blade", + branch = "main", + files = { "src/parser.c" }, + }, + filetype = "blade", + } + + require("nvim-treesitter.configs").setup(opts) + end, + }, + { + "windwp/nvim-ts-autotag", + dependencies = { + "nvim-treesitter/nvim-treesitter", + }, + event = "InsertEnter", + opts = {} }, - config = function(_, opts) - local parser_config = require("nvim-treesitter.parsers").get_parser_configs() - - parser_config.blade = { - install_info = { - url = "https://github.com/EmranMR/tree-sitter-blade", - branch = "main", - files = { "src/parser.c" }, - }, - filetype = "blade", - } - - require("nvim-treesitter.configs").setup(opts) - end, }