summaryrefslogtreecommitdiff
path: root/lua/blink/cmp/config/completion/init.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/blink/cmp/config/completion/init.lua')
-rw-r--r--lua/blink/cmp/config/completion/init.lua42
1 files changed, 42 insertions, 0 deletions
diff --git a/lua/blink/cmp/config/completion/init.lua b/lua/blink/cmp/config/completion/init.lua
new file mode 100644
index 0000000..24407ff
--- /dev/null
+++ b/lua/blink/cmp/config/completion/init.lua
@@ -0,0 +1,42 @@
+--- @class (exact) blink.cmp.CompletionConfig
+--- @field keyword blink.cmp.CompletionKeywordConfig
+--- @field trigger blink.cmp.CompletionTriggerConfig
+--- @field list blink.cmp.CompletionListConfig
+--- @field accept blink.cmp.CompletionAcceptConfig
+--- @field menu blink.cmp.CompletionMenuConfig
+--- @field documentation blink.cmp.CompletionDocumentationConfig
+--- @field ghost_text blink.cmp.CompletionGhostTextConfig
+
+local validate = require('blink.cmp.config.utils').validate
+local completion = {
+ default = {
+ keyword = require('blink.cmp.config.completion.keyword').default,
+ trigger = require('blink.cmp.config.completion.trigger').default,
+ list = require('blink.cmp.config.completion.list').default,
+ accept = require('blink.cmp.config.completion.accept').default,
+ menu = require('blink.cmp.config.completion.menu').default,
+ documentation = require('blink.cmp.config.completion.documentation').default,
+ ghost_text = require('blink.cmp.config.completion.ghost_text').default,
+ },
+}
+
+function completion.validate(config)
+ validate('completion', {
+ keyword = { config.keyword, 'table' },
+ trigger = { config.trigger, 'table' },
+ list = { config.list, 'table' },
+ accept = { config.accept, 'table' },
+ menu = { config.menu, 'table' },
+ documentation = { config.documentation, 'table' },
+ ghost_text = { config.ghost_text, 'table' },
+ }, config)
+ require('blink.cmp.config.completion.keyword').validate(config.keyword)
+ require('blink.cmp.config.completion.trigger').validate(config.trigger)
+ require('blink.cmp.config.completion.list').validate(config.list)
+ require('blink.cmp.config.completion.accept').validate(config.accept)
+ require('blink.cmp.config.completion.menu').validate(config.menu)
+ require('blink.cmp.config.completion.documentation').validate(config.documentation)
+ require('blink.cmp.config.completion.ghost_text').validate(config.ghost_text)
+end
+
+return completion