mirror of
https://github.com/profanity-im/profanity.git
synced 2024-12-04 14:46:46 -05:00
Added autocompleter to Ruby API
This commit is contained in:
parent
f4c02e9875
commit
e51de63178
@ -27,6 +27,7 @@
|
|||||||
#include "plugins/api.h"
|
#include "plugins/api.h"
|
||||||
#include "plugins/ruby_api.h"
|
#include "plugins/ruby_api.h"
|
||||||
#include "plugins/callbacks.h"
|
#include "plugins/callbacks.h"
|
||||||
|
#include "plugins/autocompleters.h"
|
||||||
|
|
||||||
static VALUE
|
static VALUE
|
||||||
ruby_api_cons_alert(VALUE self)
|
ruby_api_cons_alert(VALUE self)
|
||||||
@ -74,6 +75,27 @@ ruby_api_register_timed(VALUE self, VALUE v_callback, VALUE v_interval_seconds)
|
|||||||
return Qnil;
|
return Qnil;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static VALUE
|
||||||
|
ruby_api_register_ac(VALUE self, VALUE v_key, VALUE v_items)
|
||||||
|
{
|
||||||
|
const char *key = STR2CSTR(v_key);
|
||||||
|
int len = RARRAY_LEN(v_items);
|
||||||
|
VALUE *items = RARRAY_PTR(v_items);
|
||||||
|
|
||||||
|
char *c_items[len];
|
||||||
|
|
||||||
|
int i = 0;
|
||||||
|
for (i = 0; i < len; i++) {
|
||||||
|
char *c_item = STR2CSTR(items[i]);
|
||||||
|
c_items[i] = c_item;
|
||||||
|
}
|
||||||
|
c_items[len] = NULL;
|
||||||
|
|
||||||
|
autocompleters_add(key, c_items);
|
||||||
|
|
||||||
|
return Qnil;
|
||||||
|
}
|
||||||
|
|
||||||
static VALUE
|
static VALUE
|
||||||
ruby_api_notify(VALUE self, VALUE v_message, VALUE v_timeout_ms, VALUE v_category)
|
ruby_api_notify(VALUE self, VALUE v_message, VALUE v_timeout_ms, VALUE v_category)
|
||||||
{
|
{
|
||||||
@ -286,6 +308,7 @@ ruby_api_init(void)
|
|||||||
rb_define_module_function(prof_module, "cons_show", RUBY_METHOD_FUNC(ruby_api_cons_show), 1);
|
rb_define_module_function(prof_module, "cons_show", RUBY_METHOD_FUNC(ruby_api_cons_show), 1);
|
||||||
rb_define_module_function(prof_module, "register_command", RUBY_METHOD_FUNC(ruby_api_register_command), 7);
|
rb_define_module_function(prof_module, "register_command", RUBY_METHOD_FUNC(ruby_api_register_command), 7);
|
||||||
rb_define_module_function(prof_module, "register_timed", RUBY_METHOD_FUNC(ruby_api_register_timed), 2);
|
rb_define_module_function(prof_module, "register_timed", RUBY_METHOD_FUNC(ruby_api_register_timed), 2);
|
||||||
|
rb_define_module_function(prof_module, "register_ac", RUBY_METHOD_FUNC(ruby_api_register_ac), 2);
|
||||||
rb_define_module_function(prof_module, "send_line", RUBY_METHOD_FUNC(ruby_api_send_line), 1);
|
rb_define_module_function(prof_module, "send_line", RUBY_METHOD_FUNC(ruby_api_send_line), 1);
|
||||||
rb_define_module_function(prof_module, "notify", RUBY_METHOD_FUNC(ruby_api_notify), 3);
|
rb_define_module_function(prof_module, "notify", RUBY_METHOD_FUNC(ruby_api_notify), 3);
|
||||||
rb_define_module_function(prof_module, "get_current_recipient", RUBY_METHOD_FUNC(ruby_api_get_current_recipient), 0);
|
rb_define_module_function(prof_module, "get_current_recipient", RUBY_METHOD_FUNC(ruby_api_get_current_recipient), 0);
|
||||||
|
Loading…
Reference in New Issue
Block a user