summaryrefslogtreecommitdiff
path: root/lua/blink/cmp/signature/init.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/blink/cmp/signature/init.lua')
-rw-r--r--lua/blink/cmp/signature/init.lua25
1 files changed, 25 insertions, 0 deletions
diff --git a/lua/blink/cmp/signature/init.lua b/lua/blink/cmp/signature/init.lua
new file mode 100644
index 0000000..8c70032
--- /dev/null
+++ b/lua/blink/cmp/signature/init.lua
@@ -0,0 +1,25 @@
+local signature = {}
+
+function signature.setup()
+ local trigger = require('blink.cmp.signature.trigger')
+ trigger.activate()
+ local window = require('blink.cmp.signature.window')
+
+ local sources = require('blink.cmp.sources.lib')
+
+ trigger.show_emitter:on(function(event)
+ local context = event.context
+ sources.cancel_signature_help()
+ sources.get_signature_help(context, function(signature_help)
+ if signature_help ~= nil and trigger.context ~= nil and trigger.context.id == context.id then
+ trigger.set_active_signature_help(signature_help)
+ window.open_with_signature_help(context, signature_help)
+ else
+ trigger.hide()
+ end
+ end)
+ end)
+ trigger.hide_emitter:on(function() window.close() end)
+end
+
+return signature