diff options
| author | LostNeophyte <[email protected]> | 2023-02-04 16:22:41 +0100 | 
|---|---|---|
| committer | GitHub <[email protected]> | 2023-02-04 17:22:41 +0200 | 
| commit | 60c7ad77fddf6d23a2427844f368d247fef1ed5a (patch) | |
| tree | 1af3e0387c31134b2f25a1569824aa5590c60b43 /lua/lvim/core/cmp.lua | |
| parent | c18cd3f0a89443d4265f6df8ce12fb89d627f09e (diff) | |
perf: lazy load most plugins (#3750)
* perf: lazy load most plugins
* fix(lazy): suggested fixes for pref/lazyloading branch (#3754)
fix(lazy): Suggested fixes from previous comments
fix(lazy): applying suggestions from code review
Co-authored-by: LostNeophyte <[email protected]>
Co-authored-by: Pratyush Bharati <[email protected]>
Co-authored-by: LostNeophyte <[email protected]>
* chore: format
* move lazy utils to modules.lua
* simplify telescope actions
* refactor: cmp_window local name
* feat: more lazy loading cmds
* refactor(cmp): minor clean up
* perf: set lazy loading by default
* refactor(alpha): remove broken lazy load
* revert: explictily set lazy loading
This reverts commit ba38193e4ebfa5acc8afa2b35247c5420d9a2739.
* test: enable lazy-loading for bigfile
* perf: defer projects and alpha to VimEnter
* refactor(bufferline): add comment
* perf: better lazy load dap/dapui
* perf: lazy load ts-commentstring with Comment.nvim pre_hook
---------
Co-authored-by: pr-313 <[email protected]>
Co-authored-by: Pratyush Bharati <[email protected]>
Co-authored-by: opalmay <[email protected]>
Co-authored-by: kylo252 <[email protected]>
Diffstat (limited to 'lua/lvim/core/cmp.lua')
| -rw-r--r-- | lua/lvim/core/cmp.lua | 55 | 
1 files changed, 29 insertions, 26 deletions
| diff --git a/lua/lvim/core/cmp.lua b/lua/lvim/core/cmp.lua index 142d548f..c116f122 100644 --- a/lua/lvim/core/cmp.lua +++ b/lua/lvim/core/cmp.lua @@ -118,14 +118,17 @@ end  M.methods.jumpable = jumpable  M.config = function() -  local status_cmp_ok, cmp = pcall(require, "cmp") +  local status_cmp_ok, cmp_types = pcall(require, "cmp.types.cmp")    if not status_cmp_ok then      return    end -  local status_luasnip_ok, luasnip = pcall(require, "luasnip") -  if not status_luasnip_ok then -    return -  end +  local ConfirmBehavior = cmp_types.ConfirmBehavior +  local SelectBehavior = cmp_types.SelectBehavior + +  local cmp = require("lvim.utils.modules").require_on_index "cmp" +  local luasnip = require("lvim.utils.modules").require_on_index "luasnip" +  local cmp_window = require "cmp.config.window" +  local cmp_mapping = require "cmp.config.mapping"    lvim.builtin.cmp = {      active = true, @@ -138,7 +141,7 @@ M.config = function()        return lvim.builtin.cmp.active      end,      confirm_opts = { -      behavior = cmp.ConfirmBehavior.Replace, +      behavior = ConfirmBehavior.Replace,        select = false,      },      completion = { @@ -214,12 +217,12 @@ M.config = function()      },      snippet = {        expand = function(args) -        require("luasnip").lsp_expand(args.body) +        luasnip.lsp_expand(args.body)        end,      },      window = { -      completion = cmp.config.window.bordered(), -      documentation = cmp.config.window.bordered(), +      completion = cmp_window.bordered(), +      documentation = cmp_window.bordered(),      },      sources = {        { @@ -255,7 +258,7 @@ M.config = function()        {          name = "nvim_lsp",          entry_filter = function(entry, ctx) -          local kind = require("cmp.types").lsp.CompletionItemKind[entry:get_kind()] +          local kind = require("cmp.types.lsp").CompletionItemKind[entry:get_kind()]            if kind == "Snippet" and ctx.prev_context.filetype == "java" then              return false            end @@ -277,24 +280,24 @@ M.config = function()        { name = "crates" },        { name = "tmux" },      }, -    mapping = cmp.mapping.preset.insert { -      ["<C-k>"] = cmp.mapping(cmp.mapping.select_prev_item(), { "i", "c" }), -      ["<C-j>"] = cmp.mapping(cmp.mapping.select_next_item(), { "i", "c" }), -      ["<Down>"] = cmp.mapping(cmp.mapping.select_next_item { behavior = cmp.SelectBehavior.Select }, { "i" }), -      ["<Up>"] = cmp.mapping(cmp.mapping.select_prev_item { behavior = cmp.SelectBehavior.Select }, { "i" }), -      ["<C-d>"] = cmp.mapping.scroll_docs(-4), -      ["<C-f>"] = cmp.mapping.scroll_docs(4), -      ["<C-y>"] = cmp.mapping { -        i = cmp.mapping.confirm { behavior = cmp.ConfirmBehavior.Replace, select = false }, +    mapping = cmp_mapping.preset.insert { +      ["<C-k>"] = cmp_mapping(cmp_mapping.select_prev_item(), { "i", "c" }), +      ["<C-j>"] = cmp_mapping(cmp_mapping.select_next_item(), { "i", "c" }), +      ["<Down>"] = cmp_mapping(cmp_mapping.select_next_item { behavior = SelectBehavior.Select }, { "i" }), +      ["<Up>"] = cmp_mapping(cmp_mapping.select_prev_item { behavior = SelectBehavior.Select }, { "i" }), +      ["<C-d>"] = cmp_mapping.scroll_docs(-4), +      ["<C-f>"] = cmp_mapping.scroll_docs(4), +      ["<C-y>"] = cmp_mapping { +        i = cmp_mapping.confirm { behavior = ConfirmBehavior.Replace, select = false },          c = function(fallback)            if cmp.visible() then -            cmp.confirm { behavior = cmp.ConfirmBehavior.Replace, select = false } +            cmp.confirm { behavior = ConfirmBehavior.Replace, select = false }            else              fallback()            end          end,        }, -      ["<Tab>"] = cmp.mapping(function(fallback) +      ["<Tab>"] = cmp_mapping(function(fallback)          if cmp.visible() then            cmp.select_next_item()          elseif luasnip.expand_or_locally_jumpable() then @@ -308,7 +311,7 @@ M.config = function()            fallback()          end        end, { "i", "s" }), -      ["<S-Tab>"] = cmp.mapping(function(fallback) +      ["<S-Tab>"] = cmp_mapping(function(fallback)          if cmp.visible() then            cmp.select_prev_item()          elseif luasnip.jumpable(-1) then @@ -317,16 +320,16 @@ M.config = function()            fallback()          end        end, { "i", "s" }), -      ["<C-Space>"] = cmp.mapping.complete(), -      ["<C-e>"] = cmp.mapping.abort(), -      ["<CR>"] = cmp.mapping(function(fallback) +      ["<C-Space>"] = cmp_mapping.complete(), +      ["<C-e>"] = cmp_mapping.abort(), +      ["<CR>"] = cmp_mapping(function(fallback)          if cmp.visible() then            local confirm_opts = vim.deepcopy(lvim.builtin.cmp.confirm_opts) -- avoid mutating the original opts below            local is_insert_mode = function()              return vim.api.nvim_get_mode().mode:sub(1, 1) == "i"            end            if is_insert_mode() then -- prevent overwriting brackets -            confirm_opts.behavior = cmp.ConfirmBehavior.Insert +            confirm_opts.behavior = ConfirmBehavior.Insert            end            if cmp.confirm(confirm_opts) then              return -- success, exit early | 
