about summary refs log tree commit diff stats
path: root/modules/by-name/nv/nvim/plgs/nvim-cmp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--modules/by-name/nv/nvim/plgs/nvim-cmp/default.nix90
1 files changed, 49 insertions, 41 deletions
diff --git a/modules/by-name/nv/nvim/plgs/nvim-cmp/default.nix b/modules/by-name/nv/nvim/plgs/nvim-cmp/default.nix
index 80363ba4..f0754bd3 100644
--- a/modules/by-name/nv/nvim/plgs/nvim-cmp/default.nix
+++ b/modules/by-name/nv/nvim/plgs/nvim-cmp/default.nix
@@ -14,49 +14,57 @@
 }: let
   cfg = config.soispha.programs.nvim;
 in {
-  home-manager.users.soispha.programs.nixvim.plugins.cmp = lib.mkIf cfg.enable {
-    /*
-    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;
-    autoEnableSources = true;
-    settings = {
-      mapping = {
-        # TODO: add support for desc and which key here
-        "<C-d>" = "cmp.mapping.scroll_docs(-4)"; # desc = "Scroll up by four lines"
-        "<C-f>" = "cmp.mapping.scroll_docs(4)"; # desc = "Scroll down by four lines"
-        "HH" = "cmp.mapping.complete()"; # desc = "Confirm snipped"
-      };
+  home-manager.users.soispha.programs.nixvim = lib.mkIf cfg.enable {
+    opts.completeopt = [
+      "menu" # Show completions in a menu
+      "menuone" # Also open menu, when only one completion exists
+      "noselect" # Do not pre select one of the completions
+    ];
+
+    plugins.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;
+      autoEnableSources = true;
+      settings = {
+        mapping = {
+          # TODO: add support for desc and which key here
+          "<C-d>" = "cmp.mapping.scroll_docs(-4)"; # desc = "Scroll up by four lines"
+          "<C-f>" = "cmp.mapping.scroll_docs(4)"; # desc = "Scroll down by four lines"
+          "HH" = "cmp.mapping.complete()"; # desc = "Confirm snipped"
+        };
 
-      snippet.expand = "function(args) require('luasnip').lsp_expand(args.body) end";
+        snippet.expand = "function(args) require('luasnip').lsp_expand(args.body) end";
 
-      sources = [
-        {name = "nvim_lsp";}
-        {name = "luasnip";}
-        {name = "path";}
-        {name = "git";} # TODO: I might want to add config to allow all issues/prs <2023-10-16>
-        # {name = "convertionalcommits";} # TODO: Useless without commitlint [https://commitlint.js.org/] <2023-10-16>
-        # {name = "rg";} # TODO: This might really RIP-grep my system <2023-10-16>
-        # {name = "buffer";}
-        # {name = "digraphs";}
-        {name = "calc";}
-      ];
+        sources = [
+          {name = "nvim_lsp";}
+          {name = "luasnip";}
+          {name = "path";}
+          {name = "git";} # TODO: I might want to add config to allow all issues/prs <2023-10-16>
+          # {name = "convertionalcommits";} # TODO: Useless without commitlint [https://commitlint.js.org/] <2023-10-16>
+          # {name = "rg";} # TODO: This might really RIP-grep my system <2023-10-16>
+          # {name = "buffer";}
+          # {name = "digraphs";}
+          {name = "calc";}
+        ];
+      };
     };
   };
 }