浏览代码

feat(cmp): add configs for cmp.setup.cmdline (#3180)

Ali Almohaya 2 年之前
父节点
当前提交
5aec1756ce
共有 1 个文件被更改,包括 25 次插入12 次删除
  1. 25 12
      lua/lvim/core/cmp.lua

+ 25 - 12
lua/lvim/core/cmp.lua

@@ -334,6 +334,23 @@ M.config = function()
         fallback() -- if not exited early, always fallback
       end),
     },
+    cmdline = {
+      enable = true,
+      options = {
+        {
+          type = ":",
+          sources = {
+            { name = "path" },
+          },
+        },
+        {
+          type = { "/", "?" },
+          sources = {
+            { name = "buffer" },
+          },
+        },
+      },
+    },
   }
 end
 
@@ -341,18 +358,14 @@ function M.setup()
   local cmp = require "cmp"
   cmp.setup(lvim.builtin.cmp)
 
-  cmp.setup.cmdline(":", {
-    mapping = cmp.mapping.preset.cmdline(),
-    sources = {
-      { name = "path" },
-    },
-  })
-  cmp.setup.cmdline({ "/", "?" }, {
-    mapping = cmp.mapping.preset.cmdline(),
-    sources = {
-      { name = "buffer" },
-    },
-  })
+  if lvim.builtin.cmp.cmdline.enable then
+    for _, option in ipairs(lvim.builtin.cmp.cmdline.options) do
+      cmp.setup.cmdline(option.type, {
+        mapping = cmp.mapping.preset.cmdline(),
+        sources = option.sources,
+      })
+    end
+  end
 end
 
 return M