summary refs log tree commit diff
path: root/.vim/lua/internal/plugins/completion.lua
blob: db96085eda437d4b2e59da3827880935fcdeb227 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
return {
  {
    -- 'hrsh7th/nvim-cmp',
    'iguanacucumber/magazine.nvim', -- perf improvements
    name = 'nvim-cmp',

    lazy = false,
    -- event = {'InsertEnter', 'CmdlineEnter' },
    priority = 100,
    dependencies = {
      'hrsh7th/cmp-buffer',
      'hrsh7th/cmp-nvim-lsp',
      'https://codeberg.org/FelipeLema/cmp-async-path',
      -- 'hrsh7th/cmp-nvim-lua',
      'hrsh7th/cmp-nvim-lsp-signature-help', -- used to provide function signature completion
      'hrsh7th/cmp-cmdline',
      'dmitmel/cmp-cmdline-history',
      'hrsh7th/cmp-nvim-lsp-document-symbol', -- used by cmdline completion
      -- 'f3fora/cmp-spell',

      { 'L3MON4D3/LuaSnip', run = 'make install_jsregexp' },
      'saadparwaiz1/cmp_luasnip',

      'onsails/lspkind.nvim',
    },
    config = function()
      require('internal.snippets')
      require('internal.completion')
    end,
  },

  -- { -- TODO: try when it doesnt require nightly rust, i dont want binary blobs
  --
  --   'saghen/blink.cmp',
  --   lazy = false,
  --   -- use a release tag to download pre-built binaries
  --   -- version = 'v0.*',
  --   -- OR build from source, requires nightly: https://rust-lang.github.io/rustup/concepts/channels.html#working-with-nightly-rust
  --   build = 'cargo build --release',
  --
  --   opts = {
  --     highlight = {
  --       -- sets the fallback highlight groups to nvim-cmp's highlight groups
  --       -- useful for when your theme doesn't support blink.cmp
  --       -- will be removed in a future release, assuming themes add support
  --       use_nvim_cmp_as_default = true,
  --     },
  --
  --     -- set to 'mono' for 'Nerd Font Mono' or 'normal' for 'Nerd Font'
  --     -- adjusts spacing to ensure icons are aligned
  --     nerd_font_variant = 'normal',
  --
  --     -- experimental auto-brackets support
  --     -- accept = { auto_brackets = { enabled = true } }
  --
  --     -- experimental signature help support
  --     -- trigger = { signature_help = { enabled = true } }
  --   },
  -- },
}