summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/wee-config-file.c12
-rw-r--r--src/core/wee-hook.c34
-rw-r--r--src/core/wee-hook.h4
-rw-r--r--src/plugins/alias/alias-info.c3
-rw-r--r--src/plugins/fifo/fifo-info.c3
-rw-r--r--src/plugins/irc/irc-info.c18
-rw-r--r--src/plugins/logger/logger-info.c3
-rw-r--r--src/plugins/plugin-api.c55
-rw-r--r--src/plugins/scripts/lua/weechat-lua-api.c16
-rw-r--r--src/plugins/scripts/perl/weechat-perl-api.c16
-rw-r--r--src/plugins/scripts/python/weechat-python-api.c12
-rw-r--r--src/plugins/scripts/ruby/weechat-ruby-api.c26
-rw-r--r--src/plugins/scripts/script-api.c7
-rw-r--r--src/plugins/scripts/script-api.h2
-rw-r--r--src/plugins/weechat-plugin.h12
-rw-r--r--src/plugins/xfer/xfer-info.c3
16 files changed, 155 insertions, 71 deletions
diff --git a/src/core/wee-config-file.c b/src/core/wee-config-file.c
index fc136bc60..a972cd5c6 100644
--- a/src/core/wee-config-file.c
+++ b/src/core/wee-config-file.c
@@ -45,7 +45,7 @@ struct t_config_file *config_files = NULL;
struct t_config_file *last_config_file = NULL;
char *config_option_type_string[CONFIG_NUM_OPTION_TYPES] =
-{ "boolean", "integer", "string", "color" };
+{ N_("boolean"), N_("integer"), N_("string"), N_("color") };
char *config_boolean_true[] = { "on", "yes", "y", "true", "t", "1", NULL };
char *config_boolean_false[] = { "off", "no", "n", "false", "f", "0", NULL };
@@ -2182,16 +2182,16 @@ config_file_add_to_infolist (struct t_infolist *infolist,
}
if (!infolist_new_var_string (ptr_item,
"description",
- (ptr_option->description
- && ptr_option->description[0]) ?
- _(ptr_option->description) : ""))
+ ptr_option->description))
{
free (option_full_name);
return 0;
}
if (!infolist_new_var_string (ptr_item,
- "description_en",
- ptr_option->description))
+ "description_nls",
+ (ptr_option->description
+ && ptr_option->description[0]) ?
+ _(ptr_option->description) : ""))
{
free (option_full_name);
return 0;
diff --git a/src/core/wee-hook.c b/src/core/wee-hook.c
index e441b620f..d059c6d25 100644
--- a/src/core/wee-hook.c
+++ b/src/core/wee-hook.c
@@ -1331,6 +1331,7 @@ hook_modifier_exec (struct t_weechat_plugin *plugin, const char *modifier,
struct t_hook *
hook_info (struct t_weechat_plugin *plugin, const char *info_name,
+ const char *description,
t_hook_callback_info *callback, void *callback_data)
{
struct t_hook *new_hook;
@@ -1354,6 +1355,8 @@ hook_info (struct t_weechat_plugin *plugin, const char *info_name,
new_hook->hook_data = new_hook_info;
new_hook_info->callback = callback;
new_hook_info->info_name = strdup (info_name);
+ new_hook_info->description = (description) ?
+ strdup (description) : strdup ("");
hook_add_to_list (new_hook);
@@ -1413,6 +1416,7 @@ hook_info_get (struct t_weechat_plugin *plugin, const char *info_name,
struct t_hook *
hook_infolist (struct t_weechat_plugin *plugin, const char *infolist_name,
+ const char *description,
t_hook_callback_infolist *callback, void *callback_data)
{
struct t_hook *new_hook;
@@ -1436,6 +1440,8 @@ hook_infolist (struct t_weechat_plugin *plugin, const char *infolist_name,
new_hook->hook_data = new_hook_infolist;
new_hook_infolist->callback = callback;
new_hook_infolist->infolist_name = strdup (infolist_name);
+ new_hook_infolist->description = (description) ?
+ strdup (description) : strdup ("");
hook_add_to_list (new_hook);
@@ -1706,26 +1712,26 @@ hook_add_to_infolist_type (struct t_infolist *infolist,
return 0;
if (!infolist_new_var_integer (ptr_item, "level", HOOK_COMMAND(ptr_hook, level)))
return 0;
- if (!infolist_new_var_string (ptr_item, "description_en",
+ if (!infolist_new_var_string (ptr_item, "description",
HOOK_COMMAND(ptr_hook, description)))
return 0;
- if (!infolist_new_var_string (ptr_item, "description",
+ if (!infolist_new_var_string (ptr_item, "description_nls",
(HOOK_COMMAND(ptr_hook, description)
&& HOOK_COMMAND(ptr_hook, description)[0]) ?
_(HOOK_COMMAND(ptr_hook, description)) : ""))
return 0;
- if (!infolist_new_var_string (ptr_item, "args_en",
+ if (!infolist_new_var_string (ptr_item, "args",
HOOK_COMMAND(ptr_hook, args)))
return 0;
- if (!infolist_new_var_string (ptr_item, "args",
+ if (!infolist_new_var_string (ptr_item, "args_nls",
(HOOK_COMMAND(ptr_hook, args)
&& HOOK_COMMAND(ptr_hook, args)[0]) ?
_(HOOK_COMMAND(ptr_hook, args)) : ""))
return 0;
- if (!infolist_new_var_string (ptr_item, "args_description_en",
+ if (!infolist_new_var_string (ptr_item, "args_description",
HOOK_COMMAND(ptr_hook, args_description)))
return 0;
- if (!infolist_new_var_string (ptr_item, "args_description",
+ if (!infolist_new_var_string (ptr_item, "args_description_nls",
(HOOK_COMMAND(ptr_hook, args_description)
&& HOOK_COMMAND(ptr_hook, args_description)[0]) ?
_(HOOK_COMMAND(ptr_hook, args_description)) : ""))
@@ -1854,6 +1860,13 @@ hook_add_to_infolist_type (struct t_infolist *infolist,
return 0;
if (!infolist_new_var_string (ptr_item, "info_name", HOOK_INFO(ptr_hook, info_name)))
return 0;
+ if (!infolist_new_var_string (ptr_item, "description", HOOK_INFO(ptr_hook, description)))
+ return 0;
+ if (!infolist_new_var_string (ptr_item, "description_nls",
+ (HOOK_INFO(ptr_hook, description)
+ && HOOK_INFO(ptr_hook, description)[0]) ?
+ _(HOOK_INFO(ptr_hook, description)) : ""))
+ return 0;
}
break;
case HOOK_TYPE_INFOLIST:
@@ -1863,6 +1876,13 @@ hook_add_to_infolist_type (struct t_infolist *infolist,
return 0;
if (!infolist_new_var_string (ptr_item, "infolist_name", HOOK_INFOLIST(ptr_hook, infolist_name)))
return 0;
+ if (!infolist_new_var_string (ptr_item, "description", HOOK_INFOLIST(ptr_hook, description)))
+ return 0;
+ if (!infolist_new_var_string (ptr_item, "description_nls",
+ (HOOK_INFOLIST(ptr_hook, description)
+ && HOOK_INFOLIST(ptr_hook, description)[0]) ?
+ _(HOOK_INFOLIST(ptr_hook, description)) : ""))
+ return 0;
}
break;
case HOOK_NUM_TYPES:
@@ -2043,6 +2063,7 @@ hook_print_log ()
log_printf (" info data:");
log_printf (" callback . . . . . . : 0x%x", HOOK_INFO(ptr_hook, callback));
log_printf (" info_name. . . . . . : '%s'", HOOK_INFO(ptr_hook, info_name));
+ log_printf (" description. . . . . : '%s'", HOOK_INFO(ptr_hook, description));
}
break;
case HOOK_TYPE_INFOLIST:
@@ -2051,6 +2072,7 @@ hook_print_log ()
log_printf (" infolist data:");
log_printf (" callback . . . . . . : 0x%x", HOOK_INFOLIST(ptr_hook, callback));
log_printf (" infolist_name. . . . : '%s'", HOOK_INFOLIST(ptr_hook, infolist_name));
+ log_printf (" description. . . . . : '%s'", HOOK_INFOLIST(ptr_hook, description));
}
break;
case HOOK_NUM_TYPES:
diff --git a/src/core/wee-hook.h b/src/core/wee-hook.h
index 9faf49a81..566e4a119 100644
--- a/src/core/wee-hook.h
+++ b/src/core/wee-hook.h
@@ -202,6 +202,7 @@ struct t_hook_info
{
t_hook_callback_info *callback; /* info callback */
char *info_name; /* name of info returned */
+ char *description; /* description */
};
typedef struct t_infolist *(t_hook_callback_infolist)(void *data,
@@ -213,6 +214,7 @@ struct t_hook_infolist
{
t_hook_callback_infolist *callback; /* infolist callback */
char *infolist_name; /* name of infolist returned */
+ char *description; /* description */
};
/* hook variables */
@@ -297,6 +299,7 @@ extern char *hook_modifier_exec (struct t_weechat_plugin *plugin,
const char *string);
extern struct t_hook *hook_info (struct t_weechat_plugin *plugin,
const char *info_name,
+ const char *description,
t_hook_callback_info *callback,
void *callback_data);
extern char *hook_info_get (struct t_weechat_plugin *plugin,
@@ -304,6 +307,7 @@ extern char *hook_info_get (struct t_weechat_plugin *plugin,
const char *arguments);
extern struct t_hook *hook_infolist (struct t_weechat_plugin *plugin,
const char *infolist_name,
+ const char *description,
t_hook_callback_infolist *callback,
void *callback_data);
extern struct t_infolist *hook_infolist_get (struct t_weechat_plugin *plugin,
diff --git a/src/plugins/alias/alias-info.c b/src/plugins/alias/alias-info.c
index 829d228e1..2a8e7a2e9 100644
--- a/src/plugins/alias/alias-info.c
+++ b/src/plugins/alias/alias-info.c
@@ -89,5 +89,6 @@ void
alias_info_init ()
{
/* alias infolist hooks */
- weechat_hook_infolist ("alias", &alias_info_get_infolist_cb, NULL);
+ weechat_hook_infolist ("alias", N_("list of alias"),
+ &alias_info_get_infolist_cb, NULL);
}
diff --git a/src/plugins/fifo/fifo-info.c b/src/plugins/fifo/fifo-info.c
index e9f46f5a6..20a4df336 100644
--- a/src/plugins/fifo/fifo-info.c
+++ b/src/plugins/fifo/fifo-info.c
@@ -53,5 +53,6 @@ void
fifo_info_init ()
{
/* fifo info hooks */
- weechat_hook_info ("fifo_filename", &fifo_info_get_info_cb, NULL);
+ weechat_hook_info ("fifo_filename", N_("fifo filename"),
+ &fifo_info_get_info_cb, NULL);
}
diff --git a/src/plugins/irc/irc-info.c b/src/plugins/irc/irc-info.c
index f70f031c5..ec654a549 100644
--- a/src/plugins/irc/irc-info.c
+++ b/src/plugins/irc/irc-info.c
@@ -326,12 +326,18 @@ void
irc_info_init ()
{
/* irc info hooks */
- weechat_hook_info ("irc_is_channel", &irc_info_get_info_cb, NULL);
- weechat_hook_info ("irc_nick_from_host", &irc_info_get_info_cb, NULL);
- weechat_hook_info ("irc_buffer", &irc_info_get_info_cb, NULL);
+ weechat_hook_info ("irc_is_channel", N_("1 if string is an IRC channel"),
+ &irc_info_get_info_cb, NULL);
+ weechat_hook_info ("irc_nick_from_host", N_("get nick from IRC host"),
+ &irc_info_get_info_cb, NULL);
+ weechat_hook_info ("irc_buffer", N_("get buffer pointer for an IRC server/channel"),
+ &irc_info_get_info_cb, NULL);
/* irc infolist hooks */
- weechat_hook_infolist ("irc_server", &irc_info_get_infolist_cb, NULL);
- weechat_hook_infolist ("irc_channel", &irc_info_get_infolist_cb, NULL);
- weechat_hook_infolist ("irc_nick", &irc_info_get_infolist_cb, NULL);
+ weechat_hook_infolist ("irc_server", N_("list of IRC servers"),
+ &irc_info_get_infolist_cb, NULL);
+ weechat_hook_infolist ("irc_channel", N_("list of channels for an IRC server"),
+ &irc_info_get_infolist_cb, NULL);
+ weechat_hook_infolist ("irc_nick", N_("list of nicks for an IRC channel"),
+ &irc_info_get_infolist_cb, NULL);
}
diff --git a/src/plugins/logger/logger-info.c b/src/plugins/logger/logger-info.c
index 0e75f7eb6..58266fe0f 100644
--- a/src/plugins/logger/logger-info.c
+++ b/src/plugins/logger/logger-info.c
@@ -92,5 +92,6 @@ void
logger_info_init ()
{
/* irc infolist hooks */
- weechat_hook_infolist ("logger_buffer", &logger_info_get_infolist_cb, NULL);
+ weechat_hook_infolist ("logger_buffer", N_("list of logger buffers"),
+ &logger_info_get_infolist_cb, NULL);
}
diff --git a/src/plugins/plugin-api.c b/src/plugins/plugin-api.c
index 95bbb039e..c1ce8e414 100644
--- a/src/plugins/plugin-api.c
+++ b/src/plugins/plugin-api.c
@@ -675,25 +675,42 @@ void
plugin_api_init ()
{
/* WeeChat core info hooks */
- hook_info (NULL, "version", &plugin_api_info_get_internal, NULL);
- hook_info (NULL, "date", &plugin_api_info_get_internal, NULL);
- hook_info (NULL, "dir_separator", &plugin_api_info_get_internal, NULL);
- hook_info (NULL, "weechat_dir", &plugin_api_info_get_internal, NULL);
- hook_info (NULL, "weechat_libdir", &plugin_api_info_get_internal, NULL);
- hook_info (NULL, "weechat_sharedir", &plugin_api_info_get_internal, NULL);
- hook_info (NULL, "weechat_localedir", &plugin_api_info_get_internal, NULL);
- hook_info (NULL, "charset_terminal", &plugin_api_info_get_internal, NULL);
- hook_info (NULL, "charset_internal", &plugin_api_info_get_internal, NULL);
- hook_info (NULL, "inactivity", &plugin_api_info_get_internal, NULL);
- hook_info (NULL, "filters_enabled", &plugin_api_info_get_internal, NULL);
+ hook_info (NULL, "version", N_("WeeChat version"),
+ &plugin_api_info_get_internal, NULL);
+ hook_info (NULL, "date", N_("WeeChat compilation date"),
+ &plugin_api_info_get_internal, NULL);
+ hook_info (NULL, "dir_separator", N_("directory separator"),
+ &plugin_api_info_get_internal, NULL);
+ hook_info (NULL, "weechat_dir", N_("WeeChat directory"),
+ &plugin_api_info_get_internal, NULL);
+ hook_info (NULL, "weechat_libdir", N_("WeeChat \"lib\" directory"),
+ &plugin_api_info_get_internal, NULL);
+ hook_info (NULL, "weechat_sharedir", N_("WeeChat \"share\" directory"),
+ &plugin_api_info_get_internal, NULL);
+ hook_info (NULL, "weechat_localedir", N_("WeeChat \"locale\" directory"),
+ &plugin_api_info_get_internal, NULL);
+ hook_info (NULL, "charset_terminal", N_("terminal charset"),
+ &plugin_api_info_get_internal, NULL);
+ hook_info (NULL, "charset_internal", N_("WeeChat internal charset"),
+ &plugin_api_info_get_internal, NULL);
+ hook_info (NULL, "inactivity", N_("keyboard inactivity (seconds)"),
+ &plugin_api_info_get_internal, NULL);
+ hook_info (NULL, "filters_enabled", N_("1 if filters are enabled"),
+ &plugin_api_info_get_internal, NULL);
/* WeeChat core infolist hooks */
- hook_infolist (NULL, "buffer", &plugin_api_infolist_get_internal, NULL);
- hook_infolist (NULL, "buffer_lines", &plugin_api_infolist_get_internal, NULL);
- hook_infolist (NULL, "buffer", &plugin_api_infolist_get_internal, NULL);
- hook_infolist (NULL, "nicklist", &plugin_api_infolist_get_internal, NULL);
- hook_infolist (NULL, "window", &plugin_api_infolist_get_internal, NULL);
- hook_infolist (NULL, "hotlist", &plugin_api_infolist_get_internal, NULL);
- hook_infolist (NULL, "option", &plugin_api_infolist_get_internal, NULL);
- hook_infolist (NULL, "hook", &plugin_api_infolist_get_internal, NULL);
+ hook_infolist (NULL, "buffer", N_("list of buffers"),
+ &plugin_api_infolist_get_internal, NULL);
+ hook_infolist (NULL, "buffer_lines", N_("lines of a buffer"),
+ &plugin_api_infolist_get_internal, NULL);
+ hook_infolist (NULL, "nicklist", N_("nicks in nicklist for a buffer"),
+ &plugin_api_infolist_get_internal, NULL);
+ hook_infolist (NULL, "window", N_("list of windows"),
+ &plugin_api_infolist_get_internal, NULL);
+ hook_infolist (NULL, "hotlist", N_("list of buffers in hotlist"),
+ &plugin_api_infolist_get_internal, NULL);
+ hook_infolist (NULL, "option", N_("list of options"),
+ &plugin_api_infolist_get_internal, NULL);
+ hook_infolist (NULL, "hook", N_("list of hooks"),
+ &plugin_api_infolist_get_internal, NULL);
}
diff --git a/src/plugins/scripts/lua/weechat-lua-api.c b/src/plugins/scripts/lua/weechat-lua-api.c
index 3b6c05323..9f4f1dd12 100644
--- a/src/plugins/scripts/lua/weechat-lua-api.c
+++ b/src/plugins/scripts/lua/weechat-lua-api.c
@@ -3105,7 +3105,7 @@ weechat_lua_api_hook_info_cb (void *data, const char *info_name,
static int
weechat_lua_api_hook_info (lua_State *L)
{
- const char *info_name, *function;
+ const char *info_name, *description, *function;
char *result;
int n;
@@ -3123,18 +3123,20 @@ weechat_lua_api_hook_info (lua_State *L)
n = lua_gettop (lua_current_interpreter);
- if (n < 2)
+ if (n < 3)
{
WEECHAT_SCRIPT_MSG_WRONG_ARGUMENTS("hook_info");
LUA_RETURN_EMPTY;
}
- info_name = lua_tostring (lua_current_interpreter, -2);
+ info_name = lua_tostring (lua_current_interpreter, -3);
+ description = lua_tostring (lua_current_interpreter, -2);
function = lua_tostring (lua_current_interpreter, -1);
result = script_ptr2str (script_api_hook_info (weechat_lua_plugin,
lua_current_script,
info_name,
+ description,
&weechat_lua_api_hook_info_cb,
function));
@@ -3178,7 +3180,7 @@ weechat_lua_api_hook_infolist_cb (void *data, const char *info_name,
static int
weechat_lua_api_hook_infolist (lua_State *L)
{
- const char *infolist_name, *function;
+ const char *infolist_name, *description, *function;
char *result;
int n;
@@ -3196,18 +3198,20 @@ weechat_lua_api_hook_infolist (lua_State *L)
n = lua_gettop (lua_current_interpreter);
- if (n < 2)
+ if (n < 3)
{
WEECHAT_SCRIPT_MSG_WRONG_ARGUMENTS("hook_infolist");
LUA_RETURN_EMPTY;
}
- infolist_name = lua_tostring (lua_current_interpreter, -2);
+ infolist_name = lua_tostring (lua_current_interpreter, -3);
+ description = lua_tostring (lua_current_interpreter, -2);
function = lua_tostring (lua_current_interpreter, -1);
result = script_ptr2str (script_api_hook_infolist (weechat_lua_plugin,
lua_current_script,
infolist_name,
+ description,
&weechat_lua_api_hook_infolist_cb,
function));
diff --git a/src/plugins/scripts/perl/weechat-perl-api.c b/src/plugins/scripts/perl/weechat-perl-api.c
index d5257267e..c7842db10 100644
--- a/src/plugins/scripts/perl/weechat-perl-api.c
+++ b/src/plugins/scripts/perl/weechat-perl-api.c
@@ -2597,7 +2597,7 @@ weechat_perl_api_hook_info_cb (void *data, const char *info_name,
static XS (XS_weechat_hook_info)
{
- char *result, *info_name, *perl_fn;
+ char *result, *info_name, *description, *perl_fn;
dXSARGS;
/* make C compiler happy */
@@ -2609,17 +2609,19 @@ static XS (XS_weechat_hook_info)
PERL_RETURN_EMPTY;
}
- if (items < 2)
+ if (items < 3)
{
WEECHAT_SCRIPT_MSG_WRONG_ARGUMENTS("hook_info");
PERL_RETURN_EMPTY;
}
info_name = SvPV (ST (0), PL_na);
- perl_fn = SvPV (ST (1), PL_na);
+ description = SvPV (ST (1), PL_na);
+ perl_fn = SvPV (ST (2), PL_na);
result = script_ptr2str (script_api_hook_info (weechat_perl_plugin,
perl_current_script,
info_name,
+ description,
&weechat_perl_api_hook_info_cb,
perl_fn));
@@ -2662,7 +2664,7 @@ weechat_perl_api_hook_infolist_cb (void *data, const char *infolist_name,
static XS (XS_weechat_hook_infolist)
{
- char *result, *infolist_name, *perl_fn;
+ char *result, *infolist_name, *description, *perl_fn;
dXSARGS;
/* make C compiler happy */
@@ -2674,17 +2676,19 @@ static XS (XS_weechat_hook_infolist)
PERL_RETURN_EMPTY;
}
- if (items < 2)
+ if (items < 3)
{
WEECHAT_SCRIPT_MSG_WRONG_ARGUMENTS("hook_infolist");
PERL_RETURN_EMPTY;
}
infolist_name = SvPV (ST (0), PL_na);
- perl_fn = SvPV (ST (1), PL_na);
+ description = SvPV (ST (1), PL_na);
+ perl_fn = SvPV (ST (2), PL_na);
result = script_ptr2str (script_api_hook_infolist (weechat_perl_plugin,
perl_current_script,
infolist_name,
+ description,
&weechat_perl_api_hook_infolist_cb,
perl_fn));
diff --git a/src/plugins/scripts/python/weechat-python-api.c b/src/plugins/scripts/python/weechat-python-api.c
index 2ff23794c..64e788f99 100644
--- a/src/plugins/scripts/python/weechat-python-api.c
+++ b/src/plugins/scripts/python/weechat-python-api.c
@@ -2754,7 +2754,7 @@ weechat_python_api_hook_info_cb (void *data, const char *info_name,
static PyObject *
weechat_python_api_hook_info (PyObject *self, PyObject *args)
{
- char *info_name, *function, *result;
+ char *info_name, *description, *function, *result;
PyObject *object;
/* make C compiler happy */
@@ -2767,9 +2767,10 @@ weechat_python_api_hook_info (PyObject *self, PyObject *args)
}
info_name = NULL;
+ description = NULL;
function = NULL;
- if (!PyArg_ParseTuple (args, "ss", &info_name, &function))
+ if (!PyArg_ParseTuple (args, "sss", &info_name, &description, &function))
{
WEECHAT_SCRIPT_MSG_WRONG_ARGUMENTS("hook_info");
PYTHON_RETURN_EMPTY;
@@ -2778,6 +2779,7 @@ weechat_python_api_hook_info (PyObject *self, PyObject *args)
result = script_ptr2str(script_api_hook_info (weechat_python_plugin,
python_current_script,
info_name,
+ description,
&weechat_python_api_hook_info_cb,
function));
@@ -2821,7 +2823,7 @@ weechat_python_api_hook_infolist_cb (void *data, const char *infolist_name,
static PyObject *
weechat_python_api_hook_infolist (PyObject *self, PyObject *args)
{
- char *infolist_name, *function, *result;
+ char *infolist_name, *description, *function, *result;
PyObject *object;
/* make C compiler happy */
@@ -2834,9 +2836,10 @@ weechat_python_api_hook_infolist (PyObject *self, PyObject *args)
}
infolist_name = NULL;
+ description = NULL;
function = NULL;
- if (!PyArg_ParseTuple (args, "ss", &infolist_name, &function))
+ if (!PyArg_ParseTuple (args, "sss", &infolist_name, &description, &function))
{
WEECHAT_SCRIPT_MSG_WRONG_ARGUMENTS("hook_infolist");
PYTHON_RETURN_EMPTY;
@@ -2845,6 +2848,7 @@ weechat_python_api_hook_infolist (PyObject *self, PyObject *args)
result = script_ptr2str(script_api_hook_infolist (weechat_python_plugin,
python_current_script,
infolist_name,
+ description,
&weechat_python_api_hook_infolist_cb,
function));
diff --git a/src/plugins/scripts/ruby/weechat-ruby-api.c b/src/plugins/scripts/ruby/weechat-ruby-api.c
index 25a1e2cb4..81987d1dc 100644
--- a/src/plugins/scripts/ruby/weechat-ruby-api.c
+++ b/src/plugins/scripts/ruby/weechat-ruby-api.c
@@ -3162,9 +3162,10 @@ weechat_ruby_api_hook_info_cb (void *data, const char *info_name,
*/
static VALUE
-weechat_ruby_api_hook_info (VALUE class, VALUE info_name, VALUE function)
+weechat_ruby_api_hook_info (VALUE class, VALUE info_name, VALUE description,
+ VALUE function)
{
- char *c_info_name, *c_function, *result;
+ char *c_info_name, *c_description, *c_function, *result;
VALUE return_value;
/* make C compiler happy */
@@ -3177,23 +3178,27 @@ weechat_ruby_api_hook_info (VALUE class, VALUE info_name, VALUE function)
}
c_info_name = NULL;
+ c_description = NULL;
c_function = NULL;
- if (NIL_P (info_name) || NIL_P (function))
+ if (NIL_P (info_name) || NIL_P (description) || NIL_P (function))
{
WEECHAT_SCRIPT_MSG_WRONG_ARGUMENTS("hook_info");
RUBY_RETURN_EMPTY;
}
Check_Type (info_name, T_STRING);
+ Check_Type (description, T_STRING);
Check_Type (function, T_STRING);
c_info_name = STR2CSTR (info_name);
+ c_description = STR2CSTR (description);
c_function = STR2CSTR (function);
result = script_ptr2str (script_api_hook_info (weechat_ruby_plugin,
ruby_current_script,
c_info_name,
+ c_description,
&weechat_ruby_api_hook_info_cb,
c_function));
@@ -3235,9 +3240,10 @@ weechat_ruby_api_hook_infolist_cb (void *data, const char *infolist_name,
*/
static VALUE
-weechat_ruby_api_hook_infolist (VALUE class, VALUE infolist_name, VALUE function)
+weechat_ruby_api_hook_infolist (VALUE class, VALUE infolist_name,
+ VALUE description, VALUE function)
{
- char *c_infolist_name, *c_function, *result;
+ char *c_infolist_name, *c_description, *c_function, *result;
VALUE return_value;
/* make C compiler happy */
@@ -3250,23 +3256,27 @@ weechat_ruby_api_hook_infolist (VALUE class, VALUE infolist_name, VALUE function
}
c_infolist_name = NULL;
+ c_description = NULL;
c_function = NULL;
- if (NIL_P (infolist_name) || NIL_P (function))
+ if (NIL_P (infolist_name) || NIL_P (description) || NIL_P (function))
{
WEECHAT_SCRIPT_MSG_WRONG_ARGUMENTS("hook_infolist");
RUBY_RETURN_EMPTY;
}
Check_Type (infolist_name, T_STRING);
+ Check_Type (description, T_STRING);
Check_Type (function, T_STRING);
c_infolist_name = STR2CSTR (infolist_name);
+ c_description = STR2CSTR (description);
c_function = STR2CSTR (function);
result = script_ptr2str (script_api_hook_infolist (weechat_ruby_plugin,
ruby_current_script,
c_infolist_name,
+ c_description,
&weechat_ruby_api_hook_infolist_cb,
c_function));
@@ -4964,8 +4974,8 @@ weechat_ruby_api_init (VALUE ruby_mWeechat)
rb_define_module_function (ruby_mWeechat, "hook_completion_list_add", &weechat_ruby_api_hook_completion_list_add, 4);
rb_define_module_function (ruby_mWeechat, "hook_modifier", &weechat_ruby_api_hook_modifier, 2);
rb_define_module_function (ruby_mWeechat, "hook_modifier_exec", &weechat_ruby_api_hook_modifier_exec, 3);
- rb_define_module_function (ruby_mWeechat, "hook_info", &weechat_ruby_api_hook_info, 2);
- rb_define_module_function (ruby_mWeechat, "hook_infolist", &weechat_ruby_api_hook_infolist, 2);
+ rb_define_module_function (ruby_mWeechat, "hook_info", &weechat_ruby_api_hook_info, 3);
+ rb_define_module_function (ruby_mWeechat, "hook_infolist", &weechat_ruby_api_hook_infolist, 3);
rb_define_module_function (ruby_mWeechat, "unhook", &weechat_ruby_api_unhook, 1);
rb_define_module_function (ruby_mWeechat, "unhook_all", &weechat_ruby_api_unhook_all, 0);
rb_define_module_function (ruby_mWeechat, "buffer_new", &weechat_ruby_api_buffer_new, 4);
diff --git a/src/plugins/scripts/script-api.c b/src/plugins/scripts/script-api.c
index baeab5559..d304e40ec 100644
--- a/src/plugins/scripts/script-api.c
+++ b/src/plugins/scripts/script-api.c
@@ -884,6 +884,7 @@ struct t_hook *
script_api_hook_info (struct t_weechat_plugin *weechat_plugin,
struct t_plugin_script *script,
const char *info_name,
+ const char *description,
char *(*callback)(void *data,
const char *info_name,
const char *arguments),
@@ -896,7 +897,8 @@ script_api_hook_info (struct t_weechat_plugin *weechat_plugin,
if (!new_script_callback)
return NULL;
- new_hook = weechat_hook_info (info_name, callback, new_script_callback);
+ new_hook = weechat_hook_info (info_name, description,
+ callback, new_script_callback);
if (!new_hook)
{
script_callback_free_data (new_script_callback);
@@ -922,6 +924,7 @@ struct t_hook *
script_api_hook_infolist (struct t_weechat_plugin *weechat_plugin,
struct t_plugin_script *script,
const char *infolist_name,
+ const char *description,
struct t_infolist *(*callback)(void *data,
const char *infolist_name,
void *pointer,
@@ -935,7 +938,7 @@ script_api_hook_infolist (struct t_weechat_plugin *weechat_plugin,
if (!new_script_callback)
return NULL;
- new_hook = weechat_hook_infolist (infolist_name,
+ new_hook = weechat_hook_infolist (infolist_name, description,
callback, new_script_callback);
if (!new_hook)
{
diff --git a/src/plugins/scripts/script-api.h b/src/plugins/scripts/script-api.h
index f437275b5..1c09892a8 100644
--- a/src/plugins/scripts/script-api.h
+++ b/src/plugins/scripts/script-api.h
@@ -153,6 +153,7 @@ extern struct t_hook *script_api_hook_modifier (struct t_weechat_plugin *weechat
extern struct t_hook *script_api_hook_info (struct t_weechat_plugin *weechat_plugin,
struct t_plugin_script *script,
const char *info_name,
+ const char *description,
char *(*callback)(void *data,
const char *info_name,
const char *arguments),
@@ -160,6 +161,7 @@ extern struct t_hook *script_api_hook_info (struct t_weechat_plugin *weechat_plu
extern struct t_hook *script_api_hook_infolist (struct t_weechat_plugin *weechat_plugin,
struct t_plugin_script *script,
const char *infolist_name,
+ const char *description,
struct t_infolist *(*callback)(void *data,
const char *infolist_name,
void *pointer,
diff --git a/src/plugins/weechat-plugin.h b/src/plugins/weechat-plugin.h
index 058ff2e02..a3a77616b 100644
--- a/src/plugins/weechat-plugin.h
+++ b/src/plugins/weechat-plugin.h
@@ -370,12 +370,14 @@ struct t_weechat_plugin
const char *string);
struct t_hook *(*hook_info) (struct t_weechat_plugin *plugin,
const char *info_name,
+ const char *description,
char *(*callback)(void *data,
const char *info_name,
const char *arguments),
void *callback_data);
struct t_hook *(*hook_infolist) (struct t_weechat_plugin *plugin,
const char *infolist_name,
+ const char *description,
struct t_infolist *(*callback)(void *data,
const char *infolist_name,
void *pointer,
@@ -836,12 +838,14 @@ extern int weechat_plugin_end (struct t_weechat_plugin *plugin);
__string) \
weechat_plugin->hook_modifier_exec(weechat_plugin, __modifier, \
__modifier_data, __string)
-#define weechat_hook_info(__info_name, __callback, __data) \
+#define weechat_hook_info(__info_name, __description, __callback, \
+ __data) \
weechat_plugin->hook_info(weechat_plugin, __info_name, \
- __callback, __data)
-#define weechat_hook_infolist(__infolist_name, __callback, __data) \
+ __description, __callback, __data)
+#define weechat_hook_infolist(__infolist_name, __description, \
+ __callback, __data) \
weechat_plugin->hook_infolist(weechat_plugin, __infolist_name, \
- __callback, __data)
+ __description, __callback, __data)
#define weechat_unhook(__hook) \
weechat_plugin->unhook( __hook)
#define weechat_unhook_all() \
diff --git a/src/plugins/xfer/xfer-info.c b/src/plugins/xfer/xfer-info.c
index 762c5cba3..1472adf5c 100644
--- a/src/plugins/xfer/xfer-info.c
+++ b/src/plugins/xfer/xfer-info.c
@@ -90,5 +90,6 @@ void
xfer_info_init ()
{
/* xfer infolist hooks */
- weechat_hook_infolist ("xfer", &xfer_info_get_infolist_cb, NULL);
+ weechat_hook_infolist ("xfer", N_("list of xfer"),
+ &xfer_info_get_infolist_cb, NULL);
}