about summary refs log tree commit diff stats
path: root/home-manager/soispha/config/neovim/nixvim/plugins/nvim-cmp/default.nix
blob: 2fd35272d06987a6c7040574af11f78d5790c4eb (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
{...}: {
  programs.nixvim.plugins.nvim-cmp = {
    /*
    TODO:; integrate this:
    ```lua
      enabled = {
      function()
          -- disable completion in comments
          local context = require 'cmp.config.context'
          -- keep command mode completion enabled when cursor is in a comment
          -- te
          if vim.api.nvim_get_mode().mode == 'c' then
              return true
          else
              return not context.in_treesitter_capture("comment")
                  and not context.in_syntax_group("Comment")
          end
      end
      },
    ```
    */
    enable = true;

    mapping = {
      # TODO: add support for desc and which key here
      "<C-d>" = {
        action = "cmp.mapping.scroll_docs(-4)";
        #desc = "Scroll up by four lines";
      };
      "<C-f>" = {
        action = "cmp.mapping.scroll_docs(4)";
        #desc = "Scroll down by four lines";
      };
      "HH" = {
        action = "cmp.mapping.complete()";
        #desc = "Confirm snipped";
      };
    };

    snippet.expand = "luasnip";

    sources = [
      {name = "nvim_lsp";}
      {name = "luasnip";}
    ];
  };
}